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.

Using nowECC with RM48L950

Other Parts Discussed in Thread: NOWECC, RM48L950

I am trying to set up SECDED on an RM48L950.  The nowECC memory map parameter has 5 options:  -F021 16M_ADD,  -F021 16M_NOADD, -F021 8M, -F035, -LF035, -F05.  It's not clear which of these match the RM48, which has 3M of flash.  I have generated output files using the 3 "-F021" options and loaded them at the addresses specified in the nowFlash User's Guide and each time I generate an abort inside of checkFlashECC().  I am using IAR Embedded Workshop, Functional Safety Edition 6.5.  Is there a set of nowECC command line parameters that work with the RM48L950 that work in this case?

Thanks,

Bobby Goldberg

  • I would recommend these options to append ECC to your file:

    -F021 16M_ADD -a <input filename>

    The RM48 devices use a 16MB Flash Address space and uses the address in the ECC calculation.

  • Hi John,

    I tried the options you suggested. When I use the –a option to add the ECC to my image, I get the following errors during the flash process:

    Wed Jan 29, 2014 17:23:27: Flash download warning: 4096 out of 4096 bytes from data record CODE:[0xF0400000,0xF0400FFF] will not be flashed

    Wed Jan 29, 2014 17:23:27: Flash download warning: 24666 out of 24666 bytes from data record CODE:[0xF040100C,0xF0407065] will not be flashed

     IAR-EW has an option to manually add another image, where I specify the file generated by nowECC (using “-o”) and a load address (0xF0400000).This seems to not produce any errors and flashes okay – the loader shows:

     Wed Jan 29, 2014 17:35:45: Loaded extra image: <filename>, image ID 3

     …but  “checkFlashECC()” generates an abort in sys_selftest.c at the statement “flashread = flashBadECC;”

     Also, do I want the –r4 option?  Any ideas?

    Thanks,

    Bobby

  • Bobby,

    I forgot to add the -r4 option.  That option tells nowECC to use CortexR4 ECC calculation. 

    I think the issue you are running into however is IAR does not support directly programming the ECC.  They use the F021 Flash API option to auto generate the ECC when programming an object file into the device.

  • Thanks, John. If it is the case that we can't load the NowECC file into memory using IAR-EW, then we will need to generate ECC when we write our flash loader.  I'll let you know if that doesn't work - thanks for the help.