-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[STM]32 FreeRtos #1
Comments
Hi, the code is capable of doing run-time and task migration, and includes a run-time dynamic linker. A link to a publication on run-time updating is here http://tucs.fi/publications/attachment.php?fname=inpHoLuLaLi13c.full.pdf . You could start with looking at a simple run-time updating example in rtdl/System/arch/arm9_novm/arm9_rtudemo/main.c which changes the software running in a thread between rtuappv1 and rtuappv2. The apps reside in rtdl/App/rtu_appv1.c and rtdl/App/rtu_appv2.c respectively. We have not run the software on STM32, but I do not why it couldn't run on that as well since we have run it on both arm9 and cortex-a9 already. Best regards |
Hi Wictor, thank you very much for the Answer. I check your PDF File. ... looks cool ... If I use my memory bank (1Mb) and i know that every "App" would be max If i know the Address of the Bank Nr. (Start + End) I could easy point to Hope you understand what I will do ?? Best regards Oliver 2014-05-08 11:42 GMT+02:00 Wictor Lund [email protected]:
|
Hi, I think I understand what you mean, and it sounds possible. You can set up task register entries with task_register(name_of_task, address_of_elfh), and remove them if necessary. You should remember that if you want to link "App" to symbols in the OS, you will though need the symbols from the OS somewhere, we have done it so that the OS itself is an ELF binary with symbols included. Could you tell me more about your use-case, are all of the elf's included in the binary at compile-time, or will you download new ones at some later stage? This might matter for how you want to perform your linking process. Best regards |
Hi I use my STM32F429 Discovery Board. It included Graphic Display and These Typ of Board use 2 x 1MB Flash Storage Banks: I build up some Sort of OS which stands on top of Freertos. Src] I build up my own Bootloader with the IAP Methods from STM. My Flash Storage Bank is divided into different Parts From now I would build up different "Apps" who are at Real own Applications For these Stepp I create my own library (static) which contains the Lets says we build one App called "LED-Blink". I build up my Folder Structure like these: [FolderName:LED-Blink] Should I build up in my ld file own Entry Point ? For the Future Part of Work I will bring the ld file to the minimalist i ENTRY(??????)
Could I build up like these schematic ?? I will build each App with only the one ld File so in the Near of Future On Upload i show for free App-Banks and flash them to one of these Banks .. For these Apps I will bring in some Sort of TaskManager. Init: Allocating Memorie At the moment everything is working except for the dynamic app integration. Hope you could follow my Dev Process ;) ? Best regards Oliver 2014-05-09 9:26 GMT+02:00 Wictor Lund [email protected]:
|
Hi, I think I got the important parts. In the ELF header there is a always an entry point, it is set to the symbol start if nothing else is specified. You can read more abount it here: http://www.math.utah.edu/docs/info/ld_3.html#SEC19 Unfortunately, currently the code will load the code into volatile memory from the ELF's, I'm not sure if this is ok for you. At some point we ran the code directly from the ELF's but because of our choice of platform we decided to go this way. If you are interested I could look into how this change could be reverted. Best regards |
Hi wictor, Is the entry point in the elf header which i could point to start the If my code base for the dynamic loadable stuff is working i will check if i Please explain the two parts you describe: load the code into volatile memory from the ELF'sran the code directly from the ELF'sAfter that describe i could say if you should tell me how to revert your Oliver 2014-05-09 15:40 GMT+02:00 Wictor Lund [email protected]:
|
Hi,
Yes. The entry point in the ELF header is the relative address from
We currently use a corresponding procedure to what is used in Linux
This way of execution is not currently support (as I mentioned Best Regards |
Hi Wictor, Okay from now I understand. I start with Porting your Code to my Dev Basement. Do you know some Tools for checking my Compiled "App.elf" file ? And in your App Folder you have the app_startup.S File: .global _start
Could you explain what does these file exactly should done ? With best regards Oliver 2014-05-12 9:51 GMT+02:00 Wictor Lund [email protected]:
|
Hi Oliver,
When you convert to bin, virtually all metadata disappears. The dynamic
No it's not really needed you could just put the entry point to main.
The idea behind this file is that it could contain whatever bootstrap Best regards, |
Hi Oliver, Wictor, I, also am trying to get dynamic linking in FreeRTOS on an STM32 and I found this repo and thread very interesting. Still trying to get my head around all the docs and information. Best Regards, |
Hello,
i see your nice Code and show if I could get them understandable.
We work on some Sort of STM32 Board with FreeRtos as Base System.
I check if i get some Sort of Dynamic "Apps" (each FreeRtos Thread) with Position Independent Code working.
Do you done something like this maybe ?
First of all I will check if I get your Code working with STM32 Processor Type.
Please tell me which Parts I have to check !?
Best regards
Oliver
The text was updated successfully, but these errors were encountered: