• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Microcontrollers » Hercules™ Safety Microcontrollers » Hercules™ Safety Microcontrollers Forum » Flash ECC Error when using NowFlash
Share
Hercules™ Safety Microcontrollers
  • Forum
  • E2E Wiki
Options
  • Subscribe via RSS

Flash ECC Error when using NowFlash

Flash ECC Error when using NowFlash

This question is not answered
Tareq Alqaisi
Posted by Tareq Alqaisi
on May 02 2011 13:22 PM
Prodigy95 points

Hello,

We are using NowFlash to programe both the program and ECC regions, and we are currently getting an ESM error after flashing is complete. If we use Lauterbach Trace32 to flash both regions we don't get the ESM error.

I assume this Error is generated by Enabling FlashECC error checking.

Any idea on what needs to be done or if there is any special flags I need to use when Flashing using NowFlash?

Thanks.

Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • Haixiao Weng
    Posted by Haixiao Weng
    on May 02 2011 17:39 PM
    Genius9565 points

    Is the contents successfully programmed into flash? After programming the device using nowflash, power reset the device, Is your code running as expected?

    If you get an ESM error after power reset the device, could you please check the ESM registers (offset 0xFFFFF500) to find out the error source?

    Could you please post a screen shot of the NowFlash configuration

    Regards,

    Haixiao

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Tareq Alqaisi
    Posted by Tareq Alqaisi
    on May 12 2011 11:22 AM
    Prodigy95 points

    Hello,

    I assume my content is successfuly programmed into flas as I enable Flash ECC Check in my code. When I disable the Flash ECC check, i don't get the ESM error... So Flashing the code is done successfuly.

    I use command Line to download the program, please see below

    The first Line programs the code and the second line programs the ECC value.

    nowFlash.exe -bl -er -pr -ve %ROOTDIR%\Code_Device\TGDevice\10_Software\31_Build\Label\TGP.elf -w 1 -pllcfg 0xFFFFFF70 0X20033800 -emu TIXDS100V2 -p 000 -cpu CORTEX_RXX -targets 1
    nowFlash.exe -pr -ve %ROOTDIR%\Code_Device\TGDevice\10_Software\31_Build\Label\TGP_ECC.elf -w 1 -pllcfg 0xFFFFFF70 0X20033800 -emu TIXDS100V2 -p 000 -cpu CORTEX_RXX -targets 1

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Haixiao Weng
    Posted by Haixiao Weng
    on May 12 2011 12:19 PM
    Genius9565 points

    Please see if my understanding is correct:

    Your question is: why I get a flash ECC error after the ECC contents were programmed into device?

    One possibility is: R4 prefetch to some location without ECC. If you programmed all the 2Mbyte flash/ECC, this should be an issue.

    If possible, can you show us your hardware and upload the software to see if we can reproduce it on our side.

    Regards,

    Haixiao

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Pratip Kumar
    Posted by Pratip Kumar
    on Oct 19 2011 07:04 AM
    Intellectual2255 points

    Hi, let us know if you were able to get away with this ESM error issue.

    If you are able to connect through CCS , you may send the ESM register log to analyse it further.

    -Pratip

    ESM Error
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Pratip Kumar
    Posted by Pratip Kumar
    on Oct 19 2011 07:05 AM
    Intellectual2255 points

    Hi, let us know if you were able to get away with this issue.

    If you are able to connect through the CCS , you may send us the ESM register values to analyse it further.

    -Pratip

    ESM Error
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Bindu Tanguturi
    Posted by Bindu Tanguturi
    on Jan 18 2012 20:37 PM
    Expert1180 points

    I am also enabling the Falsh ECC and i dont see any problem as of now. Looks working fine.

    Is it required to fill the entire Flash with the known values and program ECC correspondingly ?

    My application size is 1MB maximum. Do i need to program the remaining flash also to known value to avoid the ESM error ?

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Haixiao Weng
    Posted by Haixiao Weng
    on Jan 18 2012 21:20 PM
    Genius9565 points

    99% chance,  you will not see any problem without filling all flash area (if ECC is enabled/notified).

    However, it is possible that you get a flash ECC due to prefetch. 

    Usually, this problem occurs just after the interrupt service routine. At the end of the interrupt service routine, the compiler put an instruction mov PC, LR there. The R4 CPU does not know it is the end of an function and the R4 CPU still does the prefetch. 

    Workaround No.1:

    Add a empty function after the ISR. e.g. void GIO_dummy(){}; The dummy function will translate to BX LR. Now, R4 CPU see this BX function and stop prefetch.

    However, this dummy might get deleted if optimization is enabled.

    Workaround No.2:

    Fill the flash will known values. Now, where ever the CPU goes, no ECC error will be generated. If the RAM ECC is enabled (notified), you also need to init all SRAM.

    Back to your question, in the code developing stage, filling all the flash area is timing consuming. You can use wrokaround no.1 to avoid this problem. In the production stage, you can delete the dummy function and fill all your flash area.

    Regards,

    Haixiao

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Tarik Kurtovic
    Posted by Tarik Kurtovic
    on Apr 06 2012 04:08 AM
    Prodigy70 points

    Hello,

    I have a similar problem, just from the other side: I cannot make Trace32 flash the ECC data in the proper place.

    What I have is an out-file with the ECC appended by nowECC but when used with my Trace32-script all I can see in the ECC flash area (0xF0400000 onwards) is a field of '1's (0xF as long as the eye reaches).

    Creating a Flash area from 0xF0400000 onwards also did not do anything to help.

    Do you have any tips?

    Thanks,

    Tarik

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
TI E2E™ Community
  • Support Forums
  • Blogs
  • Videos
  • Groups
  • Site Support & Feedback
  • Settings
TI E2E™ Community Groups
  • TI University Program
  • Make the Switch
  • Microcontroller Projects
  • Motor Drive & Control
Other Communities
  • Deyisupport
  • Designsomething.org
  • beagleboard.org
  • TI on Element 14
  • TI on TechXchangeSM
Other Technical & Support Resources
  • WEBENCH® Design Center
  • Product Information Centers
  • Technical Documents
  • TI Design Network
  • TI Technical Articles
  • TI Training

All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
embedded processors, along with software, tools and the industry’s largest sales/support staff.

© Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy Policy | Terms of Use