Other Parts Discussed in Thread: SYSBIOS, AM3359
Hello,
I think I asked they a few years ago, but now all my history was purged... So here we go again. Since it's been a few years, I have no idea where to start looking.
(I am using CCS 10, SYSBIOS 6.76, GCC Compiler... but I don't think that has any bearing on this)
The AM335x bootstraps from EMMC or SD into address 0x402f0400 That's fine.
The utility "tiimage.exe" will place a 4 byte size, and a 4 byte load address at the front of the binary (after it's been stripped down with arm-none-eabi-objcopy)
That's fine if you are NOT using a SYSBIOS project.
A little test SYSBIOS project I just build has an entry point that is NOT at 0x80000000 but c_int00 is located at 0x800040e0 (as I found out from the MAP file).
Except the IMAGE has to load starting at address 0x80000000.
So, I can set the entry point using a conventional linker script, but the penchant to hide everything when using SYSBIOS means not only do I not know how to set the entry address, but I have to address these settings so rarely, that I forget... because I don't deal with these concerns except every few years.
As far as I can tell, this isn't gonna work. SYSBIOS placed the MMU table at address 0x8000000, and the "tiimage.exe" utility just ASSUMES that the start of the image is also the entry point.
Any suggestions, short of writing a CUSTOM BOOTLOADER every time there is a new SYSBIOS program that changes it's c_int00 address?
ti.sysbios.family.arm.a8.mmuTableSection 0x80000000 0x4000 *(ti.sysbios.family.arm.a8.mmuTableSection) ti.sysbios.family.arm.a8.mmuTableSection 0x80000000 0x4000 C:\...\Release\configPkg\package\cfg\app_pa8fg.oa8fg 0x80000000 ti_sysbios_family_arm_a8_Mmu_Module_State_0_tableBuf__A xdc.meta 0x80004000 0xe0 *(xdc.meta) xdc.meta 0x80004000 0xe0 C:\...\Release\configPkg\package\cfg\app_pa8fg.oa8fg 0x80004000 __TRDR__ 0x80004028 __TARG__ 0x8000404c __PLAT__ 0x80004074 __ISA__ 0x80004088 __ASM__ .c_int00 0x800040e0 0xb4 *(.c_int00) .c_int00 0x800040e0 0xb4 C:\ti\bios_6_76_03_01\packages\gnu\targets\arm\rtsv7A\lib\boot.aa8fg(boot.oa8fg) 0x800040e0 _c_int00 .text 0x800041a0 0x103f8 CREATE_OBJECT_SYMBOLS *(.resetVecs) *(.text) .text 0x800041a0 0xc0 ./main.o
-CSW