[STM32] Konzept:Application´s

OP #3555644
Lesenswert?
• ▲
▼
Hallo,

ich würde gerne mit euch zusammen ein Konzept entwickeln um mit der 
STM32-Familie (z.B. STM32F407 vom Discovery-Board) die Möglichkeit 
auszuarbeiten, Verschiedene Applikationen innerhalb eines Core-Systems 
betreiben zu können.

Vielleicht wäre hier bereits hier eine Möglichkeit das Core-System mit 
z.B. FreeRTOS oder anderen RTOS-Systemen seiner Wahl aufzubauen.


Idee:

[Core-OS]:

- RTOS als Grundgerüst um z.b. Threads und ähnliches vereinfacht
  integrieren zu können.

- Beinhaltet Funktionen wie:
  # Installieren von Applikationen
  # Löschen von Applikationen
  # Anzeigen freier Speicher
  # Systemeigene Funktionen (z.B. STM32 standard peripheral library
    integration)
  # Sollte eigene zu flashende Binär-File (Typ z.B. ELF  BIN  HEX) 
sein

- Speichermanagement:
  # Flash des STM32-Chips per Linker-Script teilen
  # Für Applikationen feste Bereiche festlegen (z.B. pro Applikation max
    16kbytes
  # Festlegen von Application-Slots (z.B. Max 5 Slots per Linker-Script 
vom
    Core-OS festgelegt

- Jobmanagement:
  # Regelt das Schreiben  Löschen  Ausführen von Applications
  # Schreibt neue Applications in den Flashbereich
  ## Prüft Slot´s, sollte einer Frei sein wird hier die Application
  abgelegt.
  # Lädt und Führt die Application aus, bei beenden wird z.b. Ram
  automatisch freigeben
  # Beim Löschen wird der betreffende Slot wieder freigeben.

[Applications]

- Bekommt eigenes Linker Script z.B.
1
ENTRY(main)    
2

3
MEMORY
4
{
5
  APP (rwx) : ORIGIN = 0, LENGTH = XX   <- Max Größe der Application in K
6
}
7

8
SECTIONS
9
{  
10
...
11
...   <- Sections festlegen(z.B. .text .data .bss)
12
...
13
}

- Beim Compilieren gegen die Core-OS-Binary linken um Funktionen usw 
nutzen
  zu können
  #Oder Header-File bauen mit wichtigsten Funktionen und eine Static-
  Library
  includieren

- Compiler Optionen nutzen um Speicherplatz so klein wie möglich zu 
halten
  (nicht benötigte bzw genutzte Funktionen ausklammern beim 
BUILD-Process





Ich hoffe dass euch meine Idee gefällt und es vielleicht ein paar Leute 
gibt welche etwas ähnliches aufgebaut haben bzw Interesse haben 
möglicherweise dergleichen durchzuführen.

Gerne nehme ich Ideen und Verbesserungsvorschläge an, Source-Code kann 
gerne hier hochgeladen oder extern verlinkt werden z.B. Github / SVN / 
etc.
Gast #3555660
Lesenswert?
• ▲
▼
Macht eigentlich wenig sinn auf einem Cortex-M ein Anwendungssystem zu 
entwickeln. Wenn schon sollte man einen Cortex-A mit MMU verwenden, dann 
gibts echten virtuellen Speicher & Speicherschutz, damit echtes 
Multitasking und man kann beliebig Anwendungen ausführen, und das sogar 
"sicher".
Ohne MMU dürfte es relativ spaßig werden den Anwendungen RAM-Bereiche 
zuzuweisen und diese die nutzen zu lassen.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.