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.

LP-MSPM0G3519: Read from Flash section 0x41D00000, provides default handler issues

Part Number: LP-MSPM0G3519


Tool/software:

Hello Team,

I have the example case provided by TI which reads 0x00001000 address and allows the read operation to be done without any issues.

Now trying to read data starting from 0x41D00000 region.

While trying to change it to read starting from 0x41D00000 using this modified function 'EEPROM_TypeA_IncReadData' please find the attached file for eeprom_emulation_type_a.c file for reference.

Please help me resolve this. Are there any other specific procedures to be followed for this read? 

Thanks.

/*
 * Copyright (c) 2021-24, Texas Instruments Incorporated
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * *  Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *
 * *  Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * *  Neither the name of Texas Instruments Incorporated nor the names of
 *    its contributors may be used to endorse or promote products derived
 *    from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

#include <ti/eeprom/emulation_type_a/eeprom_emulation_type_a.h>
#include "ti_msp_dl_config.h"

/* Address in main memory to write to. This is defined in the
 * eeprom_emulation_type_a.h header file. Uncommenting the #define below will
 * overwrite the default #define in the header file. */


#define SECTOR_SIZE (1024)

#define NUMBER_OF_WRITES ((SECTOR_SIZE / EEPROM_EMULATION_DATA_SIZE) + 1)

uint32_t DataArray[EEPROM_EMULATION_DATA_SIZE / sizeof(uint32_t)] = {
    0xABCDEF00, 0x12345678, 0x00FEDCBA, 0x87654321, 0xABCDEF00, 0x12345678,
    0x00FEDCBA, 0x87654321, 0xABCDEF00, 0x12345678, 0x00FEDCBA, 0x87654321,
    0xABCDEF00, 0x12345678, 0x00FEDCBA, 0x87654321, 0xABCDEF00, 0x12345678,
    0x00FEDCBA, 0x87654321, 0xABCDEF00, 0x12345678, 0x00FEDCBA, 0x87654321,
    0xABCDEF00, 0x12345678, 0x00FEDCBA, 0x87654321, 0xABCDEF00, 0x12345678};
uint32_t EEPROMEmulationBuffer[EEPROM_EMULATION_DATA_SIZE / sizeof(uint32_t)];

#pragma clang section bss=".eeprom_bss"
#pragma clang section text=".eeprom_text"
uint32_t rec_data[7];
#pragma clang section bss=""
#pragma clang section text=""

uint32_t BLANKAPISTATE;
uint32_t DATABLANKSTATE;
uint32_t gData32 = 0xABCDEF00;
volatile DL_FLASHCTL_COMMAND_STATUS gCmdStatus;

static volatile uint8_t var_test = 0xffu;

int main(void)
{
    uint32_t EEPROMEmulationState;


    SYSCFG_DL_init();

        for (uint16_t num = 0;
             num < EEPROM_EMULATION_DATA_SIZE / sizeof(uint32_t); num++) {
            EEPROMEmulationBuffer[num] = DataArray[num];
        }
        while(1)
        {
            __BKPT(0);
            switch(var_test)
            {
                case 5:
                EEPROM_TypeA_IncReadData(0x41D00004, &rec_data[1], 1);
                var_test = 0xff;
                break;
                case 6:
                EEPROM_TypeA_IncReadData(0x41D00000, &rec_data[0], 1);
                var_test = 0xff;
                break;
            }
            __BKPT(0);
        }


    while(1) {
        __WFI(); 
    } 
}
/*
 * Copyright (c) 2021-24, Texas Instruments Incorporated
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * *  Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *
 * *  Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * *  Neither the name of Texas Instruments Incorporated nor the names of
 *    its contributors may be used to endorse or promote products derived
 *    from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

#include <ti/eeprom/emulation_type_a/eeprom_emulation_type_a.h>
#include "ti_msp_dl_config.h"

/* Address in main memory to write to. This is defined in the
 * eeprom_emulation_type_a.h header file. Uncommenting the #define below will
 * overwrite the default #define in the header file. */


#define SECTOR_SIZE (1024)

#define NUMBER_OF_WRITES ((SECTOR_SIZE / EEPROM_EMULATION_DATA_SIZE) + 1)

uint32_t DataArray[EEPROM_EMULATION_DATA_SIZE / sizeof(uint32_t)] = {
    0xABCDEF00, 0x12345678, 0x00FEDCBA, 0x87654321, 0xABCDEF00, 0x12345678,
    0x00FEDCBA, 0x87654321, 0xABCDEF00, 0x12345678, 0x00FEDCBA, 0x87654321,
    0xABCDEF00, 0x12345678, 0x00FEDCBA, 0x87654321, 0xABCDEF00, 0x12345678,
    0x00FEDCBA, 0x87654321, 0xABCDEF00, 0x12345678, 0x00FEDCBA, 0x87654321,
    0xABCDEF00, 0x12345678, 0x00FEDCBA, 0x87654321, 0xABCDEF00, 0x12345678};
uint32_t EEPROMEmulationBuffer[EEPROM_EMULATION_DATA_SIZE / sizeof(uint32_t)];

#pragma clang section bss=".eeprom_bss"
#pragma clang section text=".eeprom_text"
uint32_t rec_data[7];
#pragma clang section bss=""
#pragma clang section text=""

uint32_t BLANKAPISTATE;
uint32_t DATABLANKSTATE;
uint32_t gData32 = 0xABCDEF00;
volatile DL_FLASHCTL_COMMAND_STATUS gCmdStatus;

static volatile uint8_t var_test = 0xffu;

int main(void)
{
    uint32_t EEPROMEmulationState;


    SYSCFG_DL_init();

        for (uint16_t num = 0;
             num < EEPROM_EMULATION_DATA_SIZE / sizeof(uint32_t); num++) {
            EEPROMEmulationBuffer[num] = DataArray[num];
        }
        while(1)
        {
            __BKPT(0);
            switch(var_test)
            {
                case 5:
                EEPROM_TypeA_IncReadData(0x41D00004, &rec_data[1], 1);
                var_test = 0xff;
                break;
                case 6:
                EEPROM_TypeA_IncReadData(0x41D00000, &rec_data[0], 1);
                var_test = 0xff;
                break;
            }
            __BKPT(0);
        }


    while(1) {
        __WFI(); 
    } 
}

  • Please find the map file and eeprom source file for refe

    void EEPROM_TypeA_IncReadData(uint32_t srcaddr, uint32_t *data, uint32_t length)
    {
        uint32_t *ReadRecordPointer;
        uint32_t ReadRecordAddress;
        ReadRecordAddress = srcaddr;
        for (uint16_t num = 0; num < length;
             num++) {
            ReadRecordPointer = (void *) ReadRecordAddress;
            data[num]         = *ReadRecordPointer;
            ReadRecordAddress += 4;
        }
    }
    ******************************************************************************
                TI ARM Clang Linker PC v4.0.1                      
    ******************************************************************************
    >> Linked Tue Feb 25 18:44:45 2025
    
    OUTPUT FILE NAME:   <eeprom_emulation_type_a.out>
    ENTRY POINT SYMBOL: "_c_int00_noargs"  address: 00000271
    
    
    MEMORY CONFIGURATION
    
             name            origin    length      used     unused   attr    fill
    ----------------------  --------  ---------  --------  --------  ----  --------
      FLASH                 00000000   00080000  00000340  0007fcc0  R  X
      SRAM_BANK0            20200000   00010000  000001f1  0000fe0f  RW X
      SRAM_BANK1            20210000   00010000  00000020  0000ffe0  RW X
      BCR_CONFIG            41c00000   000000ff  00000000  000000ff  R   
      BSL_CONFIG            41c00100   00000080  00000000  00000080  R   
      DATA                  41d00000   00004000  00000000  00004000  R   
    
    
    SEGMENT ALLOCATION MAP
    
    run origin  load origin   length   init length attrs members
    ----------  ----------- ---------- ----------- ----- -------
    00000000    00000000    00000340   00000340    r-x
      00000000    00000000    000000c0   000000c0    r-- .intvecs
      000000c0    000000c0    00000230   00000230    r-x .text
      000002f0    000002f0    00000050   00000050    r-- .cinit
    20200000    20200000    000000f4   00000000    rw-
      20200000    20200000    00000079   00000000    rw- .data
      2020007c    2020007c    00000078   00000000    rw- .bss
    2020ff00    2020ff00    00000120   00000000    rw-
      2020ff00    2020ff00    00000100   00000000    rw- .stack
      20210000    20210000    00000020   00000000    rw- .eeprom_bss
    
    
    SECTION ALLOCATION MAP
    
     output                                  attributes/
    section   page    origin      length       input sections
    --------  ----  ----------  ----------   ----------------
    .intvecs   0    00000000    000000c0     
                      00000000    000000c0     ticlang_startup_mspm0g351x_ticlang.obj (.intvecs)
    
    .text      0    000000c0    00000230     
                      000000c0    0000007c     libc.a : copy_decompress_lzss.c.obj (.text:decompress:lzss)
                      0000013c    0000006c     ti_msp_dl_config.obj (.text.SYSCFG_DL_init)
                      000001a8    00000050     main.obj (.text.main)
                      000001f8    0000003c     libc.a : autoinit.c.obj (.text:__TI_auto_init_nobinit_nopinit)
                      00000234    0000003a     ti_eeprom_emulation_type_a_eeprom_emulation_type_a.obj (.text.EEPROM_TypeA_IncReadData)
                      0000026e    00000002     ticlang_startup_mspm0g351x_ticlang.obj (.text.Default_Handler)
                      00000270    00000028     libc.a : boot_cortex_m.c.obj (.text:_c_int00_noargs)
                      00000298    00000016            : copy_zero_init.c.obj (.text:decompress:ZI:__TI_zero_init_nomemset)
                      000002ae    00000012            : memcpy16.S.obj (.text:TI_memcpy_small)
                      000002c0    00000012            : copy_decompress_none.c.obj (.text:decompress:none)
                      000002d2    0000000a     driverlib.a : dl_common.o (.text.DL_Common_delayCycles)
                      000002dc    00000008     libclang_rt.builtins.a : aeabi_memcpy.S.obj (.text.__aeabi_memcpy)
                      000002e4    00000004     ticlang_startup_mspm0g351x_ticlang.obj (.text.Reset_Handler)
                      000002e8    00000004     libc.a : pre_init.c.obj (.text._system_pre_init)
                      000002ec    00000004            : exit.c.obj (.text:abort)
    
    .cinit     0    000002f0    00000050     
                      000002f0    0000001a     (.cinit..data.load) [load image, compression = lzss]
                      0000030a    00000002     --HOLE-- [fill = 0]
                      0000030c    0000000c     (__TI_handler_table)
                      00000318    00000008     (.cinit..bss.load) [load image, compression = zero_init]
                      00000320    00000008     (.cinit..eeprom_bss.load) [load image, compression = zero_init]
                      00000328    00000018     (__TI_cinit_table)
    
    .init_array 
    *          0    00000000    00000000     UNINITIALIZED
    
    .binit     0    00000000    00000000     
    
    .data      0    20200000    00000079     UNINITIALIZED
                      20200000    00000078     main.obj (.data.DataArray)
                      20200078    00000001     main.obj (.data.var_test)
    
    .bss       0    2020007c    00000078     UNINITIALIZED
                      2020007c    00000078     (.common:EEPROMEmulationBuffer)
    
    .stack     0    2020ff00    00000100     UNINITIALIZED
                      2020ff00    00000004     libc.a : boot_cortex_m.c.obj (.stack)
                      2020ff04    000000fc     --HOLE--
    
    .eeprom_bss 
    *          0    20210000    00000020     UNINITIALIZED
                      20210000    0000001c     main.obj (.eeprom_bss)
                      2021001c    00000004     --HOLE--
    
    __llvm_prf_cnts 
    *          0    20200000    00000000     UNINITIALIZED
    
    __llvm_prf_bits 
    *          0    20200000    00000000     UNINITIALIZED
    
    MODULE SUMMARY
    
           Module                                                   code   ro data   rw data
           ------                                                   ----   -------   -------
        <current directory>
           main.obj                                                 80     0         269    
           ticlang_startup_mspm0g351x_ticlang.obj                   6      192       0      
           ti_msp_dl_config.obj                                     108    0         0      
           ti_eeprom_emulation_type_a_eeprom_emulation_type_a.obj   58     0         0      
        +--+--------------------------------------------------------+------+---------+---------+
           Total:                                                   252    192       269    
                                                                                            
        c:/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/lib/ticlang/m0p/mspm0gx51x/driverlib.a
           dl_common.o                                              10     0         0      
        +--+--------------------------------------------------------+------+---------+---------+
           Total:                                                   10     0         0      
                                                                                            
        c:\ti\ti-cgt-armllvm_4.0.1.LTS\\lib\armv6m-ti-none-eabi/c/libc.a
           copy_decompress_lzss.c.obj                               124    0         0      
           autoinit.c.obj                                           60     0         0      
           boot_cortex_m.c.obj                                      40     0         0      
           copy_zero_init.c.obj                                     22     0         0      
           copy_decompress_none.c.obj                               18     0         0      
           memcpy16.S.obj                                           18     0         0      
           exit.c.obj                                               4      0         0      
           pre_init.c.obj                                           4      0         0      
        +--+--------------------------------------------------------+------+---------+---------+
           Total:                                                   290    0         0      
                                                                                            
        c:\ti\ti-cgt-armllvm_4.0.1.LTS\\lib\armv6m-ti-none-eabi/libclang_rt.builtins.a
           aeabi_memcpy.S.obj                                       8      0         0      
        +--+--------------------------------------------------------+------+---------+---------+
           Total:                                                   8      0         0      
                                                                                            
           Stack:                                                   0      0         256    
           Linker Generated:                                        0      78        0      
        +--+--------------------------------------------------------+------+---------+---------+
           Grand Total:                                             560    270       525    
    
    
    LINKER GENERATED COPY TABLES
    
    __TI_cinit_table @ 00000328 records: 3, size/record: 8, table size: 24
    	.data: load addr=000002f0, load size=0000001a bytes, run addr=20200000, run size=00000079 bytes, compression=lzss
    	.bss: load addr=00000318, load size=00000008 bytes, run addr=2020007c, run size=00000078 bytes, compression=zero_init
    	.eeprom_bss: load addr=00000320, load size=00000008 bytes, run addr=20210000, run size=00000020 bytes, compression=zero_init
    
    
    LINKER GENERATED HANDLER TABLE
    
    __TI_handler_table @ 0000030c records: 3, size/record: 4, table size: 12
    	index: 0, handler: __TI_decompress_lzss
    	index: 1, handler: __TI_decompress_none
    	index: 2, handler: __TI_zero_init
    
    
    GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name 
    
    address   name                          
    -------   ----                          
    0000026f  ADC0_IRQHandler               
    0000026f  ADC1_IRQHandler               
    0000026f  AESADV_IRQHandler             
    000002ec  C$$EXIT                       
    0000026f  CANFD0_IRQHandler             
    0000026f  CANFD1_IRQHandler             
    0000026f  DAC0_IRQHandler               
    000002d3  DL_Common_delayCycles         
    0000026f  DMA_IRQHandler                
    20200000  DataArray                     
    0000026f  Default_Handler               
    2020007c  EEPROMEmulationBuffer         
    00000235  EEPROM_TypeA_IncReadData      
    0000026f  GROUP0_IRQHandler             
    0000026f  GROUP1_IRQHandler             
    0000026f  HardFault_Handler             
    0000026f  I2C0_IRQHandler               
    0000026f  I2C1_IRQHandler               
    0000026f  I2C2_IRQHandler               
    0000026f  LFSS_IRQHandler               
    0000026f  NMI_Handler                   
    0000026f  PendSV_Handler                
    000002e5  Reset_Handler                 
    0000026f  SPI0_IRQHandler               
    0000026f  SPI1_IRQHandler               
    0000026f  SPI2_IRQHandler               
    0000026f  SVC_Handler                   
    0000013d  SYSCFG_DL_init                
    0000026f  SysTick_Handler               
    0000026f  TIMA0_IRQHandler              
    0000026f  TIMA1_IRQHandler              
    0000026f  TIMG0_IRQHandler              
    0000026f  TIMG12_IRQHandler             
    0000026f  TIMG14_IRQHandler             
    0000026f  TIMG6_IRQHandler              
    0000026f  TIMG7_IRQHandler              
    0000026f  TIMG8_IRQHandler              
    0000026f  TIMG9_IRQHandler              
    000002af  TI_memcpy_small               
    0000026f  UART0_IRQHandler              
    0000026f  UART1_IRQHandler              
    0000026f  UART3_IRQHandler              
    0000026f  UART4_IRQHandler              
    0000026f  UART5_IRQHandler              
    0000026f  UART6_IRQHandler              
    0000026f  UART7_IRQHandler              
    20210000  __STACK_END                   
    00000100  __STACK_SIZE                  
    00000000  __TI_ATRegion0_region_sz      
    00000000  __TI_ATRegion0_src_addr       
    00000000  __TI_ATRegion0_trg_addr       
    00000000  __TI_ATRegion1_region_sz      
    00000000  __TI_ATRegion1_src_addr       
    00000000  __TI_ATRegion1_trg_addr       
    00000000  __TI_ATRegion2_region_sz      
    00000000  __TI_ATRegion2_src_addr       
    00000000  __TI_ATRegion2_trg_addr       
    00000328  __TI_CINIT_Base               
    00000340  __TI_CINIT_Limit              
    00000340  __TI_CINIT_Warm               
    0000030c  __TI_Handler_Table_Base       
    00000318  __TI_Handler_Table_Limit      
    000001f9  __TI_auto_init_nobinit_nopinit
    000000c1  __TI_decompress_lzss          
    000002c1  __TI_decompress_none          
    ffffffff  __TI_pprof_out_hndl           
    ffffffff  __TI_prof_data_size           
    ffffffff  __TI_prof_data_start          
    00000000  __TI_static_base__            
    00000299  __TI_zero_init_nomemset       
    000002dd  __aeabi_memcpy                
    000002dd  __aeabi_memcpy4               
    000002dd  __aeabi_memcpy8               
    ffffffff  __binit__                     
    UNDEFED   __mpu_init                    
    2020ff00  __stack                       
    20200000  __start___llvm_prf_bits       
    20200000  __start___llvm_prf_cnts       
    20200000  __stop___llvm_prf_bits        
    20200000  __stop___llvm_prf_cnts        
    00000271  _c_int00_noargs               
    UNDEFED   _system_post_cinit            
    000002e9  _system_pre_init              
    000002ed  abort                         
    ffffffff  binit                         
    00000000  interruptVectors              
    000001a9  main                          
    20210000  rec_data                      
    
    
    GLOBAL SYMBOLS: SORTED BY Symbol Address 
    
    address   name                          
    -------   ----                          
    00000000  __TI_ATRegion0_region_sz      
    00000000  __TI_ATRegion0_src_addr       
    00000000  __TI_ATRegion0_trg_addr       
    00000000  __TI_ATRegion1_region_sz      
    00000000  __TI_ATRegion1_src_addr       
    00000000  __TI_ATRegion1_trg_addr       
    00000000  __TI_ATRegion2_region_sz      
    00000000  __TI_ATRegion2_src_addr       
    00000000  __TI_ATRegion2_trg_addr       
    00000000  __TI_static_base__            
    00000000  interruptVectors              
    000000c1  __TI_decompress_lzss          
    00000100  __STACK_SIZE                  
    0000013d  SYSCFG_DL_init                
    000001a9  main                          
    000001f9  __TI_auto_init_nobinit_nopinit
    00000235  EEPROM_TypeA_IncReadData      
    0000026f  ADC0_IRQHandler               
    0000026f  ADC1_IRQHandler               
    0000026f  AESADV_IRQHandler             
    0000026f  CANFD0_IRQHandler             
    0000026f  CANFD1_IRQHandler             
    0000026f  DAC0_IRQHandler               
    0000026f  DMA_IRQHandler                
    0000026f  Default_Handler               
    0000026f  GROUP0_IRQHandler             
    0000026f  GROUP1_IRQHandler             
    0000026f  HardFault_Handler             
    0000026f  I2C0_IRQHandler               
    0000026f  I2C1_IRQHandler               
    0000026f  I2C2_IRQHandler               
    0000026f  LFSS_IRQHandler               
    0000026f  NMI_Handler                   
    0000026f  PendSV_Handler                
    0000026f  SPI0_IRQHandler               
    0000026f  SPI1_IRQHandler               
    0000026f  SPI2_IRQHandler               
    0000026f  SVC_Handler                   
    0000026f  SysTick_Handler               
    0000026f  TIMA0_IRQHandler              
    0000026f  TIMA1_IRQHandler              
    0000026f  TIMG0_IRQHandler              
    0000026f  TIMG12_IRQHandler             
    0000026f  TIMG14_IRQHandler             
    0000026f  TIMG6_IRQHandler              
    0000026f  TIMG7_IRQHandler              
    0000026f  TIMG8_IRQHandler              
    0000026f  TIMG9_IRQHandler              
    0000026f  UART0_IRQHandler              
    0000026f  UART1_IRQHandler              
    0000026f  UART3_IRQHandler              
    0000026f  UART4_IRQHandler              
    0000026f  UART5_IRQHandler              
    0000026f  UART6_IRQHandler              
    0000026f  UART7_IRQHandler              
    00000271  _c_int00_noargs               
    00000299  __TI_zero_init_nomemset       
    000002af  TI_memcpy_small               
    000002c1  __TI_decompress_none          
    000002d3  DL_Common_delayCycles         
    000002dd  __aeabi_memcpy                
    000002dd  __aeabi_memcpy4               
    000002dd  __aeabi_memcpy8               
    000002e5  Reset_Handler                 
    000002e9  _system_pre_init              
    000002ec  C$$EXIT                       
    000002ed  abort                         
    0000030c  __TI_Handler_Table_Base       
    00000318  __TI_Handler_Table_Limit      
    00000328  __TI_CINIT_Base               
    00000340  __TI_CINIT_Limit              
    00000340  __TI_CINIT_Warm               
    20200000  DataArray                     
    20200000  __start___llvm_prf_bits       
    20200000  __start___llvm_prf_cnts       
    20200000  __stop___llvm_prf_bits        
    20200000  __stop___llvm_prf_cnts        
    2020007c  EEPROMEmulationBuffer         
    2020ff00  __stack                       
    20210000  __STACK_END                   
    20210000  rec_data                      
    ffffffff  __TI_pprof_out_hndl           
    ffffffff  __TI_prof_data_size           
    ffffffff  __TI_prof_data_start          
    ffffffff  __binit__                     
    ffffffff  binit                         
    UNDEFED   __mpu_init                    
    UNDEFED   _system_post_cinit            
    
    [88 symbols]
    
    rence

  • Hi Eswaran,

    Are you getting an ECC violation in your default handler? The memory section you're looking at is ECC protected so if you program that section and without the proper ECC code then it should throw a flag.

    Regards,
    Luke

  • Hi Luke,

    Thanks for your reply.

    Can you please tell confirm is this is the register that needs to be checked for ECC violation? - SYSSTATUS under SYSCTL. The ECC error bits in this register were set to TRUE.

    Just wanted to ensure if the same problem will occur for reading from the memory as you have said this happens while programming?

    So, for this address 0x41D00000 of DATA Flash we have to use programming with ECC so that the read will be processed without any issues.

    And could you please also suggest if the ECC can be disabled for this 0x41D00000?

    If we want to use memory without ECC, should we proceed with 0x41E00000 area?

    but 0x41e00000 always shows like this,

    please guide us how to program and read from this 0x41E00000 region?


    Regards,

    Eswar

  • Hi Eswar,

    I recommend looking at the flashctl_program_with_ecc example for programming the ECC code, the functions that have "WithECCGenerated" should be doing the ecc code for you.

    If you want to go with unchecked region, then yes you will use the memory address of 0x41E00000 instead of 0x41D00000.

    Regards,
    Luke

  • Hi Luke,

    Thanks for your reply.

    Yes, I had a look at the ECC coding examples and tried then the issue was solved. Thanks.

    For unchecked region, when I am trying to write in 0x41E00000, it is not writing. Should we follow any specific procedure to write here?

    Regards,

    Eswar