(Deutscher Text unten) Hi, I'm coding a little OS for my current project (*) and stepping over some problems. The OS is layered, so there is a HAL that does all the hardware stuff (e.g. setting up registers). This HAL is used by the Kernel(-Layer), which includes drivers (e.g. FileSystem). As hardware I have a Camera and a SD-Card. I want to save the camera data (coming in via UART) directly to the SD-Card using D (something like a save_camera_image(char* filename) function). The problem is now: The HAL doesn't know anything about the Filesystem but the camera data should still be saved into a file. The Kernel doesn't know any register adresses to set up an DMA-Transfer. I'm quite getting stucked here, please help me :) *) for multiple reasons, of which one is to learn PS: even though this question is more a theoretical one, I use C on an STM32 --- German: Hallo, ich programmiere ein Betriebssystem* für mein aktuelles Projekt und hab jetzt ein kleines Problem. Das OS ist "layered", also mit Schichten aufgebaut. Es gibt ein HAL der sich um die Hardwaresachen kümmert (Register setzen, etc.) und einen Kernel der z.B. ein Dateisystem bereitstellt. Als Hardware habe ich eine Kamera und eine SD-Karte. Ich möchte nun die Kameradaten (via UART) in die SD-Karte speichern (Beispielsweise über eine save_camera_image(char* filename) Funktion). Mein Problem dabei: Der HAL hat keine Ahnung vom Dateisystem, das Kamerabild soll aber in eine Datei gespeichert werden. Der Kernel hat aber keine Ahnung vom DMA und kann somit auch nicht helfen. Tja, und da hänge ich momentan. Wie kann ich mich aus diesem Dilemma befreien, ohne mein Layersystem kaputt zu machen? *) aus mehreren Gründen, der wichtigste ist wohl, dass ich dabei lernen möchte. PS: Auch wenn das eher eine theoretische Frage ist: Ich programmiere in C für einen STM32
E.g. You have to implement an additional layer, a device driver layer between the HAL and the kernel. In the device driver implement intelligent functions which have the knowledge of the file system and also a driver for SDCard access via DMA. The kernel don't need a filesystem implented. The file system is a different "device". The SDCard is another device. 900ss
Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
Log in with Google account
No account? Register here.