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.
Tool/software:
Good afternoon colleagues,
I am struggling with my DSP TMS320F2800132 that is part of a PCB design. This uC basically obtains ADC conversions from SPI peripheral from an external ADC and it starts to make some calculations relating to that measurement.
In this calculations I make divisions, multiplications and a natural logarithm. When I tested it debugging in RAM I didn't have any problem, the calculations where perfect and all went as expected. Then, when I tested it in RELEASE (FLASH) and I debug from FLASH, is where the problems happened. Some calculations that where impossible to be infinite are calculated as infinite and so on. What I would like to know I what is going on. I have reviewed the Linker, the compiler, etc... in the properties of the project and is the same in Debug and Release. I don't know if it helps but these calculations are float calculations and using math.h, but I repeat, in RAM debugging are good but in FLASH debugging are not.
Thank you in advance, have a nice day.
Pedro
Hi,
Is there some FLASH configuration necessary for your code? Can you provide a map file for the project?
Thanks and regards,
Charles
Good morning Charles,
I attach the map files for both flash (release) and ram configuration. I also attach the linker file for both configurations. I would be very pleased if you could find something in them. The problem we are seeing is only related to the mathematical calculations.
****************************************************************************** TMS320C2000 Linker PC v22.6.1 ****************************************************************************** >> Linked Fri Feb 28 08:46:32 2025 OUTPUT FILE NAME: <tarjeta_temp_igbts.out> ENTRY POINT SYMBOL: "_c_int00" address: 00009de5 MEMORY CONFIGURATION name origin length used unused attr fill ---------------------- -------- --------- -------- -------- ---- -------- BEGIN 00000000 00000002 00000002 00000000 RWIX BOOT_RSVD 00000002 00000126 00000000 00000126 RWIX RAMM0 00000128 000002d8 0000002e 000002aa RWIX RAMM1 00000400 000003f8 00000200 000001f8 RWIX RAMLS0 00008000 00002000 00001f85 0000007b RWIX RAMLS1 0000a000 00001ff8 00000000 00001ff8 RWIX FLASH_BANK0_SEC_0_7 00080002 00001ffe 00000000 00001ffe RWIX FLASH_BANK0_SEC_8_15 00082000 00002000 00000000 00002000 RWIX FLASH_BANK0_SEC_16_23 00084000 00002000 00000000 00002000 RWIX FLASH_BANK0_SEC_24_31 00086000 00002000 00000000 00002000 RWIX FLASH_BANK0_SEC_32_39 00088000 00002000 00000000 00002000 RWIX FLASH_BANK0_SEC_40_47 0008a000 00002000 00000000 00002000 RWIX FLASH_BANK0_SEC_48_55 0008c000 00002000 00000000 00002000 RWIX FLASH_BANK0_SEC_56_63 0008e000 00002000 00000000 00002000 RWIX FLASH_BANK0_SEC_64_71 00090000 00002000 00000000 00002000 RWIX FLASH_BANK0_SEC_72_79 00092000 00002000 00000000 00002000 RWIX FLASH_BANK0_SEC_80_87 00094000 00002000 00000000 00002000 RWIX FLASH_BANK0_SEC_88_95 00096000 00002000 00000000 00002000 RWIX FLASH_BANK0_SEC_96_10 00098000 00002000 00000000 00002000 RWIX FLASH_BANK0_SEC_104_1 0009a000 00002000 00000000 00002000 RWIX FLASH_BANK0_SEC_112_1 0009c000 00002000 00000000 00002000 RWIX FLASH_BANK0_SEC_120_1 0009e000 00001ff0 00000000 00001ff0 RWIX RESET 003fffc0 00000002 00000000 00000002 RWIX SECTION ALLOCATION MAP output attributes/ section page origin length input sections -------- ---- ---------- ---------- ---------------- codestart * 0 00000000 00000002 00000000 00000002 f280013x_codestartbranch.obj (codestart) .TI.ramfunc * 0 00000128 00000004 00000128 00000004 driverlib.lib : sysctl.obj (.TI.ramfunc) .cinit 0 0000012c 0000002a 0000012c 00000017 (.cinit..data.load) [load image, compression = lzss] 00000143 00000001 --HOLE-- [fill = 0] 00000144 00000006 (__TI_handler_table) 0000014a 00000004 (.cinit..bss.load) [load image, compression = zero_init] 0000014e 00000008 (__TI_cinit_table) .reset 0 003fffc0 00000000 DSECT .stack 0 00000400 00000200 UNINITIALIZED 00000400 00000200 --HOLE-- .bss 0 000082c0 0000019e UNINITIALIZED 000082c0 00000174 modbus.obj (.bss) 00008434 0000000c main.obj (.bss) 00008440 0000000a main.obj (.bss:temp_ch0_debug) 0000844a 0000000a main.obj (.bss:temp_ch1_debug) 00008454 0000000a main.obj (.bss:temp_ch2_debug) .init_array * 0 00000128 00000000 UNINITIALIZED .const 0 00008000 000002be 00008000 0000009b driverlib.lib : gpio.obj (.const:.string) 0000809b 00000001 --HOLE-- [fill = 0] 0000809c 0000009b : sysctl.obj (.const:.string) 00008137 00000001 --HOLE-- [fill = 0] 00008138 00000098 : sci.obj (.const:.string) 000081d0 00000098 : spi.obj (.const:.string) 00008268 00000051 : cputimer.obj (.const:.string) 000082b9 00000001 --HOLE-- [fill = 0] 000082ba 00000004 main.obj (.const) .data 0 0000845e 0000004b UNINITIALIZED 0000845e 0000001e main.obj (.data) 0000847c 00000002 rts2800_fpu32_eabi.lib : _lock.c.obj (.data:_lock) 0000847e 00000002 : _lock.c.obj (.data:_unlock) 00008480 0000000a modbus.obj (.data) 0000848a 00000008 main.obj (.data:vect_temps_ch0) 00008492 00000008 main.obj (.data:vect_temps_ch1) 0000849a 00000008 main.obj (.data:vect_temps_ch2) 000084a2 00000006 rts2800_fpu32_eabi.lib : exit.c.obj (.data) 000084a8 00000001 : errno.c.obj (.data) .text.1 0 000082be 00000002 000082be 00000002 rts2800_fpu32_eabi.lib : pre_init.c.obj (.text) .text.2 0 000084a9 00001adc 000084a9 000004e5 modbus.obj (.text) 0000898e 000003ed main.obj (.text) 00008d7b 0000021a RegInit.obj (.text) 00008f95 00000141 driverlib.lib : sysctl.obj (.text:SysCtl_setClock) 000090d6 0000012b rts2800_fpu32_eabi.lib : e_logf.c.obj (.text) 00009201 000000fa device.obj (.text) 000092fb 000000ea driverlib.lib : sysctl.obj (.text:SysCtl_isPLLValid) 000093e5 000000d7 ADC.obj (.text) 000094bc 000000b3 modbus.obj (.text:retain) 0000956f 000000ac driverlib.lib : gpio.obj (.text:GPIO_setAnalogMode) 0000961b 0000009c rts2800_fpu32_eabi.lib : fd_add28.asm.obj (.text) 000096b7 00000088 : fs_div28.asm.obj (.text) 0000973f 00000073 driverlib.lib : sysctl.obj (.text:DCC_setCounterSeeds) 000097b2 0000005c : spi.obj (.text:SPI_setConfig) 0000980e 00000052 : gpio.obj (.text:GPIO_setPadConfig) 00009860 00000046 : sysctl.obj (.text:SysCtl_selectXTAL) 000098a6 00000045 : sci.obj (.text:SCI_clearInterruptStatus) 000098eb 00000045 : sysctl.obj (.text:SysCtl_pollX1Counter) 00009930 00000044 : sci.obj (.text:SCI_enableInterrupt) 00009974 00000042 : sysctl.obj (.text:SysCtl_selectOscSource) 000099b6 0000003e : sci.obj (.text:SCI_setConfig) 000099f4 0000003d : interrupt.obj (.text:Interrupt_initModule) 00009a31 00000037 : gpio.obj (.text:GPIO_setPinConfig) 00009a68 00000037 : gpio.obj (.text:GPIO_setQualificationMode) 00009a9f 00000037 : interrupt.obj (.text:Interrupt_enable) 00009ad6 00000036 : spi.obj (.text:SPI_clearInterruptStatus) 00009b0c 00000034 main.obj (.text:retain) 00009b40 00000031 driverlib.lib : gpio.obj (.text:GPIO_setDirectionMode) 00009b71 00000031 : spi.obj (.text:SPI_pollingNonFIFOTransaction) 00009ba2 00000030 rts2800_fpu32_eabi.lib : copy_decompress_lzss.c.obj (.text:decompress:lzss) 00009bd2 0000002b : autoinit.c.obj (.text:__TI_auto_init_nobinit_nopinit) 00009bfd 00000029 : exit.c.obj (.text) 00009c26 00000025 driverlib.lib : sysctl.obj (.text:SysCtl_selectXTALSingleEnded) 00009c4b 00000024 : sysctl.obj (.text:DCC_enableSingleShotMode) 00009c6f 00000023 rts2800_fpu32_eabi.lib : fd_tofsfpu32.asm.obj (.text) 00009c92 0000001e driverlib.lib : sysctl.obj (.text:DCC_setCounter0ClkSource) 00009cb0 0000001e : sysctl.obj (.text:DCC_setCounter1ClkSource) 00009cce 0000001e : interrupt.obj (.text:Interrupt_initVectorTable) 00009cec 0000001d rts2800_fpu32_eabi.lib : memcpy.c.obj (.text) 00009d09 0000001c : fs_tofdfpu32.asm.obj (.text) 00009d25 0000001b driverlib.lib : sysctl.obj (.text:SysCtl_setIntOSC2_Mode) 00009d40 00000019 : sysctl.obj (.text:SysCtl_setPLLSysClk) 00009d59 00000018 : sci.obj (.text:SCI_disableModule) 00009d71 00000018 : sci.obj (.text:SCI_performSoftwareReset) 00009d89 00000017 : cputimer.obj (.text:CPUTimer_isBaseValid) 00009da0 00000017 : sci.obj (.text:SCI_isBaseValid) 00009db7 00000017 : spi.obj (.text:SPI_writeDataBlockingNonFIFO) 00009dce 00000017 : sysctl.obj (.text:SysCtl_enablePeripheral) 00009de5 00000017 rts2800_fpu32_eabi.lib : boot28.asm.obj (.text) 00009dfc 00000016 driverlib.lib : sysctl.obj (.text:DCC_disableDoneSignal) 00009e12 00000016 : interrupt.obj (.text:Interrupt_defaultHandler) 00009e28 00000015 : sysctl.obj (.text:DCC_clearDoneFlag) 00009e3d 00000015 : sysctl.obj (.text:DCC_clearErrorFlag) 00009e52 00000015 : sysctl.obj (.text:DCC_disableErrorSignal) 00009e67 00000014 : sysctl.obj (.text:DCC_disableModule) 00009e7b 00000014 : sysctl.obj (.text:DCC_enableModule) 00009e8f 00000014 : gpio.obj (.text:GPIO_isPinValid) 00009ea3 00000013 : cputimer.obj (.text:CPUTimer_setEmulationMode) 00009eb6 00000013 : sci.obj (.text:SCI_enableModule) 00009ec9 00000012 : spi.obj (.text:SPI_readDataBlockingNonFIFO) 00009edb 00000010 : sysctl.obj (.text:DCC_isBaseValid) 00009eeb 0000000f : spi.obj (.text:SPI_isBaseValid) 00009efa 0000000e rts2800_fpu32_eabi.lib : fd_sub28.asm.obj (.text) 00009f08 0000000d driverlib.lib : interrupt.obj (.text:Interrupt_disableGlobal) 00009f15 0000000d : interrupt.obj (.text:Interrupt_enableGlobal) 00009f22 0000000d rts2800_fpu32_eabi.lib : copy_zero_init.c.obj (.text:decompress:ZI:__TI_zero_init_nomemset) 00009f2f 0000000c : args_main.c.obj (.text) 00009f3b 0000000b driverlib.lib : sysctl.obj (.text:SysCtl_isMCDClockFailureDetected) 00009f46 0000000a : sysctl.obj (.text:ASysCtl_getExtROscStatus) 00009f50 0000000a : interrupt.obj (.text:Interrupt_illegalOperationHandler) 00009f5a 0000000a : interrupt.obj (.text:Interrupt_nmiHandler) 00009f64 00000009 rts2800_fpu32_eabi.lib : _lock.c.obj (.text) 00009f6d 00000008 : copy_decompress_none.c.obj (.text:decompress:none) 00009f75 00000008 f280013x_codestartbranch.obj (.text) 00009f7d 00000007 driverlib.lib : sysctl.obj (.text:SysCtl_resetMCD) 00009f84 00000001 rts2800_fpu32_eabi.lib : startup.c.obj (.text) MODULE SUMMARY Module code ro data rw data ------ ---- ------- ------- .\ modbus.obj 1432 0 382 main.obj 1057 4 96 RegInit.obj 538 0 0 ADC.obj 215 0 0 +--+------------------------------+------+---------+---------+ Total: 3242 4 478 .\device\ device.obj 250 0 0 f280013x_codestartbranch.obj 10 0 0 +--+------------------------------+------+---------+---------+ Total: 260 0 0 C:/ti/c2000/C2000Ware_5_02_00_00/driverlib/f280013x/driverlib/ccs/Debug/driverlib.lib sysctl.obj 1256 155 0 gpio.obj 433 155 0 sci.obj 289 152 0 spi.obj 251 152 0 interrupt.obj 214 0 0 cputimer.obj 42 81 0 +--+------------------------------+------+---------+---------+ Total: 2485 695 0 C:\ti\ccs1250\ccs\tools\compiler\ti-cgt-c2000_22.6.1.LTS\lib\rts2800_fpu32_eabi.lib e_logf.c.obj 299 0 0 fd_add28.asm.obj 156 0 0 fs_div28.asm.obj 136 0 0 copy_decompress_lzss.c.obj 48 0 0 exit.c.obj 41 0 6 autoinit.c.obj 43 0 0 fd_tofsfpu32.asm.obj 35 0 0 memcpy.c.obj 29 0 0 fs_tofdfpu32.asm.obj 28 0 0 boot28.asm.obj 23 0 0 fd_sub28.asm.obj 14 0 0 _lock.c.obj 9 0 4 copy_zero_init.c.obj 13 0 0 args_main.c.obj 12 0 0 copy_decompress_none.c.obj 8 0 0 pre_init.c.obj 2 0 0 errno.c.obj 0 0 1 startup.c.obj 1 0 0 +--+------------------------------+------+---------+---------+ Total: 897 0 11 Stack: 0 0 512 Linker Generated: 0 41 0 +--+------------------------------+------+---------+---------+ Grand Total: 6884 740 1001 LINKER GENERATED COPY TABLES __TI_cinit_table @ 0000014e records: 2, size/record: 4, table size: 8 .data: load addr=0000012c, load size=00000017 bytes, run addr=0000845e, run size=0000004b bytes, compression=lzss .bss: load addr=0000014a, load size=00000004 bytes, run addr=000082c0, run size=0000019e bytes, compression=zero_init LINKER GENERATED HANDLER TABLE __TI_handler_table @ 00000144 records: 3, size/record: 2, table size: 6 index: 0, handler: __TI_zero_init index: 1, handler: __TI_decompress_lzss index: 2, handler: __TI_decompress_none GLOBAL DATA SYMBOLS: SORTED BY DATA PAGE address data page name -------- ---------------- ---- 00000400 10 (00000400) __stack 000082c0 20b (000082c0) FlagsModbus 000082c1 20b (000082c0) t_alarma 000082c2 20b (000082c0) t_fallo 00008300 20c (00008300) modbus 00008434 210 (00008400) temp_ch0_i16 00008435 210 (00008400) temp_ch1_i16 00008436 210 (00008400) temp_ch2_i16 00008438 210 (00008400) rango_mult 0000843a 210 (00008400) temp_ch0 0000843c 210 (00008400) temp_ch1 0000843e 210 (00008400) temp_ch2 00008440 211 (00008440) temp_ch0_debug 0000844a 211 (00008440) temp_ch1_debug 00008454 211 (00008440) temp_ch2_debug 0000845e 211 (00008440) flagADC 0000845f 211 (00008440) lect_Reg_ADC_auto 00008460 211 (00008440) lect_Reg_ADC_RangoCh0 00008461 211 (00008440) lect_Reg_ADC_RangoCh1 00008462 211 (00008440) lect_Reg_ADC_RangoCh2 00008463 211 (00008440) lect_Reg_ADC_AlPD 00008464 211 (00008440) lect_Reg_ADC_SelChAuto 00008465 211 (00008440) lecturaADC 00008466 211 (00008440) canal_leido 00008467 211 (00008440) FlCh0elems 00008468 211 (00008440) FlCh1elems 00008469 211 (00008440) FlCh2elems 0000846a 211 (00008440) num_medidas_Ch0 0000846b 211 (00008440) num_medidas_Ch1 0000846c 211 (00008440) num_medidas_Ch2 0000846d 211 (00008440) flagMODBUS_1ms 00008472 211 (00008440) tension_medida 00008474 211 (00008440) res_NTC 00008476 211 (00008440) temp_driver 00008478 211 (00008440) B 0000847a 211 (00008440) A 0000847c 211 (00008440) _lock 0000847e 211 (00008440) _unlock 00008486 212 (00008480) testFlags1 00008488 212 (00008480) testFlags2 0000848a 212 (00008480) vect_temps_ch0 00008492 212 (00008480) vect_temps_ch1 0000849a 212 (00008480) vect_temps_ch2 000084a2 212 (00008480) __TI_enable_exit_profile_output 000084a4 212 (00008480) __TI_cleanup_ptr 000084a6 212 (00008480) __TI_dtors_ptr 000084a8 212 (00008480) errno GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name page address name ---- ------- ---- 0 0000847a A 0 00008478 B 0 00009bfd C$$EXIT 0 00009ea3 CPUTimer_setEmulationMode 0 00009276 Device_enableAllPeripherals 0 00009250 Device_init 0 000092e4 Device_initGPIO 0 00008605 ExcModbus 0 00008467 FlCh0elems 0 00008468 FlCh1elems 0 00008469 FlCh2elems 0 000082c0 FlagsModbus 0 0000956f GPIO_setAnalogMode 0 00009b40 GPIO_setDirectionMode 0 0000980e GPIO_setPadConfig 0 00009a31 GPIO_setPinConfig 0 00009a68 GPIO_setQualificationMode 0 0000950b INT_modbus_RX_ISR 0 000094bc INT_modbus_TX_ISR 0 00009b0c ISR_TIMER 0 000085fa IniModbus 0 00008f80 InitGPIODir 0 00008e41 InitHardware 0 00008ec6 InitMODBUS 0 00008e4c InitSPI 0 00008f47 InitTimer 0 000088ea IntModbus 0 00009e12 Interrupt_defaultHandler 0 00009a9f Interrupt_enable 0 00009f50 Interrupt_illegalOperationHandler 0 000099f4 Interrupt_initModule 0 00009cce Interrupt_initVectorTable 0 00009f5a Interrupt_nmiHandler 0 00008587 ModbusCalcCRCRx 0 00008539 ModbusCalcCRCtx 0 000098a6 SCI_clearInterruptStatus 0 00009930 SCI_enableInterrupt 0 000099b6 SCI_setConfig 0 00009ad6 SPI_clearInterruptStatus 0 00009b71 SPI_pollingNonFIFOTransaction 0 000097b2 SPI_setConfig 0 00000128 SysCtl_delay 0 000092fb SysCtl_isPLLValid 0 00009974 SysCtl_selectOscSource 0 00009860 SysCtl_selectXTAL 0 00009c26 SysCtl_selectXTALSingleEnded 0 00008f95 SysCtl_setClock 0 0000014e __TI_CINIT_Base 0 00000156 __TI_CINIT_Limit 0 00000156 __TI_CINIT_Warm 0 00000144 __TI_Handler_Table_Base 0 0000014a __TI_Handler_Table_Limit 0 00000600 __TI_STACK_END abs 00000200 __TI_STACK_SIZE 0 00009bd2 __TI_auto_init_nobinit_nopinit 0 000084a4 __TI_cleanup_ptr 0 00009ba2 __TI_decompress_lzss 0 00009f6d __TI_decompress_none 0 000084a6 __TI_dtors_ptr 0 000084a2 __TI_enable_exit_profile_output abs ffffffff __TI_pprof_out_hndl abs ffffffff __TI_prof_data_size abs ffffffff __TI_prof_data_start 0 00009f22 __TI_zero_init_nomemset 0 0000961b __c28xabi_addd 0 000096b7 __c28xabi_divf 0 00009c6f __c28xabi_dtof 0 00009d09 __c28xabi_ftod 0 00009efa __c28xabi_subd n/a UNDEFED __c_args__ 0 000092f4 __error__ 0 00000400 __stack 0 00009f2f _args_main 0 00009de5 _c_int00 0 0000847c _lock 0 00009f6c _nop 0 00009f68 _register_lock 0 00009f64 _register_unlock 0 00009f84 _system_post_cinit 0 000082be _system_pre_init 0 0000847e _unlock 0 00009bfd abort 0 00008c2f average_temp 0 00008466 canal_leido 0 000085ef checkSerialError 0 00000000 code_start 0 00009401 configuracionADC 0 000084a8 errno 0 000094a8 escribirRegistroADC 0 00009bff exit 0 00008b1c filtro_lectura 0 0000845e flagADC 0 0000846d flagMODBUS_1ms 0 00008463 lect_Reg_ADC_AlPD 0 00008460 lect_Reg_ADC_RangoCh0 0 00008461 lect_Reg_ADC_RangoCh1 0 00008462 lect_Reg_ADC_RangoCh2 0 00008464 lect_Reg_ADC_SelChAuto 0 0000845f lect_Reg_ADC_auto 0 00008465 lecturaADC 0 00009459 leerConversionADC 0 0000946d leerRegistroADC 0 000090d6 logf 0 000089bf main 0 00009cec memcpy 0 00008300 modbus 0 00008924 modbus_1ms_main 0 00008938 modbus_main 0 0000846a num_medidas_Ch0 0 0000846b num_medidas_Ch1 0 0000846c num_medidas_Ch2 0 00008438 rango_mult 0 0000861e readBits 0 000086b6 readRegisters 0 00008474 res_NTC 0 000082c1 t_alarma 0 000082c2 t_fallo 0 0000843a temp_ch0 0 00008440 temp_ch0_debug 0 00008434 temp_ch0_i16 0 0000843c temp_ch1 0 0000844a temp_ch1_debug 0 00008435 temp_ch1_i16 0 0000843e temp_ch2 0 00008454 temp_ch2_debug 0 00008436 temp_ch2_i16 0 00008476 temp_driver 0 00008472 tension_medida 0 00008486 testFlags1 0 00008488 testFlags2 0 0000848a vect_temps_ch0 0 00008492 vect_temps_ch1 0 0000849a vect_temps_ch2 0 000087da writeMultipleCoils 0 00008863 writeMultipleRegisters 0 0000871b writeSingleCoil 0 0000879a writeSingleRegister GLOBAL SYMBOLS: SORTED BY Symbol Address page address name ---- ------- ---- 0 00000000 code_start 0 00000128 SysCtl_delay 0 00000144 __TI_Handler_Table_Base 0 0000014a __TI_Handler_Table_Limit 0 0000014e __TI_CINIT_Base 0 00000156 __TI_CINIT_Limit 0 00000156 __TI_CINIT_Warm 0 00000400 __stack 0 00000600 __TI_STACK_END 0 000082be _system_pre_init 0 000082c0 FlagsModbus 0 000082c1 t_alarma 0 000082c2 t_fallo 0 00008300 modbus 0 00008434 temp_ch0_i16 0 00008435 temp_ch1_i16 0 00008436 temp_ch2_i16 0 00008438 rango_mult 0 0000843a temp_ch0 0 0000843c temp_ch1 0 0000843e temp_ch2 0 00008440 temp_ch0_debug 0 0000844a temp_ch1_debug 0 00008454 temp_ch2_debug 0 0000845e flagADC 0 0000845f lect_Reg_ADC_auto 0 00008460 lect_Reg_ADC_RangoCh0 0 00008461 lect_Reg_ADC_RangoCh1 0 00008462 lect_Reg_ADC_RangoCh2 0 00008463 lect_Reg_ADC_AlPD 0 00008464 lect_Reg_ADC_SelChAuto 0 00008465 lecturaADC 0 00008466 canal_leido 0 00008467 FlCh0elems 0 00008468 FlCh1elems 0 00008469 FlCh2elems 0 0000846a num_medidas_Ch0 0 0000846b num_medidas_Ch1 0 0000846c num_medidas_Ch2 0 0000846d flagMODBUS_1ms 0 00008472 tension_medida 0 00008474 res_NTC 0 00008476 temp_driver 0 00008478 B 0 0000847a A 0 0000847c _lock 0 0000847e _unlock 0 00008486 testFlags1 0 00008488 testFlags2 0 0000848a vect_temps_ch0 0 00008492 vect_temps_ch1 0 0000849a vect_temps_ch2 0 000084a2 __TI_enable_exit_profile_output 0 000084a4 __TI_cleanup_ptr 0 000084a6 __TI_dtors_ptr 0 000084a8 errno 0 00008539 ModbusCalcCRCtx 0 00008587 ModbusCalcCRCRx 0 000085ef checkSerialError 0 000085fa IniModbus 0 00008605 ExcModbus 0 0000861e readBits 0 000086b6 readRegisters 0 0000871b writeSingleCoil 0 0000879a writeSingleRegister 0 000087da writeMultipleCoils 0 00008863 writeMultipleRegisters 0 000088ea IntModbus 0 00008924 modbus_1ms_main 0 00008938 modbus_main 0 000089bf main 0 00008b1c filtro_lectura 0 00008c2f average_temp 0 00008e41 InitHardware 0 00008e4c InitSPI 0 00008ec6 InitMODBUS 0 00008f47 InitTimer 0 00008f80 InitGPIODir 0 00008f95 SysCtl_setClock 0 000090d6 logf 0 00009250 Device_init 0 00009276 Device_enableAllPeripherals 0 000092e4 Device_initGPIO 0 000092f4 __error__ 0 000092fb SysCtl_isPLLValid 0 00009401 configuracionADC 0 00009459 leerConversionADC 0 0000946d leerRegistroADC 0 000094a8 escribirRegistroADC 0 000094bc INT_modbus_TX_ISR 0 0000950b INT_modbus_RX_ISR 0 0000956f GPIO_setAnalogMode 0 0000961b __c28xabi_addd 0 000096b7 __c28xabi_divf 0 000097b2 SPI_setConfig 0 0000980e GPIO_setPadConfig 0 00009860 SysCtl_selectXTAL 0 000098a6 SCI_clearInterruptStatus 0 00009930 SCI_enableInterrupt 0 00009974 SysCtl_selectOscSource 0 000099b6 SCI_setConfig 0 000099f4 Interrupt_initModule 0 00009a31 GPIO_setPinConfig 0 00009a68 GPIO_setQualificationMode 0 00009a9f Interrupt_enable 0 00009ad6 SPI_clearInterruptStatus 0 00009b0c ISR_TIMER 0 00009b40 GPIO_setDirectionMode 0 00009b71 SPI_pollingNonFIFOTransaction 0 00009ba2 __TI_decompress_lzss 0 00009bd2 __TI_auto_init_nobinit_nopinit 0 00009bfd C$$EXIT 0 00009bfd abort 0 00009bff exit 0 00009c26 SysCtl_selectXTALSingleEnded 0 00009c6f __c28xabi_dtof 0 00009cce Interrupt_initVectorTable 0 00009cec memcpy 0 00009d09 __c28xabi_ftod 0 00009de5 _c_int00 0 00009e12 Interrupt_defaultHandler 0 00009ea3 CPUTimer_setEmulationMode 0 00009efa __c28xabi_subd 0 00009f22 __TI_zero_init_nomemset 0 00009f2f _args_main 0 00009f50 Interrupt_illegalOperationHandler 0 00009f5a Interrupt_nmiHandler 0 00009f64 _register_unlock 0 00009f68 _register_lock 0 00009f6c _nop 0 00009f6d __TI_decompress_none 0 00009f84 _system_post_cinit 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__ [137 symbols]
****************************************************************************** TMS320C2000 Linker PC v22.6.1 ****************************************************************************** >> Linked Thu Feb 27 15:22:03 2025 OUTPUT FILE NAME: <tarjeta_temp_igbts.out> ENTRY POINT SYMBOL: "_c_int00" address: 000835ec 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 RAMLS0 00008000 00002000 0000023c 00001dc4 RWIX RAMLS1 0000a000 00001ff8 00000000 00001ff8 RWIX BEGIN 00080000 00000002 00000002 00000000 RWIX FLASH_BANK0_SEC_0_7 00080002 00001ffe 0000007a 00001f84 RWIX FLASH_BANK0_SEC_8_15 00082000 00002000 00001691 0000096f RWIX FLASH_BANK0_SEC_16_23 00084000 00002000 00000000 00002000 RWIX FLASH_BANK0_SEC_24_31 00086000 00002000 00000000 00002000 RWIX FLASH_BANK0_SEC_32_39 00088000 00002000 0000055c 00001aa4 RWIX FLASH_BANK0_SEC_40_47 0008a000 00002000 00000000 00002000 RWIX FLASH_BANK0_SEC_48_55 0008c000 00002000 00000000 00002000 RWIX FLASH_BANK0_SEC_56_63 0008e000 00002000 00000000 00002000 RWIX FLASH_BANK0_SEC_64_71 00090000 00002000 00000000 00002000 RWIX FLASH_BANK0_SEC_72_79 00092000 00002000 00000000 00002000 RWIX FLASH_BANK0_SEC_80_87 00094000 00002000 00000000 00002000 RWIX FLASH_BANK0_SEC_88_95 00096000 00002000 00000000 00002000 RWIX FLASH_BANK0_SEC_96_10 00098000 00002000 00000000 00002000 RWIX FLASH_BANK0_SEC_104_1 0009a000 00002000 00000000 00002000 RWIX FLASH_BANK0_SEC_112_1 0009c000 00002000 00000000 00002000 RWIX FLASH_BANK0_SEC_120_1 0009e000 00001ff0 00000000 00001ff0 RWIX RESET 003fffc0 00000002 00000000 00000002 RWIX SECTION ALLOCATION MAP output attributes/ section page origin length input sections -------- ---- ---------- ---------- ---------------- codestart * 0 00080000 00000002 00080000 00000002 f280013x_codestartbranch.obj (codestart) .cinit 0 00080060 00000022 00080060 00000010 (.cinit..data.load) [load image, compression = lzss] 00080070 00000006 (__TI_handler_table) 00080076 00000004 (.cinit..bss.load) [load image, compression = zero_init] 0008007a 00000008 (__TI_cinit_table) .reset 0 003fffc0 00000000 DSECT .stack 0 00000400 00000200 UNINITIALIZED 00000400 00000200 --HOLE-- .bss 0 00008000 0000019e UNINITIALIZED 00008000 00000174 modbus.obj (.bss) 00008174 0000000c main.obj (.bss) 00008180 0000000a main.obj (.bss:temp_ch0_debug) 0000818a 0000000a main.obj (.bss:temp_ch1_debug) 00008194 0000000a main.obj (.bss:temp_ch2_debug) .init_array * 0 00080008 00000000 UNINITIALIZED .data 0 000081f8 00000046 UNINITIALIZED 000081f8 00000008 main.obj (.data:vect_temps_ch0) 00008200 0000001a main.obj (.data) 0000821a 0000000a modbus.obj (.data) 00008224 00000008 main.obj (.data:vect_temps_ch1) 0000822c 00000008 main.obj (.data:vect_temps_ch2) 00008234 00000006 rts2800_fpu32_eabi.lib : exit.c.obj (.data) 0000823a 00000002 : _lock.c.obj (.data:_lock) 0000823c 00000002 : _lock.c.obj (.data:_unlock) .TI.ramfunc * 0 00080008 00000058 RUN ADDR = 000081a0 00080008 00000054 driverlib.lib : flash.obj (.TI.ramfunc:Flash_initModule) 0008005c 00000004 : sysctl.obj (.TI.ramfunc) .text 0 00082000 00001691 00082000 000004e5 modbus.obj (.text) 000824e5 000003ef main.obj (.text) 000828d4 0000021a RegInit.obj (.text) 00082aee 00000145 driverlib.lib : sysctl.obj (.text:SysCtl_setClock) 00082c33 00000109 device.obj (.text) 00082d3c 000000dd driverlib.lib : sysctl.obj (.text:SysCtl_isPLLValid) 00082e19 000000d7 ADC.obj (.text) 00082ef0 000000b3 modbus.obj (.text:retain) 00082fa3 0000009c rts2800_fpu32_eabi.lib : fd_add28.asm.obj (.text) 0008303f 0000008b : fd_div28.asm.obj (.text) 000830ca 00000088 : fs_div28.asm.obj (.text) 00083152 00000083 : fd_mpy28.asm.obj (.text) 000831d5 0000007b driverlib.lib : gpio.obj (.text:GPIO_setAnalogMode) 00083250 00000045 : sysctl.obj (.text:SysCtl_selectXTAL) 00083295 00000041 : interrupt.obj (.text:Interrupt_initModule) 000832d6 0000003f : gpio.obj (.text:GPIO_setPadConfig) 00083315 0000003e : sysctl.obj (.text:SysCtl_pollX1Counter) 00083353 00000036 : interrupt.obj (.text:Interrupt_enable) 00083389 00000034 main.obj (.text:retain) 000833bd 00000030 driverlib.lib : gpio.obj (.text:GPIO_setPinConfig) 000833ed 00000030 rts2800_fpu32_eabi.lib : copy_decompress_lzss.c.obj (.text:decompress:lzss) 0008341d 0000002b : autoinit.c.obj (.text:__TI_auto_init_nobinit_nopinit) 00083448 00000029 : exit.c.obj (.text) 00083471 00000026 driverlib.lib : sysctl.obj (.text:SysCtl_selectOscSource) 00083497 00000023 : sci.obj (.text:SCI_setConfig) 000834ba 00000023 rts2800_fpu32_eabi.lib : fd_tofsfpu32.asm.obj (.text) 000834dd 00000022 driverlib.lib : gpio.obj (.text:GPIO_setQualificationMode) 000834ff 00000021 : sysctl.obj (.text:SysCtl_selectXTALSingleEnded) 00083520 00000020 : gpio.obj (.text:GPIO_setDirectionMode) 00083540 0000001f : spi.obj (.text:SPI_setConfig) 0008355f 0000001e : spi.obj (.text:SPI_clearInterruptStatus) 0008357d 0000001d rts2800_fpu32_eabi.lib : memcpy.c.obj (.text) 0008359a 0000001c driverlib.lib : sci.obj (.text:SCI_clearInterruptStatus) 000835b6 0000001c rts2800_fpu32_eabi.lib : fs_tofdfpu32.asm.obj (.text) 000835d2 0000001a driverlib.lib : sci.obj (.text:SCI_enableInterrupt) 000835ec 00000017 rts2800_fpu32_eabi.lib : boot28.asm.obj (.text) 00083603 00000015 driverlib.lib : interrupt.obj (.text:Interrupt_initVectorTable) 00083618 00000010 : spi.obj (.text:SPI_pollingNonFIFOTransaction) 00083628 0000000e rts2800_fpu32_eabi.lib : fd_sub28.asm.obj (.text) 00083636 0000000d : copy_zero_init.c.obj (.text:decompress:ZI:__TI_zero_init_nomemset) 00083643 0000000c driverlib.lib : interrupt.obj (.text:Interrupt_defaultHandler) 0008364f 0000000c rts2800_fpu32_eabi.lib : args_main.c.obj (.text) 0008365b 0000000a driverlib.lib : interrupt.obj (.text:Interrupt_illegalOperationHandler) 00083665 0000000a : interrupt.obj (.text:Interrupt_nmiHandler) 0008366f 00000009 rts2800_fpu32_eabi.lib : _lock.c.obj (.text) 00083678 00000008 : copy_decompress_none.c.obj (.text:decompress:none) 00083680 00000008 f280013x_codestartbranch.obj (.text) 00083688 00000006 driverlib.lib : cputimer.obj (.text:CPUTimer_setEmulationMode) 0008368e 00000002 rts2800_fpu32_eabi.lib : pre_init.c.obj (.text) 00083690 00000001 : startup.c.obj (.text) .const 0 00088000 0000055c 00088000 000002aa main.obj (.const:RNTC_datasheet) 000882aa 000002aa main.obj (.const:Tas_datasheet) 00088554 00000008 main.obj (.const) MODULE SUMMARY Module code ro data rw data ------ ---- ------- ------- .\ main.obj 1059 1372 92 modbus.obj 1432 0 382 RegInit.obj 538 0 0 ADC.obj 215 0 0 +--+------------------------------+------+---------+---------+ Total: 3244 1372 474 .\device\ device.obj 265 0 0 f280013x_codestartbranch.obj 10 0 0 +--+------------------------------+------+---------+---------+ Total: 275 0 0 C:/ti/c2000/C2000Ware_5_02_00_00/driverlib/f280013x/driverlib/ccs/Release/driverlib.lib sysctl.obj 756 0 0 gpio.obj 300 0 0 interrupt.obj 172 0 0 flash.obj 168 0 0 sci.obj 89 0 0 spi.obj 77 0 0 cputimer.obj 6 0 0 +--+------------------------------+------+---------+---------+ Total: 1568 0 0 C:\ti\ccs1250\ccs\tools\compiler\ti-cgt-c2000_22.6.1.LTS\lib\rts2800_fpu32_eabi.lib fd_add28.asm.obj 156 0 0 fd_div28.asm.obj 139 0 0 fs_div28.asm.obj 136 0 0 fd_mpy28.asm.obj 131 0 0 copy_decompress_lzss.c.obj 48 0 0 exit.c.obj 41 0 6 autoinit.c.obj 43 0 0 fd_tofsfpu32.asm.obj 35 0 0 memcpy.c.obj 29 0 0 fs_tofdfpu32.asm.obj 28 0 0 boot28.asm.obj 23 0 0 fd_sub28.asm.obj 14 0 0 _lock.c.obj 9 0 4 copy_zero_init.c.obj 13 0 0 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: 868 0 10 Stack: 0 0 512 Linker Generated: 0 34 0 +--+------------------------------+------+---------+---------+ Grand Total: 5955 1406 996 LINKER GENERATED COPY TABLES __TI_cinit_table @ 0008007a records: 2, size/record: 4, table size: 8 .data: load addr=00080060, load size=00000010 bytes, run addr=000081f8, run size=00000046 bytes, compression=lzss .bss: load addr=00080076, load size=00000004 bytes, run addr=00008000, run size=0000019e bytes, compression=zero_init LINKER GENERATED HANDLER TABLE __TI_handler_table @ 00080070 records: 3, size/record: 2, table size: 6 index: 0, handler: __TI_zero_init index: 1, handler: __TI_decompress_lzss index: 2, handler: __TI_decompress_none GLOBAL DATA SYMBOLS: SORTED BY DATA PAGE address data page name -------- ---------------- ---- 00000400 10 (00000400) __stack 00008000 200 (00008000) FlagsModbus 00008001 200 (00008000) t_alarma 00008002 200 (00008000) t_fallo 00008040 201 (00008040) modbus 00008174 205 (00008140) temp_ch0_i16 00008175 205 (00008140) temp_ch1_i16 00008176 205 (00008140) temp_ch2_i16 00008178 205 (00008140) rango_mult 0000817a 205 (00008140) temp_ch0 0000817c 205 (00008140) temp_ch1 0000817e 205 (00008140) temp_ch2 00008180 206 (00008180) temp_ch0_debug 0000818a 206 (00008180) temp_ch1_debug 00008194 206 (00008180) temp_ch2_debug 000081f8 207 (000081c0) vect_temps_ch0 00008200 208 (00008200) flagADC 00008201 208 (00008200) lect_Reg_ADC_auto 00008202 208 (00008200) lect_Reg_ADC_RangoCh0 00008203 208 (00008200) lect_Reg_ADC_RangoCh1 00008204 208 (00008200) lect_Reg_ADC_RangoCh2 00008205 208 (00008200) lect_Reg_ADC_AlPD 00008206 208 (00008200) lect_Reg_ADC_SelChAuto 00008207 208 (00008200) lecturaADC 00008208 208 (00008200) canal_leido 00008209 208 (00008200) FlCh0elems 0000820a 208 (00008200) FlCh1elems 0000820b 208 (00008200) FlCh2elems 0000820c 208 (00008200) num_medidas_Ch0 0000820d 208 (00008200) num_medidas_Ch1 0000820e 208 (00008200) num_medidas_Ch2 0000820f 208 (00008200) flagMODBUS_1ms 00008214 208 (00008200) tension_medida 00008216 208 (00008200) res_NTC 00008218 208 (00008200) temp_driver 00008220 208 (00008200) testFlags1 00008222 208 (00008200) testFlags2 00008224 208 (00008200) vect_temps_ch1 0000822c 208 (00008200) vect_temps_ch2 00008234 208 (00008200) __TI_enable_exit_profile_output 00008236 208 (00008200) __TI_cleanup_ptr 00008238 208 (00008200) __TI_dtors_ptr 0000823a 208 (00008200) _lock 0000823c 208 (00008200) _unlock 00088000 2200 (00088000) RNTC_datasheet 000882aa 220a (00088280) Tas_datasheet GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name page address name ---- ------- ---- 0 00083448 C$$EXIT 0 00083688 CPUTimer_setEmulationMode 0 00082cb7 Device_enableAllPeripherals 0 00082c7e Device_init 0 00082d25 Device_initGPIO 0 0008215c ExcModbus 0 00008209 FlCh0elems 0 0000820a FlCh1elems 0 0000820b FlCh2elems 0 00008000 FlagsModbus 0 000081a0 Flash_initModule 0 000831d5 GPIO_setAnalogMode 0 00083520 GPIO_setDirectionMode 0 000832d6 GPIO_setPadConfig 0 000833bd GPIO_setPinConfig 0 000834dd GPIO_setQualificationMode 0 00082f3f INT_modbus_RX_ISR 0 00082ef0 INT_modbus_TX_ISR 0 00083389 ISR_TIMER 0 00082151 IniModbus 0 00082ad9 InitGPIODir 0 0008299a InitHardware 0 00082a1f InitMODBUS 0 000829a5 InitSPI 0 00082aa0 InitTimer 0 00082441 IntModbus 0 00083643 Interrupt_defaultHandler 0 00083353 Interrupt_enable 0 0008365b Interrupt_illegalOperationHandler 0 00083295 Interrupt_initModule 0 00083603 Interrupt_initVectorTable 0 00083665 Interrupt_nmiHandler 0 000820de ModbusCalcCRCRx 0 00082090 ModbusCalcCRCtx 0 00088000 RNTC_datasheet 0 00080060 RamfuncsLoadEnd abs 00000058 RamfuncsLoadSize 0 00080008 RamfuncsLoadStart 0 000081f8 RamfuncsRunEnd abs 00000058 RamfuncsRunSize 0 000081a0 RamfuncsRunStart 0 0008359a SCI_clearInterruptStatus 0 000835d2 SCI_enableInterrupt 0 00083497 SCI_setConfig 0 0008355f SPI_clearInterruptStatus 0 00083618 SPI_pollingNonFIFOTransaction 0 00083540 SPI_setConfig 0 000081f4 SysCtl_delay 0 00082d3c SysCtl_isPLLValid 0 00083471 SysCtl_selectOscSource 0 00083250 SysCtl_selectXTAL 0 000834ff SysCtl_selectXTALSingleEnded 0 00082aee SysCtl_setClock 0 000882aa Tas_datasheet 0 0008007a __TI_CINIT_Base 0 00080082 __TI_CINIT_Limit 0 00080082 __TI_CINIT_Warm 0 00080070 __TI_Handler_Table_Base 0 00080076 __TI_Handler_Table_Limit 0 00000600 __TI_STACK_END abs 00000200 __TI_STACK_SIZE 0 0008341d __TI_auto_init_nobinit_nopinit 0 00008236 __TI_cleanup_ptr 0 000833ed __TI_decompress_lzss 0 00083678 __TI_decompress_none 0 00008238 __TI_dtors_ptr 0 00008234 __TI_enable_exit_profile_output abs ffffffff __TI_pprof_out_hndl abs ffffffff __TI_prof_data_size abs ffffffff __TI_prof_data_start 0 00083636 __TI_zero_init_nomemset 0 00082fa3 __c28xabi_addd 0 0008303f __c28xabi_divd 0 000830ca __c28xabi_divf 0 000834ba __c28xabi_dtof 0 000835b6 __c28xabi_ftod 0 00083152 __c28xabi_mpyd 0 00083628 __c28xabi_subd n/a UNDEFED __c_args__ 0 00082d35 __error__ 0 00000400 __stack 0 0008364f _args_main 0 000835ec _c_int00 0 0000823a _lock 0 00083677 _nop 0 00083673 _register_lock 0 0008366f _register_unlock 0 00083690 _system_post_cinit 0 0008368e _system_pre_init 0 0000823c _unlock 0 00083448 abort 0 00082788 average_temp 0 00008208 canal_leido 0 00082146 checkSerialError 0 00080000 code_start 0 00082e35 configuracionADC 0 00082edc escribirRegistroADC 0 0008344a exit 0 00082675 filtro_lectura 0 00008200 flagADC 0 0000820f flagMODBUS_1ms 0 00008205 lect_Reg_ADC_AlPD 0 00008202 lect_Reg_ADC_RangoCh0 0 00008203 lect_Reg_ADC_RangoCh1 0 00008204 lect_Reg_ADC_RangoCh2 0 00008206 lect_Reg_ADC_SelChAuto 0 00008201 lect_Reg_ADC_auto 0 00008207 lecturaADC 0 00082e8d leerConversionADC 0 00082ea1 leerRegistroADC 0 00082516 main 0 0008357d memcpy 0 00008040 modbus 0 0008247b modbus_1ms_main 0 0008248f modbus_main 0 0000820c num_medidas_Ch0 0 0000820d num_medidas_Ch1 0 0000820e num_medidas_Ch2 0 00008178 rango_mult 0 00082175 readBits 0 0008220d readRegisters 0 00008216 res_NTC 0 00008001 t_alarma 0 00008002 t_fallo 0 0000817a temp_ch0 0 00008180 temp_ch0_debug 0 00008174 temp_ch0_i16 0 0000817c temp_ch1 0 0000818a temp_ch1_debug 0 00008175 temp_ch1_i16 0 0000817e temp_ch2 0 00008194 temp_ch2_debug 0 00008176 temp_ch2_i16 0 00008218 temp_driver 0 00008214 tension_medida 0 00008220 testFlags1 0 00008222 testFlags2 0 000081f8 vect_temps_ch0 0 00008224 vect_temps_ch1 0 0000822c vect_temps_ch2 0 00082331 writeMultipleCoils 0 000823ba writeMultipleRegisters 0 00082272 writeSingleCoil 0 000822f1 writeSingleRegister GLOBAL SYMBOLS: SORTED BY Symbol Address page address name ---- ------- ---- 0 00000400 __stack 0 00000600 __TI_STACK_END 0 00008000 FlagsModbus 0 00008001 t_alarma 0 00008002 t_fallo 0 00008040 modbus 0 00008174 temp_ch0_i16 0 00008175 temp_ch1_i16 0 00008176 temp_ch2_i16 0 00008178 rango_mult 0 0000817a temp_ch0 0 0000817c temp_ch1 0 0000817e temp_ch2 0 00008180 temp_ch0_debug 0 0000818a temp_ch1_debug 0 00008194 temp_ch2_debug 0 000081a0 Flash_initModule 0 000081a0 RamfuncsRunStart 0 000081f4 SysCtl_delay 0 000081f8 RamfuncsRunEnd 0 000081f8 vect_temps_ch0 0 00008200 flagADC 0 00008201 lect_Reg_ADC_auto 0 00008202 lect_Reg_ADC_RangoCh0 0 00008203 lect_Reg_ADC_RangoCh1 0 00008204 lect_Reg_ADC_RangoCh2 0 00008205 lect_Reg_ADC_AlPD 0 00008206 lect_Reg_ADC_SelChAuto 0 00008207 lecturaADC 0 00008208 canal_leido 0 00008209 FlCh0elems 0 0000820a FlCh1elems 0 0000820b FlCh2elems 0 0000820c num_medidas_Ch0 0 0000820d num_medidas_Ch1 0 0000820e num_medidas_Ch2 0 0000820f flagMODBUS_1ms 0 00008214 tension_medida 0 00008216 res_NTC 0 00008218 temp_driver 0 00008220 testFlags1 0 00008222 testFlags2 0 00008224 vect_temps_ch1 0 0000822c vect_temps_ch2 0 00008234 __TI_enable_exit_profile_output 0 00008236 __TI_cleanup_ptr 0 00008238 __TI_dtors_ptr 0 0000823a _lock 0 0000823c _unlock 0 00080000 code_start 0 00080008 RamfuncsLoadStart 0 00080060 RamfuncsLoadEnd 0 00080070 __TI_Handler_Table_Base 0 00080076 __TI_Handler_Table_Limit 0 0008007a __TI_CINIT_Base 0 00080082 __TI_CINIT_Limit 0 00080082 __TI_CINIT_Warm 0 00082090 ModbusCalcCRCtx 0 000820de ModbusCalcCRCRx 0 00082146 checkSerialError 0 00082151 IniModbus 0 0008215c ExcModbus 0 00082175 readBits 0 0008220d readRegisters 0 00082272 writeSingleCoil 0 000822f1 writeSingleRegister 0 00082331 writeMultipleCoils 0 000823ba writeMultipleRegisters 0 00082441 IntModbus 0 0008247b modbus_1ms_main 0 0008248f modbus_main 0 00082516 main 0 00082675 filtro_lectura 0 00082788 average_temp 0 0008299a InitHardware 0 000829a5 InitSPI 0 00082a1f InitMODBUS 0 00082aa0 InitTimer 0 00082ad9 InitGPIODir 0 00082aee SysCtl_setClock 0 00082c7e Device_init 0 00082cb7 Device_enableAllPeripherals 0 00082d25 Device_initGPIO 0 00082d35 __error__ 0 00082d3c SysCtl_isPLLValid 0 00082e35 configuracionADC 0 00082e8d leerConversionADC 0 00082ea1 leerRegistroADC 0 00082edc escribirRegistroADC 0 00082ef0 INT_modbus_TX_ISR 0 00082f3f INT_modbus_RX_ISR 0 00082fa3 __c28xabi_addd 0 0008303f __c28xabi_divd 0 000830ca __c28xabi_divf 0 00083152 __c28xabi_mpyd 0 000831d5 GPIO_setAnalogMode 0 00083250 SysCtl_selectXTAL 0 00083295 Interrupt_initModule 0 000832d6 GPIO_setPadConfig 0 00083353 Interrupt_enable 0 00083389 ISR_TIMER 0 000833bd GPIO_setPinConfig 0 000833ed __TI_decompress_lzss 0 0008341d __TI_auto_init_nobinit_nopinit 0 00083448 C$$EXIT 0 00083448 abort 0 0008344a exit 0 00083471 SysCtl_selectOscSource 0 00083497 SCI_setConfig 0 000834ba __c28xabi_dtof 0 000834dd GPIO_setQualificationMode 0 000834ff SysCtl_selectXTALSingleEnded 0 00083520 GPIO_setDirectionMode 0 00083540 SPI_setConfig 0 0008355f SPI_clearInterruptStatus 0 0008357d memcpy 0 0008359a SCI_clearInterruptStatus 0 000835b6 __c28xabi_ftod 0 000835d2 SCI_enableInterrupt 0 000835ec _c_int00 0 00083603 Interrupt_initVectorTable 0 00083618 SPI_pollingNonFIFOTransaction 0 00083628 __c28xabi_subd 0 00083636 __TI_zero_init_nomemset 0 00083643 Interrupt_defaultHandler 0 0008364f _args_main 0 0008365b Interrupt_illegalOperationHandler 0 00083665 Interrupt_nmiHandler 0 0008366f _register_unlock 0 00083673 _register_lock 0 00083677 _nop 0 00083678 __TI_decompress_none 0 00083688 CPUTimer_setEmulationMode 0 0008368e _system_pre_init 0 00083690 _system_post_cinit 0 00088000 RNTC_datasheet 0 000882aa Tas_datasheet abs 00000058 RamfuncsLoadSize abs 00000058 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__ [144 symbols]
MEMORY { BEGIN : origin = 0x00080000, length = 0x00000002 BOOT_RSVD : origin = 0x00000002, length = 0x00000126 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 = 0x00001FF8 // RAMLS1_RSVD : origin = 0x0000BFF8, length = 0x00000008 /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */ RESET : origin = 0x003FFFC0, length = 0x00000002 /* Flash sectors */ FLASH_BANK0_SEC_0_7 : origin = 0x080002, length = 0x1FFE /* on-chip Flash */ 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 .text : >> FLASH_BANK0_SEC_8_15 | FLASH_BANK0_SEC_16_23 | FLASH_BANK0_SEC_24_31, 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 #if defined(__TI_EABI__) .bss : > RAMLS0 .bss:output : > RAMLS0 .init_array : >> FLASH_BANK0_SEC_0_7, ALIGN(8) .const : >> FLASH_BANK0_SEC_32_39, ALIGN(8) .data : > RAMLS0 .sysmem : > RAMLS0 .bss:cio : > RAMLS0 #else .pinit : >> FLASH_BANK0_SEC_0_7, ALIGN(8) .ebss : > RAMLS0 .econst : >> FLASH_BANK0_SEC_32_39, ALIGN(8) .esysmem : > RAMLS0 .cio : > RAMLS0 #endif #if defined(__TI_EABI__) .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), 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), ALIGN(8) #endif /* Allocate IQ math areas: */ IQmath : > FLASH_BANK0_SEC_32_39, ALIGN(8) IQmathTables : > FLASH_BANK0_SEC_32_39, ALIGN(8) }
MEMORY { BEGIN : origin = 0x00000000, length = 0x00000002 BOOT_RSVD : origin = 0x00000002, length = 0x00000126 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 = 0x00001FF8 // RAMLS1_RSVD : origin = 0x0000BFF8, length = 0x00000008 RESET : origin = 0x003FFFC0, length = 0x00000002 /* Flash sectors */ FLASH_BANK0_SEC_0_7 : origin = 0x080002, length = 0x1FFE /* on-chip Flash */ 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 .TI.ramfunc : > RAMM0 .text : >> RAMLS0 | RAMLS1 .cinit : > RAMM0 .switch : > RAMM0 .reset : > RESET, TYPE = DSECT /* not used, */ .stack : > RAMM1 #if defined(__TI_EABI__) .bss : > RAMLS0 .bss:output : > RAMLS0 .init_array : > RAMM0 .const : > RAMLS0 .data : > RAMLS0 .sysmem : > RAMLS0 .bss:cio : > RAMLS0 #else .pinit : > RAMM0 .ebss : > RAMLS0 .econst : > RAMLS0 .esysmem : > RAMLS0 .cio : > RAMLS0 #endif /* Allocate IQ math areas: */ IQmath : > RAMLS1 IQmathTables : > RAMLS1 }
Thank you in advance,
Pedro
Hi,
Will need some more time for analysis. Can you also share the list of linker flags you are using for the project settings?
Thanks,
Charles
Hi Charles,
For sure, I send it below:
-v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --tmu_support=tmu0 -Ooff --advice:performance=all --define=_FLASH --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi -z -m"tarjeta_temp_igbts.map" --stack_size=0x200 --warn_sections -i"C:/ti/c2000/C2000Ware_5_02_00_00" -i"C:/ti/ccs1250/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/lib" -i"C:/ti/ccs1250/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/include" --reread_libs --diag_wrap=off --display_error_number --xml_link_info="tarjeta_temp_igbts_linkInfo.xml" --rom_model
Thank you very much for your time, I will wait for your answer.
BR,
Pedro
Hi Pedro,
If you copy your math functions from FLASH to RAM before they execute, do you still have this problem?
Thanks,
Ben Collier
Hi Benjamín,
I don't know what are you referring. Basically what I do is taking ADC conversions and basics float multiplications, divisions, substractions, additions and one natural logarith. First, I tested It in RAM and It worked perfectly, then I tried on Release (FLASH) and It didn't worked and some operations went to infinite (example substraction 293.124-273.15 goes to infinite). I honestly don't know whats going on.
Any help id well received. Thank you in advancd.
BR,
Pedro
Hi Peter,
Apologies for the delay as I was out of office. I think Ben is saying to use something like the MEMCPY function (described in the Device_Init routine) to copy these math functions from FLASH to RAM before execution.
Thanks and regards,
Charles