Jump to content

[C/C++] Firmware Entwicklung


Recommended Posts

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.

 

Link to comment
Share on other sites

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).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...