rpi pico warning pri kompilacii

Lukac Michal Michal.Lukac na fstroj.uniza.sk
Pátek Prosinec 30 17:09:22 CET 2022


Ja som to pochopil tak ze ked sa pouzije ten toolchain pre arm pre kompilaciu kodu ktory bezi bez OS (bare metal ci jak sa to nazyva)
tak ak sa pouzivaju standartne volania stdio, printf, puts,... tak je potrebne si ten kod pre presmerovanie vstupu/vystupu k HW napisat pre konkretny hw. V tom SDK pre RP2040 jo presmerovane na uart1 alebo USB a asi fcia _close sa nevyuziva tak nebola implentovana.  Ja som si tam pridal do svojho kodu prazdne fcie a uz je to bez warningu. 

Nasiel som priklad tu:
https://www.cnblogs.com/milton/p/16755173.html

__attribute__((weak)) int _close(int fd)
{
    if (fd >= STDIN_FILENO && fd <= STDERR_FILENO)
        return 0;
     errno = EBADF;
    return -1;
}
 
__attribute__((weak)) int _lseek(int fd, int ptr, int dir)
{
    (void)fd;
    (void)ptr;
    (void)dir;
     errno = EBADF;
    return -1;
}
  

m.

> -----Original Message-----
> From: Hw-list <hw-list-bounces na list.hw.cz> On Behalf Of Miroslav Mraz
> Sent: Thursday, December 29, 2022 1:08 PM
> To: hw-list na list.hw.cz
> Subject: Re: rpi pico warning pri kompilacii
> 
> Jen tak obecně. Zdá se, že toolchain používá z nějakého důvodu knihovnu
> newlib. Funkce jako _close_r() je reentrantní obal na _close(), což je
> systémové volání jádra. Připadá mi to tak, že to prostě není v newlib ještě
> doděláno, protože 64.bitový systém na ARM je poměrně nový a je
> pravděpodobné, že se systémová volání mohou lišit podle verze jádra OS.
> Cross kompilace na Windows musí být dost porod. V Linuxu to zase takový
> problém není, dělal jsem někomu software pro RPi aniž bych ho měl fyzicky k
> dispozici a našel jsem návod jak to udělat v QEMU na PC.
> Všechno fungovalo jak mělo, jen to bylo dost pomalé. Výhoda je, že tu
> používáte standardní knihovny, které tohle _musí_ mít dořešeno.
> Další možnost je vytvořit si celý vývojový strom pro cizí architekturu (v
> tt. případě ARM 64.bit) a provést do něj chroot. Pokud potřebujete jen něco
> přeložit a slinkovat tak tohle funguje nejrychleji, ale je to složité.
> 
> Mrazík
> 
> On 29. 12. 22 12:15, konference na vojtek.biz wrote:
> > Konkretne tento HW neznam, ale podle hlasek jsou to neimplementovane
> > virtualni fce a pokud je neco, nebo  nekdo zavola padne to na hubu –
> > proto je to warning a ne chyba.
> >
> > Asi bych zacal nejakym navodem stylu step by step. Tam byvaji tyhle
> > veci vysvetlene / vyresene.
> >
> > J.V.
> >
> >
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


Další informace o konferenci Hw-list