Cart New Account Login

HomeAbout usProductsSupportForumsBlogCustomer Service

Please accept the use of cookies on our site

At PEmicro we use web browser cookies in order to provide you with an enhanced experience and in order to be able to do things like shopping cart processing and identify you when you login to our website.

Click here to accept

search inside this forum
search inside all forums
Flash programming works....Barely
Adam C. Nov 25, 2014 at 12:11 PM (12:11 hours)
Staff: Juan S.

  • I am in the process of bringing up a new PCB design, using your Multilink Universal.  The target CPU is a MCU54417, and its Flash memory (on CS0, of course) is a MX29LV640EBTI-70G part, with a 16-bit data bus to the CPU.

    I have been specifying the CFP file

    CM c:\PEMicro\PKGCFZPRO\Algorithms\MXIC_29LV640E-B_1x16x4meg.CFP 00000000

    and have had some success; it *will* program the part with an S19 file, BUT:

    1) The "Erase Range" function does not seem to work "with this CFP". Errors aside, this would save me a LOT of time if this worked
    2) It usually fails during the first attempted Erase cycle ("EM") (cycling power on target and retrying often makes it work the 2nd try)

    What algorithm should I be using? I found no documentation on choosing an appropriate algorithm.

    If this is the "correct" algorithm, can you add the "Erase Range" functionality? Can you explain why it often fails?




    • Hi Adam, 

      1) When you mentioned "Erase Range" are you referring to the "BE ;Block Erase" command? To my knowledge, PROGCFZ does not have a "Erase Range" command.

      2) What is the message you receive when the "EM ; Erase Module" command fails?

      • I'm still curious whether I should be using a different algorithm, also.

  • The "Block erase" command I was wanting to use was "EW" (Erase Range?); can't remember where I found it (many of these apps give "Help file not found" when I hit the help button...

    When it succeeds, erasing 8MB of flash takes quite a while. I'm working on a boot loader, designed to fit in the first 1/4MB, which should take only a few seconds to erase.

    As it's working now, I have to wait through a failure AND a complete erasure cycle, making it take several minutes to reload code in my device.

    The error I get when it fails is:

    Erasing. -Module could not be erased.
    ERROR 24 during script!

  • Hi Adam, 

    Please open a ticket and request a custom algorithm for the 54417. Below is a link to the request form:

    • After all this "tech support" I still don't know your nomenclature for "Flash configuration" (one of the queries on the Algorithm request page.

      Our design has a single Flash part, on a 16-bit data bus. Does that make it a 1x16 configuration?

  • Greetings,

    Is this issue resolved?

    Takao Yamada

  • While I never received an answer to my last question, I do have an algorithm that seems to be running correctly.

  • Greetings,

    To answer your last question, the flash algorithm has the following convention in its name.

    For example, a 1x16x128K means:

    1 flash chip
    16 bit width per line (or 2 bytes)
    128K lines of flash

    This means 1 chip x 16 bit (2 bytes) x 128K = 1 flash chip of size 256KB

    Takao Yamada

Add comment

   Want to comment? Please login or create a new PEMicro account.

© 2018 P&E Microcomputer Systems Inc.
Website Terms of Use and Sales Agreement