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.

TMS320F2800132: Problems debugging from FLASH(RELEASE) and RAM

Part Number: TMS320F2800132
Other Parts Discussed in Thread: C2000WARE

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