Other Parts Discussed in Thread: OMAP-L137, SYSBIOS, OMAP-L138
Hello, I am currently working on the new controller based on OMAP-L137. The aim of my work is to provide technical and SW background for the main application. It among others means, to create bootloader, that will be able to run the final application on both DSP and ARM cores.
I work with CCS 5.2.1 (latest version) and SYS/BIOS 6.33.5.46. I also uses EDMA3 low lever driver, NDK and PSP.
I imagine the process of booting by this way:
1) DSP will start the DSP bootloader from the first SPI flash.
2) Bootloader starts as SYS/BIOS application, configures FPGA, displays some information on LCD and it waits for any communication on ethernet or etherCAT communication channels. Using of the communication makes possible to upgrade main application SW stored in the second SPI flash (or another media).
3) If no communication occured, bootloader downloads main app for DSP and ARM from the second SPI flash (or another media).
4) Bootloader enables ARM and thus the main application in ARM core.
5) Bootloader jumps to the main application in DSP core.
6) Not, the main application is executed in both ARM and DSP core.
It looks quite simple, but there are some problems to solve:
There is already running SYS/BIOS bootloader application in DSP core. How to start a new SYS/BIOS main application?:
- how to generate the images of those DSP and ARM main aplications? I suppose, they must be realocated to a different RAM area. How to do it?
- how to exit bootloader SYS/BIOS application properly and start a new SYS/BIOS main application? And simmillary for ARM core (but for ARM, the procedure is descibed on http://processors.wiki.ti.com/index.php/Boot_Images_for_OMAP-L137)
So I think, I will need:
1) A tool to generate image (.bin) (that is allocated to a specific RAM address space) file from elf (or COFF) file. May be, this will require some changes in linker command file, but it is autogenerated from the template linkcmd.xdt and can not be directly modified.
2) A procedure, how to properly stop SYS/BIOS app in order to start another one. Is it even possible?
Thanks in advance.