MatthiasB Geschrieben December 8, 2012 at 16:10 Geschrieben December 8, 2012 at 16:10 Hallo, ich beschäftige mich schon einige Zeit mit dem Master-Brick. Kompilieren der Firmware mit der CodeSourcery toolchain funktioniert ohne Probleme und eigene Tasks und entsprechende Funktionen zur Kommunikation mit dem Host konnte ich auch hinzufügen. Jetzt hab ich begonnen mich genauer mit dem Aufbau des Projekts auseinanderzusetzen (habe bisher GNU und CMake noch nicht verwendet) und bin auf zwei dinge gestoßen die mir nicht klar sind. Unter bricklib/drivers/board/sam3s/ gibt es mehrere Linker-Scripts. Welches wird im Standard Projekt benutzt und wo wird eingestellt welches Linker-Script verwendet wird. Konnte das nirgends finden. Meine zweite frage bezieht sich auf den freeRTOS Port. In der Datei bricklib/free_rtos/FreeRTOSConfig.h ist die Zeile 10 #define configTOTAL_HEAP_SIZE 4000 auskommentiert. In heap_1.c und heap_2.c wird das define jedoch benutzt. Eclipse kann den Ausdruck auch nicht auflösen, Kompilieren geht aber ohne Probleme. Wird configTOTAL_HEAP_SIZE irgendwo außerhalb gesetzt? Finde die entsprechende stelle leider nicht. Vielen Dank schonmal für die Antworten! [EDIT] Mein zweites Problem habe ich gerade selbst gelöst. Die Dateien die configTOTAL_HEAP_SIZE benutzen werden nicht kompiliert. Und ich glaube, dass flash_sam3s4.ld als linker script benutzt wird. Da sind die selben rom und ram größen definiert wie sie auch auf dem Controller des Master Bricks enthalten sind. Zitieren
borg Geschrieben December 9, 2012 at 12:14 Geschrieben December 9, 2012 at 12:14 Du hast dir im Prinzip schon alles selbst beantwortet. heap_1.c und heap_2.c werden nicht benutzt. Die sam3s4.ld Linkerskripte werden beim Master benutzt und die sam3s2.ld Linkerskripte bei den anderen Bricks. Die benutzen unterschiedliche Mikrocontrollertypen (atsam3s4 vs atsam3s2). Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.