Part Number: TMS320F2800137
I have a self built bootloader which resides at address 0x08000 till 0x082000. This also contains the codestartbranch assembly object at 0x08000.
I also have an application at 0x082000 till 0x092000. The bootloader has some simple code which blinks a green led 4 times. The application has simple code which blinks a red light indefinitely.
I'm trying to jump from the bootloader to the application after the four blinks in the bootloader. This works fine when I jump to _c_int100 directly. This does not work when i jump to 0x082000, which should be the codestartbranch assembly file.
If I understand correctly, this codestartbranch should jump to the application _c_int100 function, which in turn goes to the main() of the application.
Both projects are individual projects, with seperate linker file.
I'm guessing jumping to the address of _c_int100 isn't good practice. So, how do i fix this to something like 0x082000 (where codestartbranch resides).
In the header of the application, I add a start address of the application. This needs to be the address the bootloader will jump to. Therefore, i cant hardcode the _c_int00 function.
See the linker of the bootloader below
/*
//###########################################################################
//
// FILE: F2800137_flash_lnk.cmd
//
// TITLE: Linker Command File For F2800137 Device
//
//###########################################################################
*/
MEMORY
{
/* --------- RAM sectors ---------- */
/* Not sure what this is reserved for :/ */
BOOT_RSVD : origin = 0x00000002, length = 0x00000126
RAMM0 : origin = 0x00000128, length = 0x000002D8
RAMM1 : origin = 0x00000400, length = 0x000003F8
/* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */
RAMM1_RSVD : origin = 0x000007F8, length = 0x00000008
RAMLS0 : origin = 0x00008000, length = 0x00002000
RAMLS1 : origin = 0x0000A000, length = 0x00001FF8
/* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */
RAMLS1_RSVD : origin = 0x0000BFF8, length = 0x00000008
RESET : origin = 0x003FFFC0, length = 0x00000002
/* --------- FLASH sectors ---------- */
/* Application memory sections */
/* Begin section called in the Boot ROM code, do NOT change the origin! */
BEGIN : origin = 0x080000, length = 0x0002
BOOTLOADER_HEADERDATA : origin = 0x080002, length = 0x00FE
BOOTLOADER_SECTION_FLASH_1_7 : origin = 0x080100, length = 0x1F00 /* 7,936 words */
/* Application memory (Section 8 to and with 71) */
APPLICATION_BEGIN : origin = 0x082000, length = 0x0002
APPLICATION_HEADERDATA : origin = 0x082002, length = 0x00FE
APPLICATION_SECTION_FLASH_8_71 : origin = 0x082100, length = 0xFF00 /* 65,280 words */
/* Reserved for FAST estimator in application */
FLASH_BANK0_SEC_72_79_80_87 : origin = 0x092000, length = 0x4000
FLASH_BANK0_SEC_88 : origin = 0x096000, length = 0x0380 // 77 to 111 are unused (24,576 words)
FLASH_BANK0_SEC_89 : origin = 0x096400, length = 0x0380
FLASH_BANK0_SEC_90 : origin = 0x096800, length = 0x0380
FLASH_BANK0_SEC_91 : origin = 0x096C00, length = 0x0380
FLASH_BANK0_SEC_92 : origin = 0x097000, length = 0x0380
FLASH_BANK0_SEC_93 : origin = 0x097400, length = 0x0380
FLASH_BANK0_SEC_94 : origin = 0x097800, length = 0x0380
FLASH_BANK0_SEC_95 : origin = 0x097C00, length = 0x0380
FLASH_BANK0_SEC_96 : origin = 0x098080, length = 0x0380
FLASH_BANK0_SEC_97 : origin = 0x098480, length = 0x0380
FLASH_BANK0_SEC_98 : origin = 0x098880, length = 0x0380
FLASH_BANK0_SEC_99 : origin = 0x098C80, length = 0x0380
FLASH_BANK0_SEC_100 : origin = 0x099080, length = 0x0380
FLASH_BANK0_SEC_101 : origin = 0x099480, length = 0x0380
FLASH_BANK0_SEC_102 : origin = 0x099880, length = 0x0380
FLASH_BANK0_SEC_103 : origin = 0x099C80, length = 0x0380
FLASH_BANK0_SEC_104_111 : origin = 0x09A000, length = 0x2000
/* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */
FLASH_BANK0_SEC_127_RSVD : origin = 0x0A0FF0, length = 0x0010
}
SECTIONS
{
codestart : > BEGIN, ALIGN(8)
.text : > BOOTLOADER_SECTION_FLASH_1_7, ALIGN(8)
.cinit : > BOOTLOADER_SECTION_FLASH_1_7, ALIGN(8)
.switch : > BOOTLOADER_SECTION_FLASH_1_7, ALIGN(8)
.reset : > RESET, TYPE = DSECT /* not used, */
.stack : > RAMM1
.bss : > RAMLS0
.bss:output : > RAMLS0
.init_array : > BOOTLOADER_SECTION_FLASH_1_7, ALIGN(8)
.const : > BOOTLOADER_SECTION_FLASH_1_7, ALIGN(8)
.data : > RAMLS0
.sysmem : > RAMLS0
.bss:cio : > RAMLS0
/* User defined sections */
/* Used by file version.h */
applicationHeader : > APPLICATION_HEADERDATA
applicationStart : > APPLICATION_SECTION_FLASH_8_71, RUN_START(applicationStartAddress)
bootloaderHeader : > BOOTLOADER_HEADERDATA
bootloaderStart : > BOOTLOADER_SECTION_FLASH_1_7, RUN_START(bootloaderStartAddress)
/* Allocate IQ math areas: */
IQmath : > RAMLS1
IQmathTables : > RAMLS1
.TI.ramfunc : LOAD = BOOTLOADER_SECTION_FLASH_1_7,
RUN = RAMLS0,
LOAD_START(RamfuncsLoadStart),
LOAD_SIZE(RamfuncsLoadSize),
LOAD_END(RamfuncsLoadEnd),
RUN_START(RamfuncsRunStart),
RUN_SIZE(RamfuncsRunSize),
RUN_END(RamfuncsRunEnd),
ALIGN(8)
}
See the linker of the application below
/*
//###########################################################################
//
// FILE: F2800137_flash_lnk.cmd
//
// TITLE: Linker Command File For F2800137 Device
//
//###########################################################################
*/
MEMORY
{
/* --------- RAM sectors ---------- */
/* Not sure what this is reserved for :/ */
BOOT_RSVD : origin = 0x00000002, length = 0x00000126
RAMM0 : origin = 0x00000128, length = 0x000002D8
RAMM1 : origin = 0x00000400, length = 0x000003F8
/* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */
RAMM1_RSVD : origin = 0x000007F8, length = 0x00000008
RAMLS0 : origin = 0x00008000, length = 0x00002000
RAMLS1 : origin = 0x0000A000, length = 0x00001FF8
/* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */
RAMLS1_RSVD : origin = 0x0000BFF8, length = 0x00000008
RESET : origin = 0x003FFFC0, length = 0x00000002
/* --------- FLASH sectors ---------- */
/* Application memory sections */
/* Begin section called in the Boot ROM code, do NOT change the origin! */
BEGIN : origin = 0x080000, length = 0x0002
BOOTLOADER_HEADERDATA : origin = 0x080002, length = 0x00FE
BOOTLOADER_SECTION_FLASH_1_7 : origin = 0x080100, length = 0x1F00 /* 7,936 words */
/* Application memory (Section 8 to and with 71) */
APPLICATION_BEGIN : origin = 0x082000, length = 0x0002
APPLICATION_HEADERDATA : origin = 0x082002, length = 0x00FE
APPLICATION_SECTION_FLASH_8_71 : origin = 0x082100, length = 0xFF00 /* 65,280 words */
/* Reserved for FAST estimator in application */
FLASH_BANK0_SEC_72_79_80_87 : origin = 0x092000, length = 0x4000
FLASH_BANK0_SEC_88 : origin = 0x096000, length = 0x0380 // 77 to 111 are unused (24,576 words)
FLASH_BANK0_SEC_89 : origin = 0x096400, length = 0x0380
FLASH_BANK0_SEC_90 : origin = 0x096800, length = 0x0380
FLASH_BANK0_SEC_91 : origin = 0x096C00, length = 0x0380
FLASH_BANK0_SEC_92 : origin = 0x097000, length = 0x0380
FLASH_BANK0_SEC_93 : origin = 0x097400, length = 0x0380
FLASH_BANK0_SEC_94 : origin = 0x097800, length = 0x0380
FLASH_BANK0_SEC_95 : origin = 0x097C00, length = 0x0380
FLASH_BANK0_SEC_96 : origin = 0x098080, length = 0x0380
FLASH_BANK0_SEC_97 : origin = 0x098480, length = 0x0380
FLASH_BANK0_SEC_98 : origin = 0x098880, length = 0x0380
FLASH_BANK0_SEC_99 : origin = 0x098C80, length = 0x0380
FLASH_BANK0_SEC_100 : origin = 0x099080, length = 0x0380
FLASH_BANK0_SEC_101 : origin = 0x099480, length = 0x0380
FLASH_BANK0_SEC_102 : origin = 0x099880, length = 0x0380
FLASH_BANK0_SEC_103 : origin = 0x099C80, length = 0x0380
FLASH_BANK0_SEC_104_111 : origin = 0x09A000, length = 0x2000
/* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */
FLASH_BANK0_SEC_127_RSVD : origin = 0x0A0FF0, length = 0x0010
}
SECTIONS
{
codestartapplication : > APPLICATION_BEGIN, ALIGN(8)
.text : > APPLICATION_SECTION_FLASH_8_71, ALIGN(8)
.cinit : > APPLICATION_SECTION_FLASH_8_71, ALIGN(8)
.switch : > APPLICATION_SECTION_FLASH_8_71, ALIGN(8)
.reset : > RESET, TYPE = DSECT /* not used, */
.stack : > RAMM1
.bss : > RAMLS0
.bss:output : > RAMLS0
.init_array : > APPLICATION_SECTION_FLASH_8_71, ALIGN(8)
.const : > APPLICATION_SECTION_FLASH_8_71, ALIGN(8)
.data : > RAMLS0
.sysmem : > RAMLS0
.bss:cio : > RAMLS0
.TI.ramfunc : LOAD = APPLICATION_SECTION_FLASH_8_71,
RUN = RAMLS0,
LOAD_START(RamfuncsLoadStart),
LOAD_SIZE(RamfuncsLoadSize),
LOAD_END(RamfuncsLoadEnd),
RUN_START(RamfuncsRunStart),
RUN_SIZE(RamfuncsRunSize),
RUN_END(RamfuncsRunEnd),
ALIGN(8)
/* User defined sections */
/* Used by file version.h */
applicationHeader : > APPLICATION_HEADERDATA
applicationStart : > APPLICATION_BEGIN, RUN_START(applicationStartAddress)
bootloaderHeader : > BOOTLOADER_HEADERDATA, TYPE = NOLOAD
bootloaderStart : > BOOTLOADER_SECTION_FLASH_1_7, RUN_START(bootloaderStartAddress), TYPE = NOLOAD
fastCode : > FLASH_BANK0_SEC_72_79_80_87
{
--library=fast_full_lib.lib (.text)
}
/* Allocate IQ math areas: */
IQmath : > RAMLS1
IQmathTables : > RAMLS1
}
See the code (which works) to jump to the application below.#define StartApp (void (*)(void))(0x00082a19) //location off application _c_int00
int System_handle(void)
{
static int i;
for(; i < 9; i++){
System_handleActivityLED();
}
(*StartApp)();
// We should never get here
return 1;
}
To be sure, see the map file of the application below
******************************************************************************
TMS320C2000 Linker PC v22.6.0
******************************************************************************
>> Linked Mon Nov 20 16:05:18 2023
OUTPUT FILE NAME: <Betronic_Motorcontroller_Gen5.out>
ENTRY POINT SYMBOL: "code_start_application" address: 00082000
MEMORY CONFIGURATION
name origin length used unused attr fill
---------------------- -------- --------- -------- -------- ---- --------
BOOT_RSVD 00000002 00000126 00000000 00000126 RWIX
RAMM0 00000128 000002d8 00000000 000002d8 RWIX
RAMM1 00000400 000003f8 00000200 000001f8 RWIX
RAMM1_RSVD 000007f8 00000008 00000000 00000008 RWIX
ADCARESULT 00000b00 00000018 00000000 00000018 RWIX
ADCCRESULT 00000b40 00000018 00000000 00000018 RWIX
CPUTIMER0 00000c00 00000008 00000000 00000008 RWIX
CPUTIMER1 00000c08 00000008 00000000 00000008 RWIX
CPUTIMER2 00000c10 00000008 00000000 00000008 RWIX
PIECTRL 00000ce0 0000001a 00000000 0000001a RWIX
PIEVECTTABLE 00000d00 00000200 00000000 00000200 RWIX
EPWM1 00004000 00000100 00000000 00000100 RWIX
EPWM2 00004100 00000100 00000000 00000100 RWIX
EPWM3 00004200 00000100 00000000 00000100 RWIX
EPWM4 00004300 00000100 00000000 00000100 RWIX
EPWM5 00004400 00000100 00000000 00000100 RWIX
EPWM6 00004500 00000100 00000000 00000100 RWIX
EPWM7 00004600 00000100 00000000 00000100 RWIX
EQEP1 00005100 00000040 00000000 00000040 RWIX
ECAP1 00005200 00000020 00000000 00000020 RWIX
ECAP2 00005240 00000020 00000000 00000020 RWIX
CMPSS1 00005500 00000040 00000000 00000040 RWIX
CMPSSLITE2 00005540 00000040 00000000 00000040 RWIX
CMPSSLITE3 00005580 00000040 00000000 00000040 RWIX
CMPSSLITE4 000055c0 00000040 00000000 00000040 RWIX
SPIA 00006100 00000010 00000000 00000010 RWIX
WD 00007000 0000002c 00000000 0000002c RWIX
NMIINTRUPT 00007060 00000010 00000000 00000010 RWIX
XINT 00007070 0000000c 00000000 0000000c RWIX
SCIA 00007200 00000010 00000000 00000010 RWIX
SCIB 00007210 00000010 00000000 00000010 RWIX
SCIC 00007220 00000010 00000000 00000010 RWIX
I2CA 00007300 00000022 00000000 00000022 RWIX
I2CB 00007340 00000022 00000000 00000022 RWIX
ADCA 00007400 00000080 00000000 00000080 RWIX
ADCC 00007500 00000080 00000000 00000080 RWIX
INPUTXBAR 00007900 00000020 00000000 00000020 RWIX
XBAR 00007920 00000020 00000000 00000020 RWIX
SYNCSOC 00007940 00000006 00000000 00000006 RWIX
EPWMXBAR 00007a00 00000040 00000000 00000040 RWIX
OUTPUTXBAR 00007a80 00000040 00000000 00000040 RWIX
GPIOCTRL 00007c00 00000200 00000000 00000200 RWIX
GPIODATA 00007f00 00000040 00000000 00000040 RWIX
GPIODATAREAD 00007f80 00000010 00000000 00000010 RWIX
RAMLS0 00008000 00002000 000000d8 00001f28 RWIX
RAMLS1 0000a000 00001ff8 00000000 00001ff8 RWIX
RAMLS1_RSVD 0000bff8 00000008 00000000 00000008 RWIX
CANA 00048000 00000200 00000000 00000200 RWIX
DEVCFG 0005d000 000001ac 00000000 000001ac RWIX
CLKCFG 0005d200 00000100 00000000 00000100 RWIX
CPUSYS 0005d300 00000100 00000000 00000100 RWIX
SYSSTATUS 0005d400 00000040 00000000 00000040 RWIX
ANALOGSUBSYS 0005d700 0000012a 00000000 0000012a RWIX
DCC0 0005e700 00000038 00000000 00000038 RWIX
EPG1 0005ec00 00000050 00000000 00000050 RWIX
EPG1MUX 0005ecd0 00000010 00000000 00000010 RWIX
DCSMZ1 0005f000 0000003e 00000000 0000003e RWIX
DCSMZ2 0005f080 0000003e 00000000 0000003e RWIX
DCSMCOMMON 0005f0c0 00000040 00000000 00000040 RWIX
MEMCFG 0005f400 000000c0 00000000 000000c0 RWIX
ACCESSPROTECTION 0005f500 0000003e 00000000 0000003e RWIX
MEMORYERROR 0005f540 00000040 00000000 00000040 RWIX
TESTERROR 0005f590 00000010 00000000 00000010 RWIX
FLASH0CTRL 0005f800 00000182 00000000 00000182 RWIX
FLASH0ECC 0005fb00 00000028 00000000 00000028 RWIX
DCSMZ1OTP 00078000 00000020 00000000 00000020 RWIX
DCSMZ2OTP 00078200 00000020 00000000 00000020 RWIX
BEGIN 00080000 00000002 00000000 00000002 RWIX
BOOTLOADER_HEADERDATA 00080002 000000fe 00000028 000000d6 RWIX
BOOTLOADER_SECTION_FL 00080100 00001f00 00000000 00001f00 RWIX
APPLICATION_BEGIN 00082000 00000002 00000002 00000000 RWIX
APPLICATION_HEADERDAT 00082002 000000fe 00000028 000000d6 RWIX
APPLICATION_SECTION_F 00082100 0000ff00 00000c86 0000f27a RWIX
FLASH_BANK0_SEC_72_79 00092000 00004000 00000000 00004000 RWIX
FLASH_BANK0_SEC_88 00096000 00000380 00000000 00000380 RWIX
FLASH_BANK0_SEC_89 00096400 00000380 00000000 00000380 RWIX
FLASH_BANK0_SEC_90 00096800 00000380 00000000 00000380 RWIX
FLASH_BANK0_SEC_91 00096c00 00000380 00000000 00000380 RWIX
FLASH_BANK0_SEC_92 00097000 00000380 00000000 00000380 RWIX
FLASH_BANK0_SEC_93 00097400 00000380 00000000 00000380 RWIX
FLASH_BANK0_SEC_94 00097800 00000380 00000000 00000380 RWIX
FLASH_BANK0_SEC_95 00097c00 00000380 00000000 00000380 RWIX
FLASH_BANK0_SEC_96 00098080 00000380 00000000 00000380 RWIX
FLASH_BANK0_SEC_97 00098480 00000380 00000000 00000380 RWIX
FLASH_BANK0_SEC_98 00098880 00000380 00000000 00000380 RWIX
FLASH_BANK0_SEC_99 00098c80 00000380 00000000 00000380 RWIX
FLASH_BANK0_SEC_100 00099080 00000380 00000000 00000380 RWIX
FLASH_BANK0_SEC_101 00099480 00000380 00000000 00000380 RWIX
FLASH_BANK0_SEC_102 00099880 00000380 00000000 00000380 RWIX
FLASH_BANK0_SEC_103 00099c80 00000380 00000000 00000380 RWIX
FLASH_BANK0_SEC_104_1 0009a000 00002000 00000000 00002000 RWIX
FLASH_BANK0_SEC_127_R 000a0ff0 00000010 00000000 00000010 RWIX
RESET 003fffc0 00000002 00000000 00000002 RWIX
SECTION ALLOCATION MAP
output attributes/
section page origin length input sections
-------- ---- ---------- ---------- ----------------
codestartapplication
* 0 00082000 00000002
00082000 00000002 f280013x_codestartbranch_application.obj (codestartapplication)
.text 0 000821d0 000009d1
000821d0 0000013e driverlib.lib : sysctl.obj (.text:SysCtl_setClock)
0008230e 00000104 device.obj (.text)
00082412 000000ea driverlib.lib : sysctl.obj (.text:SysCtl_isPLLValid)
000824fc 000000a3 : gpio.obj (.text:GPIO_setAnalogMode)
0008259f 00000088 rts2800_fpu32_eabi.lib : fs_div28.asm.obj (.text)
00082627 00000073 driverlib.lib : sysctl.obj (.text:DCC_setCounterSeeds)
0008269a 00000065 : sysctl.obj (.text:SysCtl_getClock)
000826ff 00000052 : gpio.obj (.text:GPIO_setPadConfig)
00082751 00000045 : sysctl.obj (.text:SysCtl_pollX1Counter)
00082796 00000042 : sysctl.obj (.text:SysCtl_selectOscSource)
000827d8 0000003d : interrupt.obj (.text:Interrupt_initModule)
00082815 0000003d : sysctl.obj (.text:SysCtl_selectXTAL)
00082852 00000031 : gpio.obj (.text:GPIO_setDirectionMode)
00082883 0000002e rts2800_fpu32_eabi.lib : copy_decompress_lzss.c.obj (.text:decompress:lzss)
000828b1 0000002b : autoinit.c.obj (.text:__TI_auto_init_nobinit_nopinit)
000828dc 00000029 : exit.c.obj (.text)
00082905 00000028 System.obj (.text)
0008292d 00000024 driverlib.lib : sysctl.obj (.text:DCC_enableSingleShotMode)
00082951 00000020 : sysctl.obj (.text:SysCtl_selectXTALSingleEnded)
00082971 0000001e : sysctl.obj (.text:DCC_setCounter0ClkSource)
0008298f 0000001e : sysctl.obj (.text:DCC_setCounter1ClkSource)
000829ad 0000001e : interrupt.obj (.text:Interrupt_initVectorTable)
000829cb 0000001d rts2800_fpu32_eabi.lib : memcpy.c.obj (.text)
000829e8 0000001a driverlib.lib : sysctl.obj (.text:SysCtl_getLowSpeedClock)
00082a02 00000017 : sysctl.obj (.text:SysCtl_enablePeripheral)
00082a19 00000017 rts2800_fpu32_eabi.lib : boot28.asm.obj (.text)
00082a30 00000016 driverlib.lib : sysctl.obj (.text:DCC_disableDoneSignal)
00082a46 00000016 : interrupt.obj (.text:Interrupt_defaultHandler)
00082a5c 00000016 : sysctl.obj (.text:SysCtl_setIntOSC2_Mode)
00082a72 00000015 : sysctl.obj (.text:DCC_clearDoneFlag)
00082a87 00000015 : sysctl.obj (.text:DCC_clearErrorFlag)
00082a9c 00000015 : sysctl.obj (.text:DCC_disableErrorSignal)
00082ab1 00000014 : sysctl.obj (.text:DCC_disableModule)
00082ac5 00000014 : sysctl.obj (.text:DCC_enableModule)
00082ad9 00000014 : gpio.obj (.text:GPIO_isPinValid)
00082aed 00000014 : sysctl.obj (.text:SysCtl_setPLLSysClk)
00082b01 00000010 : sysctl.obj (.text:DCC_isBaseValid)
00082b11 00000010 : flash.obj (.text:Flash_isCtrlBaseValid)
00082b21 00000010 : flash.obj (.text:Flash_isECCBaseValid)
00082b31 0000000d : interrupt.obj (.text:Interrupt_disableGlobal)
00082b3e 0000000c rts2800_fpu32_eabi.lib : args_main.c.obj (.text)
00082b4a 0000000b driverlib.lib : sysctl.obj (.text:SysCtl_isMCDClockFailureDetected)
00082b55 0000000a : sysctl.obj (.text:ASysCtl_getExtROscStatus)
00082b5f 0000000a : interrupt.obj (.text:Interrupt_illegalOperationHandler)
00082b69 0000000a : interrupt.obj (.text:Interrupt_nmiHandler)
00082b73 00000009 rts2800_fpu32_eabi.lib : _lock.c.obj (.text)
00082b7c 00000008 : copy_decompress_none.c.obj (.text:decompress:none)
00082b84 00000008 f280013x_codestartbranch_application.obj (.text)
00082b8c 00000007 driverlib.lib : sysctl.obj (.text:SysCtl_resetMCD)
00082b93 00000006 FirmwareHeader.obj (.text)
00082b99 00000005 main.obj (.text)
00082b9e 00000002 rts2800_fpu32_eabi.lib : pre_init.c.obj (.text)
00082ba0 00000001 : startup.c.obj (.text)
.cinit 0 00082d80 00000014
00082d80 00000009 (.cinit..data.load) [load image, compression = lzss]
00082d89 00000001 --HOLE-- [fill = 0]
00082d8a 00000004 (__TI_handler_table)
00082d8e 00000002 --HOLE-- [fill = 0]
00082d90 00000004 (__TI_cinit_table)
.reset 0 003fffc0 00000000 DSECT
.stack 0 00000400 00000200 UNINITIALIZED
00000400 00000200 --HOLE--
.init_array
* 0 00082100 00000000 UNINITIALIZED
.data 0 000080ce 0000000a UNINITIALIZED
000080ce 00000006 rts2800_fpu32_eabi.lib : exit.c.obj (.data)
000080d4 00000002 : _lock.c.obj (.data:_lock)
000080d6 00000002 : _lock.c.obj (.data:_unlock)
.const 0 00082ba8 000001d3
00082ba8 0000009c driverlib.lib : flash.obj (.const:.string)
00082c44 0000009b : gpio.obj (.const:.string)
00082cdf 00000001 --HOLE-- [fill = 0]
00082ce0 0000009b : sysctl.obj (.const:.string)
bootloaderHeader
* 0 00080002 00000028 NOLOAD SECTION
00080002 00000028 FirmwareHeader.obj (bootloaderHeader)
bootloaderStart
* 0 00080100 00000000 NOLOAD SECTION
applicationStart
* 0 00082000 00000000 UNINITIALIZED
applicationHeader
* 0 00082002 00000028
00082002 00000028 FirmwareHeader.obj (applicationHeader)
.TI.ramfunc
* 0 00082100 000000ce RUN ADDR = 00008000
00082100 00000036 driverlib.lib : flash.obj (.TI.ramfunc:Flash_initModule)
00082136 00000022 : flash.obj (.TI.ramfunc:Flash_setWaitstates)
00082158 00000018 : flash.obj (.TI.ramfunc:Flash_disableCache)
00082170 00000017 : flash.obj (.TI.ramfunc:Flash_disablePrefetch)
00082187 00000017 : flash.obj (.TI.ramfunc:Flash_enableCache)
0008219e 00000016 : flash.obj (.TI.ramfunc:Flash_enableECC)
000821b4 00000016 : flash.obj (.TI.ramfunc:Flash_enablePrefetch)
000821ca 00000004 : sysctl.obj (.TI.ramfunc)
MODULE SUMMARY
Module code ro data rw data
------ ---- ------- -------
.\Framework\FirmwareHeader\
FirmwareHeader.obj 6 40 40
+--+------------------------------------------+------+---------+---------+
Total: 6 40 40
.\HardwareAbstractionLayer\DeviceSupport\F2800137\device\
device.obj 260 0 0
+--+------------------------------------------+------+---------+---------+
Total: 260 0 0
.\Linker\
f280013x_codestartbranch_application.obj 10 0 0
+--+------------------------------------------+------+---------+---------+
Total: 10 0 0
.\Source\
main.obj 5 0 0
+--+------------------------------------------+------+---------+---------+
Total: 5 0 0
.\Source\System\
System.obj 40 0 0
+--+------------------------------------------+------+---------+---------+
Total: 40 0 0
C:/ti/c2000/C2000Ware_MotorControl_SDK_5_00_00_00/c2000ware/driverlib/f280013x/driverlib/ccs/Debug/driverlib.lib
sysctl.obj 1360 155 0
flash.obj 436 156 0
gpio.obj 314 155 0
interrupt.obj 146 0 0
+--+------------------------------------------+------+---------+---------+
Total: 2256 466 0
C:\ti\ccs1230\ccs\tools\compiler\ti-cgt-c2000_22.6.0.LTS\lib\rts2800_fpu32_eabi.lib
fs_div28.asm.obj 136 0 0
exit.c.obj 41 0 6
copy_decompress_lzss.c.obj 46 0 0
autoinit.c.obj 43 0 0
memcpy.c.obj 29 0 0
boot28.asm.obj 23 0 0
_lock.c.obj 9 0 4
args_main.c.obj 12 0 0
copy_decompress_none.c.obj 8 0 0
pre_init.c.obj 2 0 0
startup.c.obj 1 0 0
+--+------------------------------------------+------+---------+---------+
Total: 350 0 10
Stack: 0 0 512
Linker Generated: 0 17 0
+--+------------------------------------------+------+---------+---------+
Grand Total: 2927 523 562
LINKER GENERATED COPY TABLES
__TI_cinit_table @ 00082d90 records: 1, size/record: 4, table size: 4
.data: load addr=00082d80, load size=00000009 bytes, run addr=000080ce, run size=0000000a bytes, compression=lzss
LINKER GENERATED HANDLER TABLE
__TI_handler_table @ 00082d8a records: 2, size/record: 2, table size: 4
index: 0, handler: __TI_decompress_lzss
index: 1, handler: __TI_decompress_none
GLOBAL DATA SYMBOLS: SORTED BY DATA PAGE
address data page name
-------- ---------------- ----
00000400 10 (00000400) __stack
000080ce 203 (000080c0) __TI_enable_exit_profile_output
000080d0 203 (000080c0) __TI_cleanup_ptr
000080d2 203 (000080c0) __TI_dtors_ptr
000080d4 203 (000080c0) _lock
000080d6 203 (000080c0) _unlock
GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name
page address name
---- ------- ----
0 000828dc C$$EXIT
0 00082321 Device_enableAllPeripherals
0 00082392 Device_init
0 00082311 Device_initGPIO
0 00082b96 FirmwareHeader_getApplicationFirmwareInfo
0 00082b93 FirmwareHeader_getBootloaderFirmwareInfo
0 00008000 Flash_initModule
0 000824fc GPIO_setAnalogMode
0 00082852 GPIO_setDirectionMode
0 000826ff GPIO_setPadConfig
0 00082a46 Interrupt_defaultHandler
0 00082b5f Interrupt_illegalOperationHandler
0 000827d8 Interrupt_initModule
0 000829ad Interrupt_initVectorTable
0 00082b69 Interrupt_nmiHandler
0 000821ce RamfuncsLoadEnd
abs 000000ce RamfuncsLoadSize
0 00082100 RamfuncsLoadStart
0 000080ce RamfuncsRunEnd
abs 000000ce RamfuncsRunSize
0 00008000 RamfuncsRunStart
0 000080ca SysCtl_delay
0 0008269a SysCtl_getClock
0 000829e8 SysCtl_getLowSpeedClock
0 00082412 SysCtl_isPLLValid
0 00082796 SysCtl_selectOscSource
0 00082815 SysCtl_selectXTAL
0 00082951 SysCtl_selectXTALSingleEnded
0 000821d0 SysCtl_setClock
0 00082927 System_handle
0 00082905 System_init
0 00082d90 __TI_CINIT_Base
0 00082d94 __TI_CINIT_Limit
0 00082d94 __TI_CINIT_Warm
0 00082d8a __TI_Handler_Table_Base
0 00082d8e __TI_Handler_Table_Limit
0 00000600 __TI_STACK_END
abs 00000200 __TI_STACK_SIZE
0 000828b1 __TI_auto_init_nobinit_nopinit
0 000080d0 __TI_cleanup_ptr
0 00082883 __TI_decompress_lzss
0 00082b7c __TI_decompress_none
0 000080d2 __TI_dtors_ptr
0 000080ce __TI_enable_exit_profile_output
abs ffffffff __TI_pprof_out_hndl
abs ffffffff __TI_prof_data_size
abs ffffffff __TI_prof_data_start
0 0008259f __c28xabi_divf
n/a UNDEFED __c_args__
0 0008230e __error__
0 00000400 __stack
0 00082b3e _args_main
0 00082a19 _c_int00
0 000080d4 _lock
0 00082b7b _nop
0 00082b77 _register_lock
0 00082b73 _register_unlock
0 00082ba0 _system_post_cinit
0 00082b9e _system_pre_init
0 000080d6 _unlock
0 000828dc abort
0 00082000 applicationStartAddress
0 00080100 bootloaderStartAddress
0 00082000 code_start_application
0 000828de exit
0 00082b99 main
0 000829cb memcpy
GLOBAL SYMBOLS: SORTED BY Symbol Address
page address name
---- ------- ----
0 00000400 __stack
0 00000600 __TI_STACK_END
0 00008000 Flash_initModule
0 00008000 RamfuncsRunStart
0 000080ca SysCtl_delay
0 000080ce RamfuncsRunEnd
0 000080ce __TI_enable_exit_profile_output
0 000080d0 __TI_cleanup_ptr
0 000080d2 __TI_dtors_ptr
0 000080d4 _lock
0 000080d6 _unlock
0 00080100 bootloaderStartAddress
0 00082000 applicationStartAddress
0 00082000 code_start_application
0 00082100 RamfuncsLoadStart
0 000821ce RamfuncsLoadEnd
0 000821d0 SysCtl_setClock
0 0008230e __error__
0 00082311 Device_initGPIO
0 00082321 Device_enableAllPeripherals
0 00082392 Device_init
0 00082412 SysCtl_isPLLValid
0 000824fc GPIO_setAnalogMode
0 0008259f __c28xabi_divf
0 0008269a SysCtl_getClock
0 000826ff GPIO_setPadConfig
0 00082796 SysCtl_selectOscSource
0 000827d8 Interrupt_initModule
0 00082815 SysCtl_selectXTAL
0 00082852 GPIO_setDirectionMode
0 00082883 __TI_decompress_lzss
0 000828b1 __TI_auto_init_nobinit_nopinit
0 000828dc C$$EXIT
0 000828dc abort
0 000828de exit
0 00082905 System_init
0 00082927 System_handle
0 00082951 SysCtl_selectXTALSingleEnded
0 000829ad Interrupt_initVectorTable
0 000829cb memcpy
0 000829e8 SysCtl_getLowSpeedClock
0 00082a19 _c_int00
0 00082a46 Interrupt_defaultHandler
0 00082b3e _args_main
0 00082b5f Interrupt_illegalOperationHandler
0 00082b69 Interrupt_nmiHandler
0 00082b73 _register_unlock
0 00082b77 _register_lock
0 00082b7b _nop
0 00082b7c __TI_decompress_none
0 00082b93 FirmwareHeader_getBootloaderFirmwareInfo
0 00082b96 FirmwareHeader_getApplicationFirmwareInfo
0 00082b99 main
0 00082b9e _system_pre_init
0 00082ba0 _system_post_cinit
0 00082d8a __TI_Handler_Table_Base
0 00082d8e __TI_Handler_Table_Limit
0 00082d90 __TI_CINIT_Base
0 00082d94 __TI_CINIT_Limit
0 00082d94 __TI_CINIT_Warm
abs 000000ce RamfuncsLoadSize
abs 000000ce RamfuncsRunSize
abs 00000200 __TI_STACK_SIZE
abs ffffffff __TI_pprof_out_hndl
abs ffffffff __TI_prof_data_size
abs ffffffff __TI_prof_data_start
n/a UNDEFED __c_args__
[67 symbols]
If anything needs clarification, please contact!