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 zu diesem Kommentar
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.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...