11 Replies Latest reply on May 15, 2019 11:54 PM by GeonaM_26

    cyble-014008 flash corruption

    maze_1672671

      Hello all,

       

      my colleagues in the test department found a flash corruption case

       

      Our device is connected to the battery of cars, so it is powered at 12 V; it has also a bootloader

       

      The test is: turn on device, wait for a while, turn off (to 6 V, that is off), wait, repeat.

       

      After a variable amount of time the device stops in the bootloader (it turns on a blue led)

       

      I used psoc programmer to download the two images (corrupted: left)

       

      Immagine.png

       

       

      As you can see, at address 1FFC0 the content is different (all zero in the corrupted case, erased?)

       

      From the map file I got:

       

      .cyloadermeta  0xf0000000       0x40 .\CortexM0\ARM_GCC_541\Release\cybootloader.o

                      0xf0000000                cy_meta_loader

                      0x0001ffc0                cyloadablemeta_start = cy_project_type_app_for_stack_and_copier?((LENGTH (rom) - CY_FLASH_ROW_SIZE) - CY_METADATA_SIZE):((LENGTH (rom) - (CY_FLASH_ROW_SIZE * (CY_APPL_NUM - 0x1))) - CY_METADATA_SIZE)

       

       

      .cyloadablemeta

                      0x0001ffc0       0x40

      *(.cyloadablemeta)

      .cyloadablemeta

                      0x0001ffc0       0x40 .\CortexM0\ARM_GCC_541\Release\cymetadata.o

                      0x0001ffc0                cy_meta_loadable

       

      Can you tell me why this can happen? That is, when bootloader/bootloadable change that flash row?

       

      Best regards

      Massimo