This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
I am experiencing the same error message form the serial flash bootloader as the referenced thread. However the work around in the previous thread will not work for me - I need a fixed location for "codestart" so I can cleanly launch the application from my bootware located elsewhere in flash.
Verification confirms the vector at 0x084000 was not programmed. (this is where I have placed "codestart" for my application, my bootware starts at 0x080000)
Checking with JTAG - I see the section is still blank.
checking the project TXT stream file, I can see the very small (2 word) section located at 00084000:
Thanks for any advice!
Hi Paul,
Sorry for the delay; We are notified today to take a look at this post.
The error message did not actually show any error from the flash API during the program operation. Can you share your linker command file and the map file? Would like to see how the corresponding 128-bit aligned flash word is used/split in your linker command file.
Are you able to load it fine using CCS flash plugin?
Thanks and regards,
Vamsi
Hi Vamsi, I will attach the files here. The flash API has been inconsistent, in some situations I do get an error that is passed back to the pc application but not in all situations. When I load the project with CCS it works as expected and I see the start jump instruction at address 0x084000. In the attached linker file you will see I left a gap between "Begin2" and "FLASHBANK0_FAST" - I have also tried with no gap here, same result. Even when I put the FLASHBANK0_FAST starting at 0x084002 the resulting txt stream file has two sections, one for begin2 and one for bank0flash.
Linker CMD file for application
//APPLICATION // Keep in mind that LS0, and LS1 are protected by the code // security module. // // What this means is in most cases you will want to move to // another memory map file which has more memory defined. // */ /*========================================================= */ /* Define the memory block start/length for the F280013x PAGE 0 will be used to organize program sections PAGE 1 will be used to organize data sections Notes: Memory blocks on F2800137 are uniform (ie same physical memory) in both PAGE 0 and PAGE 1. That is the same memory region should not be defined for both PAGE 0 and PAGE 1. Doing so will result in corruption of program and/or data. Contiguous SARAM memory blocks can be combined if required to create a larger memory block. *///############################################################################# // This file belongs to the DCSM testing project for f28002x device. // It is intended to be a part of the test directory only. //############################################################################# // DISCLAIMER //############################################################################# MEMORY { BEGIN2 : origin = 0x00084000, length = 0x00000002 //application entry point 0x083000 fixed vector // BOOT_RSVD : origin = 0x00000002, length = 0x00000126 /* Flash sectors */ // FLASH_BOOT_RESERVE : origin = 0x080008, length = 0x3FF0 // used by bootware!! FLASHBANK0_FAST : origin = 0x084080, length = 0x02F00 // END=0x086000 FLASHBANK0_DATA : origin = 0x087000, length = 0x01000 // END=0x088000 FLASHBANK0_CODE : origin = 0x088000, length = 0x06000 // END=0x8DFF0 // FLASHBANK0_EEPROM : origin = 0x09F000, length = 0x01000 // 20k cycles each sector, 100k combined max /* RAM */ RAMM0S : origin = 0x00000128, length = 0x00000158 /* stack */ RAMM1D : origin = 0x00000280, length = 0x00000578 /* on-chip RAM block M1 */ RAMM1_RSVD : origin = 0x000007F8, length = 0x00000008 /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */ RAMLS0F : origin = 0x00008000, length = 0x00000600 /* Reserve for FAST */ RAMLS0D : origin = 0x00008600, length = 0x00001A00 RAMLS1P : origin = 0x0000A000, length = 0x00001FF0 BOOT_L_KEY : origin = 0x0000BFF0, length = 0x10 } SECTIONS { codestart : > BEGIN2 // ALIGN(8) dont align this so that code gets packed in after 0x084000-0x0804002 GROUP { .TI.ramfunc { #if defined(MOTOR1_FAST) || defined(MOTOR2_FAST) -l est_trajState_coff.lib<est_setupTrajState.obj> (.text) #endif #if defined(SFRA_ENABLE) -l sfra_f32_tmu_coff.lib<sfra_f32_tmu_collect.obj> (.text) -l sfra_f32_tmu_coff.lib<sfra_f32_tmu_inject.obj> (.text) #endif } dclfuncs dcl32funcs } LOAD > FLASHBANK0_CODE, RUN > RAMLS1P, LOAD_START(RamfuncsLoadStart), LOAD_SIZE(RamfuncsLoadSize), LOAD_END(RamfuncsLoadEnd), RUN_START(RamfuncsRunStart), RUN_SIZE(RamfuncsRunSize), RUN_END(RamfuncsRunEnd), ALIGN(8) ctrlfuncs : LOAD > FLASHBANK0_CODE, RUN > RAMLS1P, LOAD_START(loadStart_ctrlfuncs), LOAD_END(loadEnd_ctrlfuncs), LOAD_SIZE(loadSize_ctrlfuncs), RUN_START(runStart_ctrlfuncs), RUN_END(runEnd_ctrlfuncs), RUN_SIZE(runSize_ctrlfuncs), ALIGN(8) .text : > FLASHBANK0_FAST | FLASHBANK0_CODE, ALIGN(8) .cinit : > FLASHBANK0_CODE, ALIGN(8) .switch : > FLASHBANK0_CODE, ALIGN(8) .cio : > FLASHBANK0_CODE, ALIGN(8) .pinit : > FLASHBANK0_DATA, ALIGN(8) .const : > FLASHBANK0_DATA, ALIGN(8) .init_array : > FLASHBANK0_CODE, ALIGN(8) .bootkey : > BOOT_L_KEY .stack : > RAMM0S // .bss : > RAMM1D .bss : > RAMLS0D .bss:output : > RAMM1D .bss:cio : > RAMM1D .data : > RAMM1D .sysmem : > RAMM1D fastCode : > FLASHBANK0_FAST { --library=fast_full_lib.lib (.text) } /* Allocate IQ math areas: */ IQmath : > FLASHBANK0_CODE, ALIGN(8) IQmathTables : > FLASHBANK0_CODE, ALIGN(8) prms_data : > FLASHBANK0_DATA est_data : > RAMLS0F, LOAD_START(loadStart_est_data), LOAD_END(loadEnd_est_data), LOAD_SIZE(loadSize_est_data) hal_data : > RAMM1D, LOAD_START(loadStart_hal_data), LOAD_END(loadEnd_hal_data), LOAD_SIZE(loadSize_hal_data) user_data : > RAMLS0D, //RAMM1D, LOAD_START(loadStart_user_data), LOAD_END(loadEnd_user_data), LOAD_SIZE(loadSize_user_data) foc_data : > RAMM1D, LOAD_START(loadStart_foc_data), LOAD_END(loadEnd_foc_data), LOAD_SIZE(loadSize_foc_data) sys_data : > RAMLS0D, LOAD_START(loadStart_sys_data), LOAD_END(loadEnd_sys_data), LOAD_SIZE(loadSize_sys_data) vibc_data : > RAMLS0D, LOAD_START(loadStart_vibc_data), LOAD_END(loadEnd_vibc_data), LOAD_SIZE(loadSize_vibc_data) dmaBuf_data : > RAMLS0D, LOAD_START(loadStart_dmaBuf_data), LOAD_END(loadEnd_dmaBuf_data), LOAD_SIZE(loadSize_dmaBuf_data) SFRA_F32_Data : > RAMLS0D, LOAD_START(loadStart_SFRA_F32_Data), LOAD_END(loadEnd_SFRA_F32_Data), LOAD_SIZE(loadSize_SFRA_F32_Data) datalog_data : > RAMLS0D, LOAD_START(loadStart_datalog_data), LOAD_END(loadEnd_datalog_data), LOAD_SIZE(loadSize_datalog_data) dbgc_data : > RAMLS0D, LOAD_START(loadStart_dbgc_data), LOAD_END(loadEnd_dbgc_data), LOAD_SIZE(loadSize_dbgc_data) } /* //=========================================================================== // End of file. //=========================================================================== */
Map file for applicaiton:
****************************************************************************** TMS320C2000 Linker PC v22.6.0 ****************************************************************************** >> Linked Thu Jun 29 15:30:14 2023 OUTPUT FILE NAME: <f2800137.out> ENTRY POINT SYMBOL: "code_start" address: 00084000 MEMORY CONFIGURATION name origin length used unused attr fill ---------------------- -------- --------- -------- -------- ---- -------- RAMM0S 00000128 00000158 00000100 00000058 RWIX RAMM1D 00000280 00000578 000002bc 000002bc 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 00000022 00000000 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 RAMLS0F 00008000 00000600 000005a8 00000058 RWIX RAMLS0D 00008600 00001a00 0000066b 00001395 RWIX RAMLS1P 0000a000 00001ff0 00001177 00000e79 RWIX BOOT_L_KEY 0000bff0 00000010 00000002 0000000e 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 BEGIN2 00084000 00000002 00000002 00000000 RWIX FLASHBANK0_FAST 00084080 00002f00 000015a7 00001959 RWIX FLASHBANK0_DATA 00087000 00001000 0000018e 00000e72 RWIX FLASHBANK0_CODE 00088000 00006000 000044ce 00001b32 RWIX SECTION ALLOCATION MAP output attributes/ section page origin length input sections -------- ---- ---------- ---------- ---------------- .stack 0 00000128 00000100 UNINITIALIZED 00000128 00000100 --HOLE-- .bss 0 00008600 0000033d UNINITIALIZED 00008600 000000ca SerialProtocol.obj (.bss) 000086ca 00000080 SerialPortDiag.obj (.bss:recvData) 0000874a 00000080 SerialPortUser.obj (.bss:recvDataUser) 000087ca 00000080 SerialPortDiag.obj (.bss:sendData) 0000884a 00000080 SerialPortUser.obj (.bss:sendDataUser) 000088ca 00000018 DacDiagI2C.obj (.bss) 000088e2 00000012 SerialPortUser.obj (.bss) 000088f4 00000010 SerialProtocol.obj (.bss:RegisterPages) 00008904 00000010 SerialPortDiag.obj (.bss) 00008914 00000008 DataLogger.obj (.bss) 0000891c 00000008 UserInputAnalog.obj (.bss) 00008924 00000008 SerialProtocol.obj (.bss:dummyFloat) 0000892c 00000008 SerialProtocol.obj (.bss:dummyu32) 00008934 00000004 SerialProtocol.obj (.bss:dummyV) 00008938 00000002 CommandController.obj (.bss) 0000893a 00000002 sys_main.obj (.bss) 0000893c 00000001 LedDiag.obj (.bss) ctrlfuncs * 0 0000a000 00000000 UNINITIALIZED codestart * 0 00084000 00000002 00084000 00000002 f280013x_codestartbranch.obj (codestart) .TI.ramfunc * 0 00088000 00001177 RUN ADDR = 0000a000 00088000 0000072e fast_full_lib_eabi.lib : est_flib_priv.obj (.TI.ramfunc:EST_runEst) 0008872e 00000622 motor1_drive.obj (.TI.ramfunc:motor1CtrlISR) 00088d50 00000213 fast_full_lib_eabi.lib : est_all_identify_flib_priv.obj (.TI.ramfunc:EST_configureTrajState) 00088f63 000000ae : est_flib_priv.obj (.TI.ramfunc:EST_run) 00089011 0000007f : est_all_run_flib_priv.obj (.TI.ramfunc:EST_setupTrajState) 00089090 0000005d : est_Traj_flib_priv.obj (.TI.ramfunc:EST_Traj_run) 000890ed 00000033 driverlib.lib : flash.obj (.TI.ramfunc:Flash_initModule) 00089120 00000016 fast_full_lib_eabi.lib : est_flib_priv.obj (.TI.ramfunc:EST_doSpeedCtrl) 00089136 0000000f : est_flib_priv.obj (.TI.ramfunc:EST_updateId_ref_A) 00089145 0000000a : est_flib_priv.obj (.TI.ramfunc:EST_doCurrentCtrl) 0008914f 00000009 : est_flib_priv.obj (.TI.ramfunc:EST_getIntValue_spd_Hz) 00089158 00000008 : est_flib_priv.obj (.TI.ramfunc:EST_getIdRated_A) 00089160 00000007 : est_flib_priv.obj (.TI.ramfunc:EST_getIntValue_Id_A) 00089167 00000006 : est_flib_priv.obj (.TI.ramfunc:EST_runTraj) 0008916d 00000004 : est_flib_priv.obj (.TI.ramfunc:EST_isEnabled) 00089171 00000004 driverlib.lib : sysctl.obj (.TI.ramfunc) 00089175 00000002 fast_full_lib_eabi.lib : est_flib_priv.obj (.TI.ramfunc:EST_getState) dclfuncs 0 00089177 00000000 UNINITIALIZEDRUN ADDR = 0000b177 dcl32funcs * 0 00089177 00000000 UNINITIALIZEDRUN ADDR = 0000b177 .text 0 00089178 000032cb 00089178 0000039b motor1_drive.obj (.text:runMotor1OffsetsCalculation) 00089513 00000317 motor1_drive.obj (.text:runMotor1Control) 0008982a 000002e3 hal.obj (.text:HAL_setupPWMs) 00089b0d 000002b1 motor1_drive.obj (.text:initMotor1CtrlParameters) 00089dbe 00000261 user_mtr1.obj (.text:USER_setMotor1Params) 0008a01f 00000215 SerialProtocol.obj (.text:SerialProtocol_Process) 0008a234 0000019f motor_common.obj (.text:runMotorMonitor) 0008a3d3 0000018f sys_main.obj (.text:main) 0008a562 00000187 hal.obj (.text:HAL_setupMtrFaults) 0008a6e9 0000014a hal.obj (.text:HAL_setupADCs) 0008a833 00000138 driverlib.lib : sysctl.obj (.text:SysCtl_setClock) 0008a96b 0000012b motor_common.obj (.text:setupControllers) 0008aa96 0000010b hal.obj (.text:HAL_setupCMPSSs) 0008aba1 000000ef motor_common.obj (.text:updateGlobalVariables) 0008ac90 000000ec SerialPortDiag.obj (.text:SerialPortDiag_Initialize) 0008ad7c 000000e7 hal.obj (.text:HAL_setupGPIOs) 0008ae63 000000e5 device.obj (.text:Device_enableAllPeripherals) 0008af48 000000dd driverlib.lib : sysctl.obj (.text:SysCtl_isPLLValid) 0008b025 000000d9 SerialPortUser.obj (.text:SerialPortUser_Initialize) 0008b0fe 000000c8 HoldPosition.obj (.text:HAL_writePWMBrakeMode) 0008b1c6 0000009a motor_common.obj (.text:restartMotorControl) 0008b260 00000098 DataLogger.obj (.text:DataLogger_SetChannelGroup) 0008b2f8 00000089 motor_common.obj (.text:calculateRMSData) 0008b381 00000088 rts2800_fpu32_eabi.lib : fs_div28.asm.obj (.text) 0008b409 00000086 motor_common.obj (.text:resetMotorControl) 0008b48f 0000007b driverlib.lib : gpio.obj (.text:GPIO_setAnalogMode) 0008b50a 00000074 : interrupt.obj (.text:Interrupt_clearIFR) 0008b57e 00000069 motor_common.obj (.text:runRsOnLine) 0008b5e7 00000068 motor_common.obj (.text:collectRMSData) 0008b64f 00000064 motor_common.obj (.text:stopMotorControl) 0008b6b3 00000063 SerialPortDiag.obj (.text:scibRXFIFOISR) 0008b716 00000061 SerialProtocol.obj (.text:SerialProtocol_Initialization) 0008b777 0000005f SerialPortUser.obj (.text:scicRXFIFOISR) 0008b7d6 0000005d device.obj (.text:Device_init) 0008b833 0000005c SerialPortDiag.obj (.text:scibTXFIFOISR) 0008b88f 0000005b SerialPortUser.obj (.text:scicTXFIFOISR) 0008b8ea 00000059 DacDiagI2C.obj (.text:DacDiagI2C_Initialize) 0008b943 00000052 CommandController.obj (.text:CommandController_Tick) 0008b995 00000052 hal.obj (.text:HAL_setupSCIA) 0008b9e7 00000052 SerialProtocol.obj (.text:SerialProtocol_Run) 0008ba39 0000004e UserInputAnalog.obj (.text:AnalogInput_CommandConvert) 0008ba87 0000004a driverlib.lib : interrupt.obj (.text:Interrupt_disable) 0008bad1 00000047 DataLogger.obj (.text:DataLogger_Tick) 0008bb18 00000043 DacDiagI2C.obj (.text:DacDiagI2C_Write) 0008bb5b 00000041 driverlib.lib : interrupt.obj (.text:Interrupt_initModule) 0008bb9c 00000040 Temperature.obj (.text:temperatureConvert) 0008bbdc 0000003f driverlib.lib : gpio.obj (.text:GPIO_setPadConfig) 0008bc1b 0000003d SerialPortUser.obj (.text:SerialPortUser_sendBytes) 0008bc58 00000038 driverlib.lib : adc.obj (.text:ADC_setOffsetTrimAll) 0008bc90 00000036 : interrupt.obj (.text:Interrupt_enable) 0008bcc6 00000031 motor_common.obj (.text:calcMotorOverCurrentThreshold) 0008bcf7 00000030 driverlib.lib : gpio.obj (.text:GPIO_setPinConfig) 0008bd27 0000002f : sysctl.obj (.text:SysCtl_selectXTAL) 0008bd56 0000002d SerialProtocol.obj (.text:SerialProtocol_Verify) 0008bd83 0000002c hal.obj (.text:HAL_MTR_setParams) 0008bdaf 0000002c hal.obj (.text:HAL_enableDRV) 0008bddb 0000002b hal.obj (.text:HAL_setupTimeBaseTimer) 0008be06 0000002b driverlib.lib : xbar.obj (.text:XBAR_setEPWMMuxConfig) 0008be31 0000002b rts2800_fpu32_eabi.lib : autoinit.c.obj (.text:__TI_auto_init_nobinit_nopinit) 0008be5c 00000029 : exit.c.obj (.text) 0008be85 00000027 UserInputAnalog.obj (.text:AnalogInput_Convert) 0008beac 00000027 hal.obj (.text:HAL_init) 0008bed3 00000027 hal.obj (.text:HAL_setTriggerPrams) 0008befa 00000026 hal.obj (.text:HAL_MTR1_init) 0008bf20 00000026 driverlib.lib : sysctl.obj (.text:SysCtl_selectOscSource) 0008bf46 00000023 : sci.obj (.text:SCI_setConfig) 0008bf69 00000022 : gpio.obj (.text:GPIO_setQualificationMode) 0008bf8b 00000021 hal.obj (.text:HAL_setParams) 0008bfac 00000020 driverlib.lib : gpio.obj (.text:GPIO_setDirectionMode) 0008bfcc 0000001f LedDiag.obj (.text:LedDiag_HeartBeat) 0008bfeb 0000001f SerialPortUser.obj (.text:SerialPortUser_ClockTick) 0008c00a 0000001f driverlib.lib : sysctl.obj (.text:SysCtl_pollX1Counter) 0008c029 0000001f UserInputAnalog.obj (.text:UserAnalogInput_ReadCommandRPM) 0008c048 0000001e SerialPortDiag.obj (.text:SerialPortDiag_sendBytes) 0008c066 0000001d SerialPortDiag.obj (.text:SerialPortDiag_getCommand) 0008c083 0000001d SerialPortUser.obj (.text:SerialPortUser_getCommand) 0008c0a0 0000001d rts2800_fpu32_eabi.lib : memcpy.c.obj (.text) 0008c0bd 0000001c driverlib.lib : sci.obj (.text:SCI_clearInterruptStatus) 0008c0d9 0000001c : sysctl.obj (.text:SysCtl_selectXTALSingleEnded) 0008c0f5 0000001c motor_common.obj (.text:setupClarke_I) 0008c111 0000001b SerialProtocol.obj (.text:CRC_16) 0008c12c 0000001b device.obj (.text:Device_initGPIO) 0008c147 0000001b UserInputAnalog.obj (.text:DirectionInput_Tick) 0008c162 0000001b hal.obj (.text:HAL_setupCPUUsageTimer) 0008c17d 0000001a LedDiag.obj (.text:LedDiag_Initialize) 0008c197 0000001a driverlib.lib : sci.obj (.text:SCI_disableInterrupt) 0008c1b1 0000001a : sci.obj (.text:SCI_enableInterrupt) 0008c1cb 00000019 : adc.obj (.text:ADC_setVREF) 0008c1e4 00000019 : cmpss.obj (.text:CMPSS_configFilterHigh) 0008c1fd 00000019 : cmpss.obj (.text:CMPSS_configFilterLow) 0008c216 00000019 DataLogger.obj (.text:DataLogger_Read) 0008c22f 00000018 motor1_drive.obj (.text:initMotor1Handles) 0008c247 00000017 rts2800_fpu32_eabi.lib : boot28.asm.obj (.text) 0008c25e 00000015 driverlib.lib : interrupt.obj (.text:Interrupt_initVectorTable) 0008c273 00000015 SerialPortDiag.obj (.text:SerialPortDiag_ClockTick) 0008c288 00000014 UserInputAnalog.obj (.text:FaultOutput_Initialize) 0008c29c 00000013 motor_common.obj (.text:setupClarke_V) 0008c2af 00000012 SerialPortDiag.obj (.text:SerialPortDiag_ReceivePurge) 0008c2c1 00000012 SerialPortUser.obj (.text:SerialPortUser_ReceivePurge) 0008c2d3 00000011 UserInputAnalog.obj (.text:FaultOutput_Tick) 0008c2e4 00000011 communication.obj (.text:canaISR) 0008c2f5 00000010 SerialProtocol.obj (.text:SerialProtocol_ReceiveFlags) 0008c305 0000000f CircularBuffer.obj (.text:CircularBuffer_Input) 0008c314 0000000f CircularBuffer.obj (.text:CircularBuffer_Output) 0008c323 0000000f DataLogger.obj (.text:DataLogger_SetFrequency) 0008c332 0000000f hal.obj (.text:HAL_setMtrCMPSSDACValue) 0008c341 0000000e hal.obj (.text:HAL_enableCtrlInts) 0008c34f 0000000d DataLogger.obj (.text:DataLogger_GetStatus) 0008c35c 0000000c rts2800_fpu32_eabi.lib : args_main.c.obj (.text) 0008c368 0000000b DataLogger.obj (.text:DataLogger_Initialize) 0008c373 0000000a HoldPosition.obj (.text:HoldPosition_Start) 0008c37d 0000000a SerialProtocol.obj (.text:SerialProtocol_GetCommand) 0008c387 00000009 driverlib.lib : epwm.obj (.text:EPWM_setEmulationMode) 0008c390 00000009 rts2800_fpu32_eabi.lib : _lock.c.obj (.text) 0008c399 00000008 hal.obj (.text:HAL_MTR_setGateDriver) 0008c3a1 00000008 hal.obj (.text:HAL_clearDataRAM) 0008c3a9 00000008 UserInputAnalog.obj (.text:UserInputAnalog_Initiatlize) 0008c3b1 00000008 rts2800_fpu32_eabi.lib : copy_decompress_none.c.obj (.text:decompress:none) 0008c3b9 00000008 f280013x_codestartbranch.obj (.text) 0008c3c1 00000007 rts2800_fpu32_eabi.lib : memset.c.obj (.text) 0008c3c8 00000006 driverlib.lib : cputimer.obj (.text:CPUTimer_setEmulationMode) 0008c3ce 00000006 filter_fo.obj (.text:FILTER_FO_setInitialConditions) 0008c3d4 00000006 rts2800_fpu32_eabi.lib : copy_zero_init.c.obj (.text:decompress:ZI) 0008c3da 00000005 UserInputAnalog.obj (.text:AnalogInput_Initialize) 0008c3df 00000005 clarke.obj (.text:CLARKE_init) 0008c3e4 00000005 DataLogger.obj (.text:DataLogger_Run) 0008c3e9 00000005 UserInputAnalog.obj (.text:DirectionInput_Hold) 0008c3ee 00000005 UserInputAnalog.obj (.text:DirectionInput_Initialize) 0008c3f3 00000005 filter_fo.obj (.text:FILTER_FO_init) 0008c3f8 00000005 filter_fo.obj (.text:FILTER_FO_setNumCoeffs) 0008c3fd 00000005 ipark.obj (.text:IPARK_init) 0008c402 00000005 park.obj (.text:PARK_init) 0008c407 00000005 pi.obj (.text:PI_init) 0008c40c 00000005 svgen.obj (.text:SVGEN_init) 0008c411 00000005 traj.obj (.text:TRAJ_init) 0008c416 00000005 UserInputAnalog.obj (.text:UserInputAnalog_Tick) 0008c41b 00000004 CommandController.obj (.text:CommandController_Initialize) 0008c41f 00000004 DataLogger.obj (.text:DataLogger_Stop) 0008c423 00000004 hal.obj (.text:HAL_enableGlobalInts) 0008c427 00000004 driverlib.lib : interrupt.obj (.text:Interrupt_defaultHandler) 0008c42b 00000004 SerialPortDiag.obj (.text:SerialPortDiag_isReceiveReady) 0008c42f 00000004 SerialPortUser.obj (.text:SerialPortUser_isReceiveReady) 0008c433 00000003 filter_fo.obj (.text:FILTER_FO_setDenCoeffs) 0008c436 00000003 hal.obj (.text:HAL_enableDebugInt) 0008c439 00000002 CircularBuffer.obj (.text:CircularBuffer_Length) 0008c43b 00000002 driverlib.lib : interrupt.obj (.text:Interrupt_illegalOperationHandler) 0008c43d 00000002 : interrupt.obj (.text:Interrupt_nmiHandler) 0008c43f 00000002 rts2800_fpu32_eabi.lib : pre_init.c.obj (.text) 0008c441 00000001 HoldPosition.obj (.text:HoldPosition_Tick) 0008c442 00000001 rts2800_fpu32_eabi.lib : startup.c.obj (.text) .cinit 0 0008c448 0000008c 0008c448 0000004c (.cinit..data.load) [load image] 0008c494 00000004 (.cinit..bootkey.load) [load image, compression = zero_init] 0008c498 00000004 (.cinit..bss.load) [load image, compression = zero_init] 0008c49c 00000004 (.cinit.est_data.load) [load image, compression = zero_init] 0008c4a0 00000004 (.cinit.foc_data.load) [load image, compression = zero_init] 0008c4a4 00000004 (.cinit.hal_data.load) [load image, compression = zero_init] 0008c4a8 00000004 (.cinit.sys_data.load) [load image, compression = zero_init] 0008c4ac 00000004 (.cinit.user_data.load) [load image, compression = zero_init] 0008c4b0 00000004 (__TI_handler_table) 0008c4b4 00000020 (__TI_cinit_table) foc_data 0 00000280 00000256 UNINITIALIZED 00000280 00000256 motor1_drive.obj (foc_data) hal_data 0 0000051e 0000001e UNINITIALIZED 0000051e 0000001e hal.obj (hal_data) vibc_data * 0 00008600 00000000 UNINITIALIZED dmaBuf_data * 0 00008600 00000000 UNINITIALIZED SFRA_F32_Data * 0 00008600 00000000 UNINITIALIZED datalog_data * 0 00008600 00000000 UNINITIALIZED dbgc_data * 0 00008600 00000000 UNINITIALIZED sys_data 0 00008940 0000022c UNINITIALIZED 00008940 0000021a DataLogger.obj (sys_data) 00008b5a 00000012 sys_main.obj (sys_data) .const 0 00087000 0000018e 00087000 00000096 SerialProtocol.obj (.const) 00087096 00000020 SerialProtocol.obj (.const:RegisterList0) 000870b6 00000004 fast_full_lib_eabi.lib : est_Iab_flib_priv.obj (.const) 000870ba 00000004 : est_Idq_flib_priv.obj (.const) 000870be 00000002 --HOLE-- [fill = 0] 000870c0 00000040 : est_flib_priv.obj (.const) 00087100 00000020 SerialProtocol.obj (.const:RegisterList1) 00087120 00000020 SerialProtocol.obj (.const:RegisterList2) 00087140 0000001e SerialPortUser.obj (.const) 0008715e 0000001c SerialPortDiag.obj (.const) 0008717a 00000010 Temperature.obj (.const:tempTable) 0008718a 00000004 fast_full_lib_eabi.lib : est_Vdq_flib_priv.obj (.const) .init_array * 0 00088000 00000000 UNINITIALIZED .bootkey 0 0000bff0 00000002 UNINITIALIZED 0000bff0 00000002 sys_main.obj (.bootkey) .data 0 000004d6 00000048 UNINITIALIZED 000004d6 0000003c SerialProtocol.obj (.data:IdentificationPage) 00000512 00000006 rts2800_fpu32_eabi.lib : exit.c.obj (.data) 00000518 00000002 SerialProtocol.obj (.data) 0000051a 00000002 rts2800_fpu32_eabi.lib : _lock.c.obj (.data:_lock) 0000051c 00000002 : _lock.c.obj (.data:_unlock) fastCode 0 00084080 000015a7 00084080 00000408 fast_full_lib_eabi.lib : est_flib_priv.obj (.text:EST_setParams) 00084488 00000284 : est_flib_priv.obj (.text:EST_updateState) 0008470c 000001be : est_flib_priv.obj (.text:EST_reset) 000848ca 0000010f : est_Traj_flib_priv.obj (.text:EST_Traj_configure) 000849d9 000000c4 : est_flib_priv.obj (.text:EST_init) 00084a9d 000000ab : est_Traj_flib_priv.obj (.text:EST_Traj_setParams) 00084b48 00000086 : est_Dir_flib_priv.obj (.text:EST_Dir_setLpFilterParams) 00084bce 00000077 : user_flib_priv.obj (.text:USER_setParams_priv) 00084c45 0000005c : est_Flux_flib_priv.obj (.text:EST_Flux_setParams) 00084ca1 00000059 : est_Traj_flib_priv.obj (.text:EST_Traj_updateState) 00084cfa 0000004e : est_Freq_flib_priv.obj (.text:EST_Freq_setParams) 00084d48 0000004a : est_Dir_flib_priv.obj (.text:EST_Dir_setHpFilterParams) 00084d92 0000004a : est_Flux_ab_flib_priv.obj (.text:EST_Flux_ab_setDerFilterParams) 00084ddc 0000004a : est_Iab_flib_priv.obj (.text:EST_Iab_setLpFilterParams) 00084e26 0000004a : est_Idq_flib_priv.obj (.text:EST_Idq_setLpFilterParams) 00084e70 0000004a : est_Vdq_flib_priv.obj (.text:EST_Vdq_setLpFilterParams) 00084eba 00000045 : est_RsOnLine_flib_priv.obj (.text:EST_RsOnLine_setParams) 00084eff 0000003f : est_Ls_flib_priv.obj (.text:EST_Ls_setParams) 00084f3e 0000003d : est_RsOnLine_flib_priv.obj (.text:EST_RsOnLine_setLpFilterParams) 00084f7b 0000003a : est_Flux_flib_priv.obj (.text:EST_Flux_updateState) 00084fb5 00000035 : est_Ls_flib_priv.obj (.text:EST_Ls_updateState) 00084fea 00000033 : est_Rr_flib_priv.obj (.text:EST_Rr_updateState) 0008501d 00000033 : est_Rs_flib_priv.obj (.text:EST_Rs_updateState) 00085050 00000031 : est_Dir_flib_priv.obj (.text:EST_Dir_init) 00085081 0000002e : est_Iab_flib_priv.obj (.text:EST_Iab_resetLpFilters) 000850af 0000002a : est_Freq_flib_priv.obj (.text:EST_Freq_setDerFilterParams) 000850d9 0000002a : est_Freq_flib_priv.obj (.text:EST_Freq_setLpFilterParams) 00085103 0000002a : est_Vdq_flib_priv.obj (.text:EST_Vdq_resetLpFilters) 0008512d 00000029 : est_OneOverDcBus_flib_priv.obj (.text:EST_OneOverDcBus_setParams) 00085156 00000029 : est_RsOnLine_flib_priv.obj (.text:EST_RsOnLine_init) 0008517f 00000029 : est_flib_priv.obj (.text:EST_setFluxBeta_lp) 000851a8 00000028 : est_flib_priv.obj (.text:EST_computeTorque_Nm) 000851d0 00000026 : est_Angle_flib_priv.obj (.text:EST_Angle_setParams) 000851f6 00000026 : est_Idq_flib_priv.obj (.text:EST_Idq_resetLpFilters) 0008521c 0000001e : est_flib_priv.obj (.text:EST_computeLmag_H) 0008523a 0000001c : est_Dir_flib_priv.obj (.text:EST_Dir_resetLpFilters) 00085256 0000001c : est_Rr_flib_priv.obj (.text:EST_Rr_setParams) 00085272 0000001c : est_Rs_flib_priv.obj (.text:EST_Rs_setParams) 0008528e 0000001c : est_Traj_flib_priv.obj (.text:EST_Traj_init) 000852aa 0000001c : est_flib_priv.obj (.text:EST_setFreqBetaOmega_der) 000852c6 0000001b : est_flib_priv.obj (.text:EST_setFlux_ab_betaOmega_der) 000852e1 00000018 : est_Traj_flib_priv.obj (.text:EST_Traj_reset) 000852f9 00000016 : est_Flux_ab_flib_priv.obj (.text:EST_Flux_ab_init) 0008530f 00000016 : est_Freq_flib_priv.obj (.text:EST_Freq_init) 00085325 00000016 : est_Iab_flib_priv.obj (.text:EST_Iab_init) 0008533b 00000016 : est_Iab_flib_priv.obj (.text:EST_Iab_setParams) 00085351 00000016 : est_Idq_flib_priv.obj (.text:EST_Idq_init) 00085367 00000016 : est_Vdq_flib_priv.obj (.text:EST_Vdq_init) 0008537d 00000015 : est_flib_priv.obj (.text:EST_setFreqBeta_lp) 00085392 00000015 : est_flib_priv.obj (.text:EST_setIab_beta_lp) 000853a7 00000015 : est_flib_priv.obj (.text:EST_setIdq_beta_lp) 000853bc 00000015 : est_flib_priv.obj (.text:EST_setVdq_beta_lp) 000853d1 00000013 : est_Idq_flib_priv.obj (.text:EST_Idq_setParams) 000853e4 00000012 : est_Vdq_flib_priv.obj (.text:EST_Vdq_setParams) 000853f6 00000012 : est_flib_priv.obj (.text:EST_initEst) 00085408 00000010 : est_Dir_flib_priv.obj (.text:EST_Dir_resetHpFilters) 00085418 00000010 : est_Flux_ab_flib_priv.obj (.text:EST_Flux_ab_resetDerFilters) 00085428 0000000f : est_Flux_flib_priv.obj (.text:EST_Flux_init) 00085437 0000000f : est_OneOverDcBus_flib_priv.obj (.text:EST_OneOverDcBus_init) 00085446 0000000f : est_all_setup_flib_priv.obj (.text:EST_setFreqLFP_sf) 00085455 0000000e : est_flib_priv.obj (.text:EST_getFlux_Wb) 00085463 0000000e : est_flib_priv.obj (.text:EST_getFm_lp_Hz) 00085471 0000000c : est_all_setup_flib_priv.obj (.text:EST_setBemf_sf) 0008547d 0000000c : est_all_setup_flib_priv.obj (.text:EST_setOneOverFluxGain_sf) 00085489 0000000b : est_Dir_flib_priv.obj (.text:EST_Dir_setParams) 00085494 0000000a : est_Flux_ab_flib_priv.obj (.text:EST_Flux_ab_setParams) 0008549e 00000009 : est_flib_priv.obj (.text:EST_computePower_W) 000854a7 00000009 : est_flib_priv.obj (.text:EST_setAngle_rad) 000854b0 00000009 : inverse_flib_priv.obj (.text:INVERSE_setParams) 000854b9 00000008 : est_flib_priv.obj (.text:EST_enableTraj) 000854c1 00000008 : est_flib_priv.obj (.text:EST_getLs_d_H) 000854c9 00000008 : est_flib_priv.obj (.text:EST_getLs_q_H) 000854d1 00000008 : est_flib_priv.obj (.text:EST_getRr_Ohm) 000854d9 00000008 : est_flib_priv.obj (.text:EST_getRsOnLine_Ohm) 000854e1 00000008 : est_flib_priv.obj (.text:EST_getRs_Ohm) 000854e9 00000008 : est_flib_priv.obj (.text:EST_isError) 000854f1 00000008 : est_flib_priv.obj (.text:EST_isIdle) 000854f9 00000008 : est_flib_priv.obj (.text:EST_isLockRotor) 00085501 00000008 : est_flib_priv.obj (.text:EST_setLs_d_H) 00085509 00000008 : est_flib_priv.obj (.text:EST_setLs_q_H) 00085511 00000008 : est_flib_priv.obj (.text:EST_setRr_Ohm) 00085519 00000008 : est_flib_priv.obj (.text:EST_setRsOnLineId_A) 00085521 00000008 : est_flib_priv.obj (.text:EST_setRsOnLineId_mag_A) 00085529 00000008 : est_flib_priv.obj (.text:EST_setRsOnLine_Ohm) 00085531 00000007 : est_Eab_flib_priv.obj (.text:EST_Eab_setParams) 00085538 00000007 : est_Flux_flib_priv.obj (.text:EST_Flux_setWaitTimes) 0008553f 00000007 : est_Freq_flib_priv.obj (.text:EST_Freq_resetDerFilter) 00085546 00000007 : est_Freq_flib_priv.obj (.text:EST_Freq_resetLpFilter) 0008554d 00000007 : est_Ls_flib_priv.obj (.text:EST_Ls_setWaitTimes) 00085554 00000007 : est_Rr_flib_priv.obj (.text:EST_Rr_setWaitTimes) 0008555b 00000007 : est_Rs_flib_priv.obj (.text:EST_Rs_setWaitTimes) 00085562 00000007 : est_flib_priv.obj (.text:EST_configureTraj) 00085569 00000007 : est_flib_priv.obj (.text:EST_disableTraj) 00085570 00000007 : est_flib_priv.obj (.text:EST_setMotorParams) 00085577 00000007 : est_flib_priv.obj (.text:EST_setWaitTimes) 0008557e 00000007 : est_flib_priv.obj (.text:EST_updateTrajState) 00085585 00000006 : est_Traj_flib_priv.obj (.text:EST_Traj_isError) 0008558b 00000006 : est_flib_priv.obj (.text:EST_getFe_rps) 00085591 00000006 : est_flib_priv.obj (.text:EST_isTrajError) 00085597 00000006 : est_flib_priv.obj (.text:EST_setId_ref_A) 0008559d 00000006 : est_flib_priv.obj (.text:EST_setIq_ref_A) 000855a3 00000005 : est_Edq_flib_priv.obj (.text:EST_Edq_setEdq_V) 000855a8 00000005 : est_Flux_dq_flib_priv.obj (.text:EST_Flux_dq_setFlux_Wb) 000855ad 00000005 : est_Vab_flib_priv.obj (.text:EST_Vab_setVab_V) 000855b2 00000005 : est_flib_priv.obj (.text:EST_enable) 000855b7 00000005 : est_flib_priv.obj (.text:EST_getTrajState) 000855bc 00000004 : est_Angle_flib_priv.obj (.text:EST_Angle_init) 000855c0 00000004 : est_Eab_flib_priv.obj (.text:EST_Eab_init) 000855c4 00000004 : est_Edq_flib_priv.obj (.text:EST_Edq_init) 000855c8 00000004 : est_Flux_dq_flib_priv.obj (.text:EST_Flux_dq_init) 000855cc 00000004 : est_Ls_flib_priv.obj (.text:EST_Ls_init) 000855d0 00000004 : est_Rr_flib_priv.obj (.text:EST_Rr_init) 000855d4 00000004 : est_Rs_flib_priv.obj (.text:EST_Rs_init) 000855d8 00000004 : est_Vab_flib_priv.obj (.text:EST_Vab_init) 000855dc 00000004 : est_flib_priv.obj (.text:EST_disable) 000855e0 00000004 : est_flib_priv.obj (.text:EST_getFlag_bypassLockRotor) 000855e4 00000004 : est_flib_priv.obj (.text:EST_getFlag_enable) 000855e8 00000004 : est_flib_priv.obj (.text:EST_getFlag_enableRsOnLine_inline) 000855ec 00000004 : est_flib_priv.obj (.text:EST_getFlag_enableRsRecalc) 000855f0 00000004 : est_flib_priv.obj (.text:EST_getRoverL_rps_inline) 000855f4 00000004 : est_flib_priv.obj (.text:EST_isMotorIdentified) 000855f8 00000004 : est_flib_priv.obj (.text:EST_setFlag_bypassLockRotor) 000855fc 00000004 : est_flib_priv.obj (.text:EST_setFlag_enable) 00085600 00000004 : est_flib_priv.obj (.text:EST_setFlag_enableFluxControl) 00085604 00000004 : est_flib_priv.obj (.text:EST_setFlag_enableForceAngle) 00085608 00000004 : est_flib_priv.obj (.text:EST_setFlag_enableRsOnLine_inline) 0008560c 00000004 : est_flib_priv.obj (.text:EST_setFlag_enableRsRecalc) 00085610 00000004 : est_flib_priv.obj (.text:EST_setFlag_updateRs) 00085614 00000004 : inverse_flib_priv.obj (.text:INVERSE_init) 00085618 00000003 : est_flib_priv.obj (.text:EST_checkForErrors) 0008561b 00000003 : est_all_setup_flib_priv.obj (.text:EST_getFASTVersion) 0008561e 00000003 : est_flib_priv.obj (.text:EST_resetCounter_isr) 00085621 00000003 : est_flib_priv.obj (.text:EST_resetCounter_state) 00085624 00000003 : est_flib_priv.obj (.text:EST_setNumIsrTicksPerEstTick) est_data 0 00008000 000005a8 UNINITIALIZED 00008000 000005a8 fast_full_lib_eabi.lib : est_flib_priv.obj (est_data) user_data * 0 00008b80 00000102 UNINITIALIZED 00008b80 00000102 user_mtr1.obj (user_data) I2caRegsFile * 0 00007300 00000022 UNINITIALIZED 00007300 00000022 f280013x_globalvariabledefs.obj (I2caRegsFile) MODULE SUMMARY Module code ro data rw data ------ ---- ------- ------- .\ SerialProtocol.obj 810 246 300 SerialPortUser.obj 546 30 274 DataLogger.obj 296 0 546 SerialPortDiag.obj 529 28 272 sys_main.obj 399 0 22 UserInputAnalog.obj 240 0 8 HoldPosition.obj 211 0 0 DacDiagI2C.obj 156 0 24 CommandController.obj 86 0 2 Temperature.obj 64 16 0 LedDiag.obj 57 0 1 CircularBuffer.obj 32 0 0 +--+---------------------------------+-------+---------+---------+ Total: 3426 320 1449 .\libraries\control\pi\ pi.obj 5 0 0 +--+---------------------------------+-------+---------+---------+ Total: 5 0 0 .\libraries\filter\filter_fo\ filter_fo.obj 19 0 0 +--+---------------------------------+-------+---------+---------+ Total: 19 0 0 .\libraries\transforms\clarke\ clarke.obj 5 0 0 +--+---------------------------------+-------+---------+---------+ Total: 5 0 0 .\libraries\transforms\ipark\ ipark.obj 5 0 0 +--+---------------------------------+-------+---------+---------+ Total: 5 0 0 .\libraries\transforms\park\ park.obj 5 0 0 +--+---------------------------------+-------+---------+---------+ Total: 5 0 0 .\libraries\transforms\svgen\ svgen.obj 5 0 0 +--+---------------------------------+-------+---------+---------+ Total: 5 0 0 .\libraries\utilities\traj\ traj.obj 5 0 0 +--+---------------------------------+-------+---------+---------+ Total: 5 0 0 .\src_board\ hal.obj 2399 0 30 user_mtr1.obj 609 0 258 +--+---------------------------------+-------+---------+---------+ Total: 3008 0 288 .\src_control\ motor1_drive.obj 5567 0 598 motor_common.obj 1783 0 0 communication.obj 17 0 0 +--+---------------------------------+-------+---------+---------+ Total: 7367 0 598 .\src_device\ device.obj 349 0 0 f280013x_globalvariabledefs.obj 0 0 34 f280013x_codestartbranch.obj 10 0 0 +--+---------------------------------+-------+---------+---------+ Total: 359 0 34 ../src_device/driverlib.lib sysctl.obj 685 0 0 interrupt.obj 338 0 0 gpio.obj 300 0 0 sci.obj 115 0 0 flash.obj 102 0 0 adc.obj 81 0 0 cmpss.obj 50 0 0 xbar.obj 43 0 0 epwm.obj 9 0 0 cputimer.obj 6 0 0 +--+---------------------------------+-------+---------+---------+ Total: 1729 0 0 ..\libraries\observers\est_lib\fast_full_lib_eabi.lib est_flib_priv.obj 7079 64 1448 est_all_identify_flib_priv.obj 1062 0 0 est_Traj_flib_priv.obj 775 0 0 est_Dir_flib_priv.obj 312 0 0 est_all_run_flib_priv.obj 254 0 0 est_Freq_flib_priv.obj 198 0 0 est_Flux_flib_priv.obj 172 0 0 est_RsOnLine_flib_priv.obj 171 0 0 est_Iab_flib_priv.obj 164 4 0 est_Vdq_flib_priv.obj 156 4 0 est_Idq_flib_priv.obj 153 4 0 est_Ls_flib_priv.obj 127 0 0 est_Flux_ab_flib_priv.obj 122 0 0 user_flib_priv.obj 119 0 0 est_Rr_flib_priv.obj 90 0 0 est_Rs_flib_priv.obj 90 0 0 est_OneOverDcBus_flib_priv.obj 56 0 0 est_Angle_flib_priv.obj 42 0 0 est_all_setup_flib_priv.obj 42 0 0 inverse_flib_priv.obj 13 0 0 est_Eab_flib_priv.obj 11 0 0 est_Edq_flib_priv.obj 9 0 0 est_Flux_dq_flib_priv.obj 9 0 0 est_Vab_flib_priv.obj 9 0 0 +--+---------------------------------+-------+---------+---------+ Total: 11235 76 1448 C:\ti\ccs1220\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 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 memset.c.obj 7 0 0 copy_zero_init.c.obj 6 0 0 pre_init.c.obj 2 0 0 startup.c.obj 1 0 0 +--+---------------------------------+-------+---------+---------+ Total: 317 0 10 Stack: 0 0 256 Linker Generated: 0 140 0 +--+---------------------------------+-------+---------+---------+ Grand Total: 27490 536 4083 LINKER GENERATED COPY TABLES __TI_cinit_table @ 0008c4b4 records: 8, size/record: 4, table size: 32 .data: load addr=0008c448, load size=0000004c bytes, run addr=000004d6, run size=00000048 bytes, compression=copy .bootkey: load addr=0008c494, load size=00000004 bytes, run addr=0000bff0, run size=00000002 bytes, compression=zero_init .bss: load addr=0008c498, load size=00000004 bytes, run addr=00008600, run size=0000033d bytes, compression=zero_init est_data: load addr=0008c49c, load size=00000004 bytes, run addr=00008000, run size=000005a8 bytes, compression=zero_init foc_data: load addr=0008c4a0, load size=00000004 bytes, run addr=00000280, run size=00000256 bytes, compression=zero_init hal_data: load addr=0008c4a4, load size=00000004 bytes, run addr=0000051e, run size=0000001e bytes, compression=zero_init sys_data: load addr=0008c4a8, load size=00000004 bytes, run addr=00008940, run size=0000022c bytes, compression=zero_init user_data: load addr=0008c4ac, load size=00000004 bytes, run addr=00008b80, run size=00000102 bytes, compression=zero_init LINKER GENERATED HANDLER TABLE __TI_handler_table @ 0008c4b0 records: 2, size/record: 2, table size: 4 index: 0, handler: __TI_zero_init index: 1, handler: __TI_decompress_none GLOBAL DATA SYMBOLS: SORTED BY DATA PAGE address data page name -------- ---------------- ---- 00000128 4 (00000100) __stack 00000280 a (00000280) motorHandle_M1 00000282 a (00000280) ipark_V_M1 00000286 a (00000280) park_I_M1 0000028a a (00000280) park_V_M1 0000028e a (00000280) svgen_M1 00000292 a (00000280) clarke_V_M1 00000298 a (00000280) clarke_I_M1 0000029e a (00000280) traj_spd_M1 000002a8 a (00000280) pi_Id_M1 000002c0 b (000002c0) pi_Iq_M1 000002d0 b (000002c0) pi_spd_M1 000002e0 b (000002c0) halMtr_M1 00000300 c (00000300) motorSetVars_M1 00000380 e (00000380) motorVars_M1 000004d6 13 (000004c0) IdentificationPage 00000512 14 (00000500) __TI_enable_exit_profile_output 00000514 14 (00000500) __TI_cleanup_ptr 00000516 14 (00000500) __TI_dtors_ptr 00000518 14 (00000500) bootlaunch 0000051a 14 (00000500) _lock 0000051c 14 (00000500) _unlock 0000051e 14 (00000500) halHandle 00000520 14 (00000500) hal 00007300 1cc (00007300) I2caRegs 00008000 200 (00008000) est 00008600 218 (00008600) dummyVar 00008640 219 (00008640) SerialProtocolData 000086ca 21b (000086c0) recvData 000087ca 21f (000087c0) sendData 000088ca 223 (000088c0) DacDiag 000088e2 223 (000088c0) SPU_Data 000088f4 223 (000088c0) RegisterPages 00008904 224 (00008900) SPD_Data 00008914 224 (00008900) a 00008916 224 (00008900) b 00008918 224 (00008900) c 0000891a 224 (00008900) d 0000891c 224 (00008900) motorSpeedCommandRPM_int 0000891d 224 (00008900) isDirectionReverse 0000891e 224 (00008900) directionPinHoldTimeout 0000891f 224 (00008900) directionPinCounter 00008920 224 (00008900) motorSpeedCommandRPM 00008922 224 (00008900) filterValue 00008924 224 (00008900) dummyFloat 0000892c 224 (00008900) dummyu32 00008934 224 (00008900) dummyV 00008938 224 (00008900) CommandControllerData 0000893a 224 (00008900) isBrakeModeOn 0000893b 224 (00008900) isBrakeInitDone 00008940 225 (00008940) DataLogger 00008b5a 22d (00008b40) systemVars 00008b80 22e (00008b80) userParams_M1 0000bff0 2ff (0000bfc0) bootKey 00087096 21c2 (00087080) RegisterList0 00087100 21c4 (00087100) RegisterList1 00087120 21c4 (00087100) RegisterList2 0008717a 21c5 (00087140) tempTable GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name page address name ---- ------- ---- 0 0008bc58 ADC_setOffsetTrimAll 0 0008c1cb ADC_setVREF 0 0008ba39 AnalogInput_CommandConvert 0 0008be85 AnalogInput_Convert 0 0008c3da AnalogInput_Initialize 0 0008be5c C$$EXIT 0 0008c3df CLARKE_init 0 0008c1e4 CMPSS_configFilterHigh 0 0008c1fd CMPSS_configFilterLow 0 0008c3c8 CPUTimer_setEmulationMode 0 0008c111 CRC_16 0 0008c305 CircularBuffer_Input 0 0008c439 CircularBuffer_Length 0 0008c314 CircularBuffer_Output 0 00008938 CommandControllerData 0 0008c41b CommandController_Initialize 0 0008b943 CommandController_Tick 0 000088ca DacDiag 0 0008b8ea DacDiagI2C_Initialize 0 0008bb18 DacDiagI2C_Write 0 00008940 DataLogger 0 0008c34f DataLogger_GetStatus 0 0008c368 DataLogger_Initialize 0 0008c216 DataLogger_Read 0 0008c3e4 DataLogger_Run 0 0008b260 DataLogger_SetChannelGroup 0 0008c323 DataLogger_SetFrequency 0 0008c41f DataLogger_Stop 0 0008bad1 DataLogger_Tick 0 0008ae63 Device_enableAllPeripherals 0 0008b7d6 Device_init 0 0008c12c Device_initGPIO 0 0008c3e9 DirectionInput_Hold 0 0008c3ee DirectionInput_Initialize 0 0008c147 DirectionInput_Tick 0 0008c387 EPWM_setEmulationMode 0 000855bc EST_Angle_init 0 000851d0 EST_Angle_setParams 0 00085050 EST_Dir_init 0 00085408 EST_Dir_resetHpFilters 0 0008523a EST_Dir_resetLpFilters 0 00084d48 EST_Dir_setHpFilterParams 0 00084b48 EST_Dir_setLpFilterParams 0 00085489 EST_Dir_setParams 0 000855c0 EST_Eab_init 0 00085531 EST_Eab_setParams 0 000855c4 EST_Edq_init 0 000855a3 EST_Edq_setParams 0 000852f9 EST_Flux_ab_init 0 00085418 EST_Flux_ab_resetDerFilters 0 00084d92 EST_Flux_ab_setDerFilterParams 0 00085494 EST_Flux_ab_setParams 0 000855c8 EST_Flux_dq_init 0 000855a8 EST_Flux_dq_setParams 0 00085428 EST_Flux_init 0 00084c45 EST_Flux_setParams 0 00085538 EST_Flux_setWaitTimes 0 00084f7b EST_Flux_updateState 0 0008530f EST_Freq_init 0 0008553f EST_Freq_resetDerFilter 0 00085546 EST_Freq_resetLpFilter 0 000850af EST_Freq_setDerFilterParams 0 000850d9 EST_Freq_setLpFilterParams 0 00084cfa EST_Freq_setParams 0 00085325 EST_Iab_init 0 00085081 EST_Iab_resetLpFilters 0 00084ddc EST_Iab_setLpFilterParams 0 0008533b EST_Iab_setParams 0 00085351 EST_Idq_init 0 000851f6 EST_Idq_resetLpFilters 0 00084e26 EST_Idq_setLpFilterParams 0 000853d1 EST_Idq_setParams 0 000855cc EST_Ls_init 0 00084eff EST_Ls_setParams 0 0008554d EST_Ls_setWaitTimes 0 00084fb5 EST_Ls_updateState 0 00085437 EST_OneOverDcBus_init 0 0008512d EST_OneOverDcBus_setParams 0 000855d0 EST_Rr_init 0 00085256 EST_Rr_setParams 0 00085554 EST_Rr_setWaitTimes 0 00084fea EST_Rr_updateState 0 00085156 EST_RsOnLine_init 0 00084f3e EST_RsOnLine_setLpFilterParams 0 00084eba EST_RsOnLine_setParams 0 000855d4 EST_Rs_init 0 00085272 EST_Rs_setParams 0 0008555b EST_Rs_setWaitTimes 0 0008501d EST_Rs_updateState 0 000848ca EST_Traj_configure 0 0008528e EST_Traj_init 0 00085585 EST_Traj_isError 0 000852e1 EST_Traj_reset 0 0000b090 EST_Traj_run 0 00084a9d EST_Traj_setParams 0 00084ca1 EST_Traj_updateState 0 000855d8 EST_Vab_init 0 000855ad EST_Vab_setParams 0 00085367 EST_Vdq_init 0 00085103 EST_Vdq_resetLpFilters 0 00084e70 EST_Vdq_setLpFilterParams 0 000853e4 EST_Vdq_setParams 0 00085618 EST_checkForErrors 0 0008521c EST_computeLmag_H 0 0008549e EST_computePower_W 0 000851a8 EST_computeTorque_Nm 0 00085562 EST_configureTraj 0 0000ad50 EST_configureTrajState 0 000855dc EST_disable 0 00085569 EST_disableTraj 0 0000b145 EST_doCurrentCtrl 0 0000b120 EST_doSpeedCtrl 0 000855b2 EST_enable 0 000854b9 EST_enableTraj 0 0008561b EST_getFASTVersion 0 0008558b EST_getFe_rps 0 000855e0 EST_getFlag_bypassLockRotor 0 000855e4 EST_getFlag_enable 0 000855e8 EST_getFlag_enableRsOnLine 0 000855ec EST_getFlag_enableRsRecalc 0 00085455 EST_getFlux_Wb 0 00085463 EST_getFm_lp_Hz 0 0000b158 EST_getIdRated_A 0 0000b160 EST_getIntValue_Id_A 0 0000b14f EST_getIntValue_spd_Hz 0 000854c1 EST_getLs_d_H 0 000854c9 EST_getLs_q_H 0 000855f0 EST_getRoverL_rps 0 000854d1 EST_getRr_Ohm 0 000854d9 EST_getRsOnLine_Ohm 0 000854e1 EST_getRs_Ohm 0 0000b175 EST_getState 0 000855b7 EST_getTrajState 0 000849d9 EST_init 0 000853f6 EST_initEst 0 0000b16d EST_isEnabled 0 000854e9 EST_isError 0 000854f1 EST_isIdle 0 000854f9 EST_isLockRotor 0 000855f4 EST_isMotorIdentified 0 00085591 EST_isTrajError 0 0008470c EST_reset 0 0008561e EST_resetCounter_isr 0 00085621 EST_resetCounter_state 0 0000af63 EST_run 0 0000b167 EST_runTraj 0 000854a7 EST_setAngle_rad 0 00085471 EST_setBemf_sf 0 000855f8 EST_setFlag_bypassLockRotor 0 000855fc EST_setFlag_enable 0 00085600 EST_setFlag_enableFluxControl 0 00085604 EST_setFlag_enableForceAngle 0 00085608 EST_setFlag_enableRsOnLine 0 0008560c EST_setFlag_enableRsRecalc 0 00085610 EST_setFlag_updateRs 0 0008517f EST_setFluxBeta_lp 0 000852c6 EST_setFlux_ab_betaOmega_der 0 000852aa EST_setFreqBetaOmega_der 0 0008537d EST_setFreqBeta_lp 0 00085446 EST_setFreqLFP_sf 0 00085392 EST_setIab_beta_lp 0 00085597 EST_setId_ref_A 0 000853a7 EST_setIdq_beta_lp 0 0008559d EST_setIq_ref_A 0 00085501 EST_setLs_d_H 0 00085509 EST_setLs_q_H 0 00085570 EST_setMotorParams 0 00085624 EST_setNumIsrTicksPerEstTick 0 0008547d EST_setOneOverFluxGain_sf 0 00084080 EST_setParams 0 00085511 EST_setRr_Ohm 0 00085519 EST_setRsOnLineId_A 0 00085521 EST_setRsOnLineId_mag_A 0 00085529 EST_setRsOnLine_Ohm 0 000853bc EST_setVdq_beta_lp 0 00085577 EST_setWaitTimes 0 0000b011 EST_setupTrajState 0 0000b136 EST_updateId_ref_A 0 00084488 EST_updateState 0 0008557e EST_updateTrajState 0 0008c3f3 FILTER_FO_init 0 0008c433 FILTER_FO_setDenCoeffs 0 0008c3ce FILTER_FO_setInitialConditions 0 0008c3f8 FILTER_FO_setNumCoeffs 0 0008c288 FaultOutput_Initialize 0 0008c2d3 FaultOutput_Tick 0 0000b0ed Flash_initModule 0 0008b48f GPIO_setAnalogMode 0 0008bfac GPIO_setDirectionMode 0 0008bbdc GPIO_setPadConfig 0 0008bcf7 GPIO_setPinConfig 0 0008bf69 GPIO_setQualificationMode 0 0008befa HAL_MTR1_init 0 0008c399 HAL_MTR_setGateDriver 0 0008bd83 HAL_MTR_setParams 0 0008c3a1 HAL_clearDataRAM 0 0008c341 HAL_enableCtrlInts 0 0008bdaf HAL_enableDRV 0 0008c436 HAL_enableDebugInt 0 0008c423 HAL_enableGlobalInts 0 0008beac HAL_init 0 0008c332 HAL_setMtrCMPSSDACValue 0 0008bf8b HAL_setParams 0 0008bed3 HAL_setTriggerPrams 0 0008a6e9 HAL_setupADCs 0 0008aa96 HAL_setupCMPSSs 0 0008c162 HAL_setupCPUUsageTimer 0 0008ad7c HAL_setupGPIOs 0 0008a562 HAL_setupMtrFaults 0 0008982a HAL_setupPWMs 0 0008b995 HAL_setupSCIA 0 0008bddb HAL_setupTimeBaseTimer 0 0008b0fe HAL_writePWMBrakeMode 0 0008c373 HoldPosition_Start 0 0008c441 HoldPosition_Tick 0 00007300 I2caRegs 0 00085614 INVERSE_init 0 000854b0 INVERSE_setParams 0 0008c3fd IPARK_init 0 000004d6 IdentificationPage 0 0008ba87 Interrupt_disable 0 0008bc90 Interrupt_enable 0 0008bb5b Interrupt_initModule 0 0008c25e Interrupt_initVectorTable 0 0008bfcc LedDiag_HeartBeat 0 0008c17d LedDiag_Initialize 0 0008c402 PARK_init 0 0008c407 PI_init abs 00089177 RamfuncsLoadEnd abs 00001177 RamfuncsLoadSize abs 00088000 RamfuncsLoadStart abs 0000b177 RamfuncsRunEnd abs 00001177 RamfuncsRunSize abs 0000a000 RamfuncsRunStart 0 00087096 RegisterList0 0 00087100 RegisterList1 0 00087120 RegisterList2 0 000088f4 RegisterPages 0 0008c0bd SCI_clearInterruptStatus 0 0008c197 SCI_disableInterrupt 0 0008c1b1 SCI_enableInterrupt 0 0008bf46 SCI_setConfig 0 00008904 SPD_Data 0 000088e2 SPU_Data 0 0008c40c SVGEN_init 0 0008c273 SerialPortDiag_ClockTick 0 0008ac90 SerialPortDiag_Initialize 0 0008c2af SerialPortDiag_ReceivePurge 0 0008c066 SerialPortDiag_getCommand 0 0008c42b SerialPortDiag_isReceiveReady 0 0008c048 SerialPortDiag_sendBytes 0 0008bfeb SerialPortUser_ClockTick 0 0008b025 SerialPortUser_Initialize 0 0008c2c1 SerialPortUser_ReceivePurge 0 0008c083 SerialPortUser_getCommand 0 0008c42f SerialPortUser_isReceiveReady 0 0008bc1b SerialPortUser_sendBytes 0 00008640 SerialProtocolData 0 0008c37d SerialProtocol_GetCommand 0 0008b716 SerialProtocol_Initialization 0 0008a01f SerialProtocol_Process 0 0008c2f5 SerialProtocol_ReceiveFlags 0 0008b9e7 SerialProtocol_Run 0 0008bd56 SerialProtocol_Verify 0 0000b171 SysCtl_delay 0 0008af48 SysCtl_isPLLValid 0 0008bf20 SysCtl_selectOscSource 0 0008bd27 SysCtl_selectXTAL 0 0008c0d9 SysCtl_selectXTALSingleEnded 0 0008a833 SysCtl_setClock 0 0008c411 TRAJ_init 0 00089dbe USER_setMotor1Params 0 00084bce USER_setParams_priv 0 0008c029 UserAnalogInput_ReadCommandRPM 0 0008c3a9 UserInputAnalog_Initiatlize 0 0008c416 UserInputAnalog_Tick 0 0008be06 XBAR_setEPWMMuxConfig 0 0008c4b4 __TI_CINIT_Base 0 0008c4d4 __TI_CINIT_Limit 0 0008c4d4 __TI_CINIT_Warm 0 0008c4b0 __TI_Handler_Table_Base 0 0008c4b4 __TI_Handler_Table_Limit 0 00000228 __TI_STACK_END abs 00000100 __TI_STACK_SIZE 0 0008be31 __TI_auto_init_nobinit_nopinit 0 00000514 __TI_cleanup_ptr 0 0008c3b1 __TI_decompress_none 0 00000516 __TI_dtors_ptr 0 00000512 __TI_enable_exit_profile_output abs ffffffff __TI_pprof_out_hndl abs ffffffff __TI_prof_data_size abs ffffffff __TI_prof_data_start 0 0008c3d4 __TI_zero_init 0 0008b381 __c28xabi_divf n/a UNDEFED __c_args__ 0 00000128 __stack 0 0008c35c _args_main 0 0008c247 _c_int00 0 0000051a _lock 0 0008c398 _nop 0 0008c394 _register_lock 0 0008c390 _register_unlock 0 0008c442 _system_post_cinit 0 0008c43f _system_pre_init 0 0000051c _unlock 0 00008914 a 0 0008be5c abort 0 00008916 b 0 0000bff0 bootKey 0 00000518 bootlaunch 0 00008918 c 0 0008bcc6 calcMotorOverCurrentThreshold 0 0008b2f8 calculateRMSData 0 0008c2e4 canaISR 0 00000298 clarke_I_M1 0 00000292 clarke_V_M1 0 00084000 code_start 0 0008b5e7 collectRMSData 0 0000891a d 0 0000891f directionPinCounter 0 0000891e directionPinHoldTimeout 0 00008924 dummyFloat 0 00008934 dummyV 0 00008600 dummyVar 0 0000892c dummyu32 0 00008000 est 0 0008be5e exit 0 00008922 filterValue 0 00000520 hal 0 0000051e halHandle 0 000002e0 halMtr_M1 0 00089b0d initMotor1CtrlParameters 0 0008c22f initMotor1Handles 0 00000282 ipark_V_M1 0 0000893b isBrakeInitDone 0 0000893a isBrakeModeOn 0 0000891d isDirectionReverse 0 00008600 loadEnd_SFRA_F32_Data 0 0000a000 loadEnd_ctrlfuncs 0 00008600 loadEnd_datalog_data 0 00008600 loadEnd_dbgc_data 0 00008600 loadEnd_dmaBuf_data 0 000085a8 loadEnd_est_data 0 000004d6 loadEnd_foc_data 0 0000053c loadEnd_hal_data 0 00008b6c loadEnd_sys_data 0 00008c82 loadEnd_user_data 0 00008600 loadEnd_vibc_data abs 00000000 loadSize_SFRA_F32_Data abs 00000000 loadSize_ctrlfuncs abs 00000000 loadSize_datalog_data abs 00000000 loadSize_dbgc_data abs 00000000 loadSize_dmaBuf_data abs 000005a8 loadSize_est_data abs 00000256 loadSize_foc_data abs 0000001e loadSize_hal_data abs 0000022c loadSize_sys_data abs 00000102 loadSize_user_data abs 00000000 loadSize_vibc_data 0 00008600 loadStart_SFRA_F32_Data 0 0000a000 loadStart_ctrlfuncs 0 00008600 loadStart_datalog_data 0 00008600 loadStart_dbgc_data 0 00008600 loadStart_dmaBuf_data 0 00008000 loadStart_est_data 0 00000280 loadStart_foc_data 0 0000051e loadStart_hal_data 0 00008940 loadStart_sys_data 0 00008b80 loadStart_user_data 0 00008600 loadStart_vibc_data 0 0008a3d3 main 0 0008c0a0 memcpy 0 0008c3c1 memset 0 0000a72e motor1CtrlISR 0 00000280 motorHandle_M1 0 00000300 motorSetVars_M1 0 00008920 motorSpeedCommandRPM 0 0000891c motorSpeedCommandRPM_int 0 00000380 motorVars_M1 0 00000286 park_I_M1 0 0000028a park_V_M1 0 000002a8 pi_Id_M1 0 000002c0 pi_Iq_M1 0 000002d0 pi_spd_M1 0 000086ca recvData 0 0008b409 resetMotorControl 0 0008b1c6 restartMotorControl 0 0000a000 runEnd_ctrlfuncs 0 00089513 runMotor1Control 0 00089178 runMotor1OffsetsCalculation 0 0008a234 runMotorMonitor 0 0008b57e runRsOnLine abs 00000000 runSize_ctrlfuncs 0 0000a000 runStart_ctrlfuncs 0 0008b6b3 scibRXFIFOISR 0 0008b833 scibTXFIFOISR 0 0008b777 scicRXFIFOISR 0 0008b88f scicTXFIFOISR 0 000087ca sendData 0 0008c0f5 setupClarke_I 0 0008c29c setupClarke_V 0 0008a96b setupControllers 0 0008b64f stopMotorControl 0 0000028e svgen_M1 0 00008b5a systemVars 0 0008717a tempTable 0 0008bb9c temperatureConvert 0 0000029e traj_spd_M1 0 0008aba1 updateGlobalVariables 0 00008b80 userParams_M1 GLOBAL SYMBOLS: SORTED BY Symbol Address page address name ---- ------- ---- 0 00000128 __stack 0 00000228 __TI_STACK_END 0 00000280 loadStart_foc_data 0 00000280 motorHandle_M1 0 00000282 ipark_V_M1 0 00000286 park_I_M1 0 0000028a park_V_M1 0 0000028e svgen_M1 0 00000292 clarke_V_M1 0 00000298 clarke_I_M1 0 0000029e traj_spd_M1 0 000002a8 pi_Id_M1 0 000002c0 pi_Iq_M1 0 000002d0 pi_spd_M1 0 000002e0 halMtr_M1 0 00000300 motorSetVars_M1 0 00000380 motorVars_M1 0 000004d6 IdentificationPage 0 000004d6 loadEnd_foc_data 0 00000512 __TI_enable_exit_profile_output 0 00000514 __TI_cleanup_ptr 0 00000516 __TI_dtors_ptr 0 00000518 bootlaunch 0 0000051a _lock 0 0000051c _unlock 0 0000051e halHandle 0 0000051e loadStart_hal_data 0 00000520 hal 0 0000053c loadEnd_hal_data 0 00007300 I2caRegs 0 00008000 est 0 00008000 loadStart_est_data 0 000085a8 loadEnd_est_data 0 00008600 dummyVar 0 00008600 loadEnd_SFRA_F32_Data 0 00008600 loadEnd_datalog_data 0 00008600 loadEnd_dbgc_data 0 00008600 loadEnd_dmaBuf_data 0 00008600 loadEnd_vibc_data 0 00008600 loadStart_SFRA_F32_Data 0 00008600 loadStart_datalog_data 0 00008600 loadStart_dbgc_data 0 00008600 loadStart_dmaBuf_data 0 00008600 loadStart_vibc_data 0 00008640 SerialProtocolData 0 000086ca recvData 0 000087ca sendData 0 000088ca DacDiag 0 000088e2 SPU_Data 0 000088f4 RegisterPages 0 00008904 SPD_Data 0 00008914 a 0 00008916 b 0 00008918 c 0 0000891a d 0 0000891c motorSpeedCommandRPM_int 0 0000891d isDirectionReverse 0 0000891e directionPinHoldTimeout 0 0000891f directionPinCounter 0 00008920 motorSpeedCommandRPM 0 00008922 filterValue 0 00008924 dummyFloat 0 0000892c dummyu32 0 00008934 dummyV 0 00008938 CommandControllerData 0 0000893a isBrakeModeOn 0 0000893b isBrakeInitDone 0 00008940 DataLogger 0 00008940 loadStart_sys_data 0 00008b5a systemVars 0 00008b6c loadEnd_sys_data 0 00008b80 loadStart_user_data 0 00008b80 userParams_M1 0 00008c82 loadEnd_user_data 0 0000a000 loadEnd_ctrlfuncs 0 0000a000 loadStart_ctrlfuncs 0 0000a000 runEnd_ctrlfuncs 0 0000a000 runStart_ctrlfuncs 0 0000a72e motor1CtrlISR 0 0000ad50 EST_configureTrajState 0 0000af63 EST_run 0 0000b011 EST_setupTrajState 0 0000b090 EST_Traj_run 0 0000b0ed Flash_initModule 0 0000b120 EST_doSpeedCtrl 0 0000b136 EST_updateId_ref_A 0 0000b145 EST_doCurrentCtrl 0 0000b14f EST_getIntValue_spd_Hz 0 0000b158 EST_getIdRated_A 0 0000b160 EST_getIntValue_Id_A 0 0000b167 EST_runTraj 0 0000b16d EST_isEnabled 0 0000b171 SysCtl_delay 0 0000b175 EST_getState 0 0000bff0 bootKey 0 00084000 code_start 0 00084080 EST_setParams 0 00084488 EST_updateState 0 0008470c EST_reset 0 000848ca EST_Traj_configure 0 000849d9 EST_init 0 00084a9d EST_Traj_setParams 0 00084b48 EST_Dir_setLpFilterParams 0 00084bce USER_setParams_priv 0 00084c45 EST_Flux_setParams 0 00084ca1 EST_Traj_updateState 0 00084cfa EST_Freq_setParams 0 00084d48 EST_Dir_setHpFilterParams 0 00084d92 EST_Flux_ab_setDerFilterParams 0 00084ddc EST_Iab_setLpFilterParams 0 00084e26 EST_Idq_setLpFilterParams 0 00084e70 EST_Vdq_setLpFilterParams 0 00084eba EST_RsOnLine_setParams 0 00084eff EST_Ls_setParams 0 00084f3e EST_RsOnLine_setLpFilterParams 0 00084f7b EST_Flux_updateState 0 00084fb5 EST_Ls_updateState 0 00084fea EST_Rr_updateState 0 0008501d EST_Rs_updateState 0 00085050 EST_Dir_init 0 00085081 EST_Iab_resetLpFilters 0 000850af EST_Freq_setDerFilterParams 0 000850d9 EST_Freq_setLpFilterParams 0 00085103 EST_Vdq_resetLpFilters 0 0008512d EST_OneOverDcBus_setParams 0 00085156 EST_RsOnLine_init 0 0008517f EST_setFluxBeta_lp 0 000851a8 EST_computeTorque_Nm 0 000851d0 EST_Angle_setParams 0 000851f6 EST_Idq_resetLpFilters 0 0008521c EST_computeLmag_H 0 0008523a EST_Dir_resetLpFilters 0 00085256 EST_Rr_setParams 0 00085272 EST_Rs_setParams 0 0008528e EST_Traj_init 0 000852aa EST_setFreqBetaOmega_der 0 000852c6 EST_setFlux_ab_betaOmega_der 0 000852e1 EST_Traj_reset 0 000852f9 EST_Flux_ab_init 0 0008530f EST_Freq_init 0 00085325 EST_Iab_init 0 0008533b EST_Iab_setParams 0 00085351 EST_Idq_init 0 00085367 EST_Vdq_init 0 0008537d EST_setFreqBeta_lp 0 00085392 EST_setIab_beta_lp 0 000853a7 EST_setIdq_beta_lp 0 000853bc EST_setVdq_beta_lp 0 000853d1 EST_Idq_setParams 0 000853e4 EST_Vdq_setParams 0 000853f6 EST_initEst 0 00085408 EST_Dir_resetHpFilters 0 00085418 EST_Flux_ab_resetDerFilters 0 00085428 EST_Flux_init 0 00085437 EST_OneOverDcBus_init 0 00085446 EST_setFreqLFP_sf 0 00085455 EST_getFlux_Wb 0 00085463 EST_getFm_lp_Hz 0 00085471 EST_setBemf_sf 0 0008547d EST_setOneOverFluxGain_sf 0 00085489 EST_Dir_setParams 0 00085494 EST_Flux_ab_setParams 0 0008549e EST_computePower_W 0 000854a7 EST_setAngle_rad 0 000854b0 INVERSE_setParams 0 000854b9 EST_enableTraj 0 000854c1 EST_getLs_d_H 0 000854c9 EST_getLs_q_H 0 000854d1 EST_getRr_Ohm 0 000854d9 EST_getRsOnLine_Ohm 0 000854e1 EST_getRs_Ohm 0 000854e9 EST_isError 0 000854f1 EST_isIdle 0 000854f9 EST_isLockRotor 0 00085501 EST_setLs_d_H 0 00085509 EST_setLs_q_H 0 00085511 EST_setRr_Ohm 0 00085519 EST_setRsOnLineId_A 0 00085521 EST_setRsOnLineId_mag_A 0 00085529 EST_setRsOnLine_Ohm 0 00085531 EST_Eab_setParams 0 00085538 EST_Flux_setWaitTimes 0 0008553f EST_Freq_resetDerFilter 0 00085546 EST_Freq_resetLpFilter 0 0008554d EST_Ls_setWaitTimes 0 00085554 EST_Rr_setWaitTimes 0 0008555b EST_Rs_setWaitTimes 0 00085562 EST_configureTraj 0 00085569 EST_disableTraj 0 00085570 EST_setMotorParams 0 00085577 EST_setWaitTimes 0 0008557e EST_updateTrajState 0 00085585 EST_Traj_isError 0 0008558b EST_getFe_rps 0 00085591 EST_isTrajError 0 00085597 EST_setId_ref_A 0 0008559d EST_setIq_ref_A 0 000855a3 EST_Edq_setParams 0 000855a8 EST_Flux_dq_setParams 0 000855ad EST_Vab_setParams 0 000855b2 EST_enable 0 000855b7 EST_getTrajState 0 000855bc EST_Angle_init 0 000855c0 EST_Eab_init 0 000855c4 EST_Edq_init 0 000855c8 EST_Flux_dq_init 0 000855cc EST_Ls_init 0 000855d0 EST_Rr_init 0 000855d4 EST_Rs_init 0 000855d8 EST_Vab_init 0 000855dc EST_disable 0 000855e0 EST_getFlag_bypassLockRotor 0 000855e4 EST_getFlag_enable 0 000855e8 EST_getFlag_enableRsOnLine 0 000855ec EST_getFlag_enableRsRecalc 0 000855f0 EST_getRoverL_rps 0 000855f4 EST_isMotorIdentified 0 000855f8 EST_setFlag_bypassLockRotor 0 000855fc EST_setFlag_enable 0 00085600 EST_setFlag_enableFluxControl 0 00085604 EST_setFlag_enableForceAngle 0 00085608 EST_setFlag_enableRsOnLine 0 0008560c EST_setFlag_enableRsRecalc 0 00085610 EST_setFlag_updateRs 0 00085614 INVERSE_init 0 00085618 EST_checkForErrors 0 0008561b EST_getFASTVersion 0 0008561e EST_resetCounter_isr 0 00085621 EST_resetCounter_state 0 00085624 EST_setNumIsrTicksPerEstTick 0 00087096 RegisterList0 0 00087100 RegisterList1 0 00087120 RegisterList2 0 0008717a tempTable 0 00089178 runMotor1OffsetsCalculation 0 00089513 runMotor1Control 0 0008982a HAL_setupPWMs 0 00089b0d initMotor1CtrlParameters 0 00089dbe USER_setMotor1Params 0 0008a01f SerialProtocol_Process 0 0008a234 runMotorMonitor 0 0008a3d3 main 0 0008a562 HAL_setupMtrFaults 0 0008a6e9 HAL_setupADCs 0 0008a833 SysCtl_setClock 0 0008a96b setupControllers 0 0008aa96 HAL_setupCMPSSs 0 0008aba1 updateGlobalVariables 0 0008ac90 SerialPortDiag_Initialize 0 0008ad7c HAL_setupGPIOs 0 0008ae63 Device_enableAllPeripherals 0 0008af48 SysCtl_isPLLValid 0 0008b025 SerialPortUser_Initialize 0 0008b0fe HAL_writePWMBrakeMode 0 0008b1c6 restartMotorControl 0 0008b260 DataLogger_SetChannelGroup 0 0008b2f8 calculateRMSData 0 0008b381 __c28xabi_divf 0 0008b409 resetMotorControl 0 0008b48f GPIO_setAnalogMode 0 0008b57e runRsOnLine 0 0008b5e7 collectRMSData 0 0008b64f stopMotorControl 0 0008b6b3 scibRXFIFOISR 0 0008b716 SerialProtocol_Initialization 0 0008b777 scicRXFIFOISR 0 0008b7d6 Device_init 0 0008b833 scibTXFIFOISR 0 0008b88f scicTXFIFOISR 0 0008b8ea DacDiagI2C_Initialize 0 0008b943 CommandController_Tick 0 0008b995 HAL_setupSCIA 0 0008b9e7 SerialProtocol_Run 0 0008ba39 AnalogInput_CommandConvert 0 0008ba87 Interrupt_disable 0 0008bad1 DataLogger_Tick 0 0008bb18 DacDiagI2C_Write 0 0008bb5b Interrupt_initModule 0 0008bb9c temperatureConvert 0 0008bbdc GPIO_setPadConfig 0 0008bc1b SerialPortUser_sendBytes 0 0008bc58 ADC_setOffsetTrimAll 0 0008bc90 Interrupt_enable 0 0008bcc6 calcMotorOverCurrentThreshold 0 0008bcf7 GPIO_setPinConfig 0 0008bd27 SysCtl_selectXTAL 0 0008bd56 SerialProtocol_Verify 0 0008bd83 HAL_MTR_setParams 0 0008bdaf HAL_enableDRV 0 0008bddb HAL_setupTimeBaseTimer 0 0008be06 XBAR_setEPWMMuxConfig 0 0008be31 __TI_auto_init_nobinit_nopinit 0 0008be5c C$$EXIT 0 0008be5c abort 0 0008be5e exit 0 0008be85 AnalogInput_Convert 0 0008beac HAL_init 0 0008bed3 HAL_setTriggerPrams 0 0008befa HAL_MTR1_init 0 0008bf20 SysCtl_selectOscSource 0 0008bf46 SCI_setConfig 0 0008bf69 GPIO_setQualificationMode 0 0008bf8b HAL_setParams 0 0008bfac GPIO_setDirectionMode 0 0008bfcc LedDiag_HeartBeat 0 0008bfeb SerialPortUser_ClockTick 0 0008c029 UserAnalogInput_ReadCommandRPM 0 0008c048 SerialPortDiag_sendBytes 0 0008c066 SerialPortDiag_getCommand 0 0008c083 SerialPortUser_getCommand 0 0008c0a0 memcpy 0 0008c0bd SCI_clearInterruptStatus 0 0008c0d9 SysCtl_selectXTALSingleEnded 0 0008c0f5 setupClarke_I 0 0008c111 CRC_16 0 0008c12c Device_initGPIO 0 0008c147 DirectionInput_Tick 0 0008c162 HAL_setupCPUUsageTimer 0 0008c17d LedDiag_Initialize 0 0008c197 SCI_disableInterrupt 0 0008c1b1 SCI_enableInterrupt 0 0008c1cb ADC_setVREF 0 0008c1e4 CMPSS_configFilterHigh 0 0008c1fd CMPSS_configFilterLow 0 0008c216 DataLogger_Read 0 0008c22f initMotor1Handles 0 0008c247 _c_int00 0 0008c25e Interrupt_initVectorTable 0 0008c273 SerialPortDiag_ClockTick 0 0008c288 FaultOutput_Initialize 0 0008c29c setupClarke_V 0 0008c2af SerialPortDiag_ReceivePurge 0 0008c2c1 SerialPortUser_ReceivePurge 0 0008c2d3 FaultOutput_Tick 0 0008c2e4 canaISR 0 0008c2f5 SerialProtocol_ReceiveFlags 0 0008c305 CircularBuffer_Input 0 0008c314 CircularBuffer_Output 0 0008c323 DataLogger_SetFrequency 0 0008c332 HAL_setMtrCMPSSDACValue 0 0008c341 HAL_enableCtrlInts 0 0008c34f DataLogger_GetStatus 0 0008c35c _args_main 0 0008c368 DataLogger_Initialize 0 0008c373 HoldPosition_Start 0 0008c37d SerialProtocol_GetCommand 0 0008c387 EPWM_setEmulationMode 0 0008c390 _register_unlock 0 0008c394 _register_lock 0 0008c398 _nop 0 0008c399 HAL_MTR_setGateDriver 0 0008c3a1 HAL_clearDataRAM 0 0008c3a9 UserInputAnalog_Initiatlize 0 0008c3b1 __TI_decompress_none 0 0008c3c1 memset 0 0008c3c8 CPUTimer_setEmulationMode 0 0008c3ce FILTER_FO_setInitialConditions 0 0008c3d4 __TI_zero_init 0 0008c3da AnalogInput_Initialize 0 0008c3df CLARKE_init 0 0008c3e4 DataLogger_Run 0 0008c3e9 DirectionInput_Hold 0 0008c3ee DirectionInput_Initialize 0 0008c3f3 FILTER_FO_init 0 0008c3f8 FILTER_FO_setNumCoeffs 0 0008c3fd IPARK_init 0 0008c402 PARK_init 0 0008c407 PI_init 0 0008c40c SVGEN_init 0 0008c411 TRAJ_init 0 0008c416 UserInputAnalog_Tick 0 0008c41b CommandController_Initialize 0 0008c41f DataLogger_Stop 0 0008c423 HAL_enableGlobalInts 0 0008c42b SerialPortDiag_isReceiveReady 0 0008c42f SerialPortUser_isReceiveReady 0 0008c433 FILTER_FO_setDenCoeffs 0 0008c436 HAL_enableDebugInt 0 0008c439 CircularBuffer_Length 0 0008c43f _system_pre_init 0 0008c441 HoldPosition_Tick 0 0008c442 _system_post_cinit 0 0008c4b0 __TI_Handler_Table_Base 0 0008c4b4 __TI_CINIT_Base 0 0008c4b4 __TI_Handler_Table_Limit 0 0008c4d4 __TI_CINIT_Limit 0 0008c4d4 __TI_CINIT_Warm abs 00000000 loadSize_SFRA_F32_Data abs 00000000 loadSize_ctrlfuncs abs 00000000 loadSize_datalog_data abs 00000000 loadSize_dbgc_data abs 00000000 loadSize_dmaBuf_data abs 00000000 loadSize_vibc_data abs 00000000 runSize_ctrlfuncs abs 0000001e loadSize_hal_data abs 00000100 __TI_STACK_SIZE abs 00000102 loadSize_user_data abs 0000022c loadSize_sys_data abs 00000256 loadSize_foc_data abs 000005a8 loadSize_est_data abs 00001177 RamfuncsLoadSize abs 00001177 RamfuncsRunSize abs 0000a000 RamfuncsRunStart abs 0000b177 RamfuncsRunEnd abs 00088000 RamfuncsLoadStart abs 00089177 RamfuncsLoadEnd abs ffffffff __TI_pprof_out_hndl abs ffffffff __TI_prof_data_size abs ffffffff __TI_prof_data_start n/a UNDEFED __c_args__ [410 symbols]
Linker cmd file for bootware
MEMORY /* modifiied back to FLASH mode 6/14/2023*/ { BEGIN : origin = 0x00080000, length = 0x00000002 BOOTVER : origin = 0x00080002, length = 0x00000004 //bootware version string BOOT_RSVD : origin = 0x00000002, length = 0x00000126 RESET : origin = 0x003FFFC0, length = 0x00000002 RAMM0 : origin = 0x00000128, length = 0x000002D8 RAMM1 : origin = 0x00000400, length = 0x000003F8 // RAMM1_RSVD : origin = 0x000007F8, length = 0x00000008 /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */ RAMLS0 : origin = 0x00008000, length = 0x00002000 RAMLS1 : origin = 0x0000A000, length = 0x00001FF0 BOOT_L_KEY : origin = 0x0000BFF0, length = 0x0F // RAMLS1_RSVD : origin = 0x0000BFF8, length = 0x00000008 /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */ /* Flash sectors */ FLASH_BANK0_SEC_0_7 : origin = 0x080008, length = 0x2FF0 /* on-chip Flash <<< all bootloader code goes here END = 0x083000 */ //reserve most flash space for the application // FLASH_BANK0_SEC_8_15 : origin = 0x082000, length = 0x2000 /* on-chip Flash */ // FLASH_BANK0_SEC_16_23 : origin = 0x084000, length = 0x2000 /* on-chip Flash */ // FLASH_BANK0_SEC_24_31 : origin = 0x086000, length = 0x2000 /* on-chip Flash */ // FLASH_BANK0_SEC_32_39 : origin = 0x088000, length = 0x2000 /* on-chip Flash */ // FLASH_BANK0_SEC_40_47 : origin = 0x08A000, length = 0x2000 /* on-chip Flash */ // FLASH_BANK0_SEC_48_55 : origin = 0x08C000, length = 0x2000 /* on-chip Flash */ // FLASH_BANK0_SEC_56_63 : origin = 0x08E000, length = 0x2000 /* on-chip Flash */ // FLASH_BANK0_SEC_64_71 : origin = 0x090000, length = 0x2000 /* on-chip Flash */ // FLASH_BANK0_SEC_72_79 : origin = 0x092000, length = 0x2000 /* on-chip Flash */ // FLASH_BANK0_SEC_80_87 : origin = 0x094000, length = 0x2000 /* on-chip Flash */ // FLASH_BANK0_SEC_88_95 : origin = 0x096000, length = 0x2000 /* on-chip Flash */ // FLASH_BANK0_SEC_96_103 : origin = 0x098000, length = 0x2000 /* on-chip Flash */ // FLASH_BANK0_SEC_104_111 : origin = 0x09A000, length = 0x2000 /* on-chip Flash */ // FLASH_BANK0_SEC_112_119 : origin = 0x09C000, length = 0x2000 /* on-chip Flash */ // FLASH_BANK0_SEC_120_127 : origin = 0x09E000, length = 0x1FF0 /* on-chip Flash */ // FLASH_BANK0_SEC_127_RSVD : origin = 0x0A0FF0, length = 0x0010 /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */ } SECTIONS { codestart : > BEGIN .version : > BOOTVER .text : >> FLASH_BANK0_SEC_0_7, ALIGN(8) .cinit : > FLASH_BANK0_SEC_0_7, ALIGN(8) .switch : > FLASH_BANK0_SEC_0_7, ALIGN(8) .reset : > RESET, TYPE = DSECT /* not used, */ .stack : > RAMM1 .bootkey : > BOOT_L_KEY #if defined(__TI_EABI__) .bss : > RAMLS0 .bss:output : > RAMLS0 .init_array : >> FLASH_BANK0_SEC_0_7, ALIGN(8) .const : >> FLASH_BANK0_SEC_0_7, ALIGN(8) .data : > RAMLS0 .sysmem : > RAMLS0 .bss:cio : > RAMLS0 #else .pinit : >> FLASH_BANK0_SEC_0_7, ALIGN(8) .ebss : > RAMLS0 .econst : >> FLASH_BANK0_SEC_0_7, ALIGN(8) .esysmem : > RAMLS0 .cio : > RAMLS0 #endif #if defined(__TI_EABI__) GROUP { .TI.ramfunc { -l FAPI_F280013x_EABI_v2.00.00.lib} } LOAD = FLASH_BANK0_SEC_0_7, RUN = RAMLS1, LOAD_START(RamfuncsLoadStart), LOAD_SIZE(RamfuncsLoadSize), LOAD_END(RamfuncsLoadEnd), RUN_START(RamfuncsRunStart), RUN_SIZE(RamfuncsRunSize), RUN_END(RamfuncsRunEnd), ALIGN(8) #else .TI.ramfunc : LOAD = FLASH_BANK0_SEC_0_7, RUN = RAMLS0, LOAD_START(_RamfuncsLoadStart), LOAD_SIZE(_RamfuncsLoadSize), LOAD_END(_RamfuncsLoadEnd), RUN_START(_RamfuncsRunStart), RUN_SIZE(_RamfuncsRunSize), RUN_END(_RamfuncsRunEnd), xx ALIGN(8) #endif /* Allocate IQ math areas: */ // IQmath : > FLASH_BANK0_SEC_32_39, ALIGN(8) // IQmathTables : > FLASH_BANK0_SEC_32_39, ALIGN(8) }
Hi Paul,
What GPIOs are you using for the SCI communication? Could you also do a memory dump to compare the values placed in flash memory through the CCS method and the standalone method using the host?
Thanks and regards,
Charles
I erased all flash with UniFlash first and then just loaded the application with CCS, here is the memory dump from CCS:
I am using GPIO#32 and #35 (SCI-C). (Pin 19 and 20 on the RHB 32 pin package). To make that work, I have placed flash_kernel_ex3_sci in flash. (linker file above).
I see a problem in the bootloader code. The return from findSector for this specific address is incorrect.
This would cause the wrong sector to be erased?
Hi Paul,
GPIOs seem fine, as well as the dump. This may be what is causing the issue. I'll some time to look at this tomorrow morning and get back to you.
Thanks and regards,
Charles
Hi Paul,
Listing of sectors from datasheet, I believe this to be a valid find. I have also noticed that other addresses aside the one for Bank zero sector 15 contains less than or equal to for erase check of the sectors. Will need to run some builds again tomorrow and confirm with my team how we can move forward.
Thanks,
Charles
The <= have quite a pattern : sectors 15, 30, 45 , 60, 75 ,90, 105, 120. I have changed them all in my version of kernel code and things seem to be working better. Not sure why I had a blank sector sometimes - but it certainly explains programming failures when the sector was already programmed and did not properly erase.
Hi Paul,
Thanks for sending the text file. I'll get back to you the results by Monday.
Regards,
Charles
Hi Paul,
I can confirm that the issue was the findSector routine in the flash_kernel_ex3_boot.c file. Having made the adjustment, it is able to download to the device and place the codestart section at 0x84000.
Could you try implementing the change at your previously listed sector and recompile? Let me know if you reach the same conclusion.
Thanks,
Charles
Sorry, forgot to reply here - I have tested and it looks good now. I get successful loads at either sector.