Forum: Mikrocontroller und Digitale Elektronik FreeRTOS Demo für LPC111x läuft nicht


von Stefan H. (stefan_h16)


Lesenswert?

Guten Abend zusammen,

Ich versuche gerade FreeRTOS aus einem LPC1115 zum laufen zu bekommen. 
Dazu habe ich den offiziellen Port mit Demo für LPC1114 (gleicher uC, 
nur mit weniger flash) heruntergeladen und in LPCXPresso importiert und 
in den Projekt einstellungen auf den LPC1115 umgestellt.

Setze ich jetzt
1
#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY  1
wird das einfache LED blinky Demo mit zwei Tasks und einer blinkenden 
LED gebaut und funktioniert auch prächtig.

Das komplexere
1
#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY  0

stürzt, wenn ich die Trace richtig interpretiere:
1
Thread [1] <main> (Suspended : Breakpoint)  
2
  vApplicationMallocFailedHook() at main.c:215 0x4240  
3
  pvPortMalloc() at heap_1.c:136 0x1de  
4
  prvAllocateTCBAndStack() at tasks.c:2.927 0x1e74  
5
  xTaskGenericCreate() at tasks.c:526 0x1046  
6
  xTimerCreateTimerTask() at timers.c:257 0x2126  
7
  vTaskStartScheduler() at tasks.c:1.477 0x15e0  
8
  main_full() at main-full.c:229 0x4090  
9
  main() at main.c:148 0x418c
schon beim beim erstellen der Tasks mit einem MallocFailedHook ab.

Wie kann das sein bei einer Demo die direkt für diesen uC entwickelt 
wurde? Kann mir da jemand weiterhelfen?

von holger (Gast)


Lesenswert?

>Wie kann das sein bei einer Demo die direkt für diesen uC entwickelt
>wurde?

Es ist halt so.
Mach configTOTAL_HEAP_SIZE in Freertosconfig.h grösser.

von Stefan H. (stefan_h16)


Lesenswert?

holger schrieb:
>>Wie kann das sein bei einer Demo die direkt für diesen uC entwickelt
>>wurde?
>
> Es ist halt so.
> Mach configTOTAL_HEAP_SIZE in Freertosconfig.h grösser.

Mit 6500 ist der schon nah am maximum.

von Lothar (Gast)


Lesenswert?

Stefan H. schrieb:
> Projekteinstellungen auf den LPC1115 umgestellt

Das reicht eventuell nicht. Was passiert wenn die Original Demo für 
LPC1114 genommen wird, läuft es dann? Dann mal bei beiden Projekten die 
.map Files vergleichen. Da der LPC1115 auch mehr RAM hat, muss der Stack 
höher anfangen als beim LPC1114. Eventuell hilft auch das:

http://www.lpcware.com/content/forum/using-userheapbase-doesnt-change-map-file

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.