GCC newlib-nano a multitasking
Jaroslav Buchta
jaroslav.buchta na hascomp.cz
Sobota Prosinec 13 08:02:54 CET 2014
Narazil jsem na problém u CM0 a FreeRTOS
Tyto redukovane knihovny nepodporují zřejmě u funkcí malloc a free
callback funkce při vstupu a výstupu a nelze tedy locknout systém? Nějak
takto to normálně dělám:
void __malloc_lock ( struct _reent *_r )
{
vPortEnterCritical();
}
void __malloc_unlock ( struct _reent *_r )
{
vPortExitCritical();
}
Existuje nějaké jiné řešení, než upravit a zkompilovat celé knihovny
(netuším, jak moc je to práce)
Případně dá se implementovat vlasní funkce pro správu paměti a příslušné
části knihovny linkeru zakázat (pokud napíšu vlastní malloc např., tak
linker vyhodí error )
Nebo nějaký další nápad?
Normálně používám plnohodnotné knihovny ale tady je průšvih, že alokuje
haldu po blocích 4kB asi natvrdo a zase s 8kB RAM jsem jaksi v .... To
zas ta nano verze vola sbrk pro kazdy malloc presne na miru.
---
This email has been checked for viruses by Avast antivirus software.
http://www.avast.com
Další informace o konferenci Hw-list