• 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 » TMS470MF6607 Flash programming
Share
Hercules™ Safety Microcontrollers
  • Forum
  • E2E Wiki
Options
  • Subscribe via RSS

TMS470MF6607 Flash programming

TMS470MF6607 Flash programming

This question has suggested answer(s)
sarada cm
Posted by sarada cm
on Feb 13 2012 08:21 AM
Prodigy100 points

Hi,

I am developing flash driver for TMS470MF6607 controller using CCS V4.2.3.

I am following below sequence for erase operation.

  1. Initializing bank and sectors
  2. Call the Flash_Compact_B()
  3. Then start erase using Flash_Start_Erase_B()
  4. Check the status of erase using Flash_Status_U16()
  5. wait till BUSY bit in status register get cleared, since I am unable to perform any other operation during erase operation in progress.
  6. If more sectors to be erased then goto step 1, otherwise set flag to indicate erase is success.

I placed flash driver code in RAM area and above sequence is working fine. Time taken for erasing are below.

Sector Size

Time taken for erase operation (Seconds)

Additional Information

16K

0.409

Single sector

32K

0.6436

Single sector

32K

1.0

Length is overlapping two sectors

64K

1.0

Single sector

If length increased, this time will be increased. For entire erase of flash its around 12 seconds.

But according to my customer requirement, I have to excute some part code (which is placed in flash memory)  for every particulat period (after 20msec of erase start and later for every 4.5seconds) to indicate erase is in progress. And control should come back to RAM area from where it is jumped to flash. When I try to excute it, erase operation is stopped and there is no flash driver code in RAM to access.

Can provide the information to access the flash code whie erase opeartion is in progress. Is it possible to excute using any mode? Please provide it as early as possible.

Thanks in Advance.......

Regards,

Sarada CM

Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • John Hall
    Posted by John Hall
    on Feb 13 2012 12:50 PM
    Suggested Answer
    Expert5275 points

    Hello Sarada,

    When a Flash Bank is performing a program or erase operation, it becomes inaccessible for reads which includes code execution until the operation has completed.  It is possible to perform an erase or program operation from one bank and still read or execute code from the other bank on this device.  The verify and read margin functions however, should be performed only from RAM as executing code from Flash while those operations are in progress will cause a system error.

    If you are trying to erase the entire bank, using the bank erase operation will be more efficient than erasing each sector individually.

    John Hall

    Safety MCU Software Team

    If my reply answers your question please click on the green button "Verify Answer"

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • sarada cm
    Posted by sarada cm
    on Feb 14 2012 06:57 AM
    Prodigy100 points

    Hi John,

    Thank you very much for reply.

    Anyway I placed all my excecutable code in RAM only, so I am able to perform other tasks during erase opeartion.

    But I found one more issue while using flash libraries. When I called Flash_Compact_B() function, its taking around 28m. Why are you holding this much time without giving controller to user.

    Please clarify this.

    Regards,

    Sarada CM

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • John Hall
    Posted by John Hall
    on Feb 14 2012 07:04 AM
    Expert5275 points

    Sarada,

    That is due to the fact that the Flash_Compact_B() function is synchronous and will not return until the compaction has completed.

    The asynchronous compaction function is Flash_Start_Compact_B() which will return once compaction has started and then you will need to poll Flash_Status_U16() occasionally to see when the compaction operation has completed.

    John Hall

    Safety MCU Software Team

    If my reply answers your question please click on the green button "Verify Answer"

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • sarada cm
    Posted by sarada cm
    on Feb 14 2012 23:50 PM
    Prodigy100 points

     

    Hello John,

    Thanks for reply.

    I tried with Flash_Start_Compact_B()  function and polled using Flash_Status_U16(). Then also control from Flash_Start_Compact_B()  is returned after 28ms of function call.

    Please clarify it and provide me alternate solution.

     

    Regards,

    Sarada CM

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • John Hall
    Posted by John Hall
    on Feb 15 2012 08:51 AM
    Expert5275 points

    Sarada,

    There is some device overhead that is required and as such there is no workaround available.

    John Hall

    Safety MCU Software Team

    If my reply answers your question please click on the green button "Verify Answer"

    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