Cart New Account Login

HomeAbout usProductsSupportForumsBlogCustomer Service

search inside this forum
Kinetis Flash Programming
. Oct 25, 2017 at 11:51 AM (11:51 hours)
Staff: Takao Y.

  • I try to program Kinetis K series processors (K10, K64) with FlexNVM, using a Cyclone for ARM rev C. Going through the documentation I have a few questions about my understanding:

    a) the PRESERVE_PARTITION command only preserves the EEPROM data size and FlexNVM partition fields and the data is always erased? The PA command overrides this.

    b) You modify the programming algorithm .arp file to insert PRESERVE_RANGE for the data that should be copied to the new configuration. To save EEPROM data, you preserve FlexRAM (1400xxxx).
    - On the latest Cyclone, what it the limit to the amount of data that can be preserved?

    c) You can choose multiple programming algorithms in one sequence. Is something like CM aa; SS x;PM; CM bb legal?

    d) I can specify multiple SS commands to set the object code. If these have an overlap, does the latest definition win?

    e) The parts without FlexNVM all have sector erase commands, but not the FlexNVM parts. PRESERVE_RANGE gives the same functionality, but it would be nice not to unnecessarily wear out the flash.

    f) While the interactive programmer (PROGACMP) supports flashing the current data and time, this functionality is absent from Cyclone. This would be helpful to add a production date to the firmware.




    Comments

  • Greetings,

    Answers to your questions:
    a) Preserve partition will only save the bytes that indicate how much memory is allocated for EEPROM and PFLASH. It will not be used to preserve any memory data.

    b) Preserve range uses the RAM on the cyclone. Our cyclone universal hardware has MB of RAM so you should have no issues preserving data.

    c) That is correct, within one image you can concatenate commands so that you can switch between algorithms. E.g.:
    CM: my first algo
    SS: my first binary
    EM: Erase range covered by first algo
    PM: Program areas covered by first algo and my first binary
    VC: Verify areas covered by first algo and my first binary
    CM: my second algo
    SS: my second binary
    EM: Erase range covered ONLY by second algo
    PM: Program areas covered ONLY by second algo and second binary
    etc, etc.

    d) Answered in section C, but in short yes the commands like program and verify will only handle the latest SS command called against the latest CM algorithm called.

    e) How many times are you planning on erasing and programming the same chip?

    f) The cyclone has the ability to program dynamic data using the cyclone automated control package:
    http://www.pemicro.com/products/product_viewDetails.cfm?product_id=15320101


    Takao Yamada

  • Thank you,

    d) So when I want to program both a boot loader and the factory firmware, I should combine both into one object file? I cannot do
    CM
    SS: bootloader
    EM:
    PM:
    SS: firmware
    PM:
    ?

    e) you are right, I was more wondering about why one algorithm has sector erase, and the other not.

  • Greetings,

    d) You can also have one or multiple object files. Your example would work just fine.

    e) Due to FlexNVM, it is difficult to know how many blocks of memory are available within PFLASH and EEPROM, so it makes create the algorithm command and feature difficult to implement. Other flash like CFLASH is fixed so it is much easier to calculate and execute.


    Takao Yamada

Add comment


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







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