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
MAC Reuse
. migrated on Dec 31, 2013 at 11:00 AM
No staff assigned yet

  • I'm looking for a solution to reuse MAC addresses already programmed on current products.  Similar to the Serializer, with the exception of using an incrementing value, it reads the value from memory that it will use for programming.

    i.e.
    Step 1: Read 6 bytes of memory from a known address.
    Step 2: Program image to flash
    Step 3: Program data from step 1 at same address as step 1.

    From the documentation, it appears this may be something that can be scripted. Is there a simple solution?

    Thanks.




    Comments

  • Hi wrs,

    There are a few different ways to do this. If you are already using one of our CPROG utilities, the easiest way is to use the "Upload Range" command. This will read from a given memory address (user specifies starting and ending address) and save it as a new S19 file.

    After you perform step 2, you will use the "SS Specify Object File" command to specify the new S19 file and do one final "PM Program Module" to program the MAC address back in.

    Best regards,
    Edison

  • QUOTE (Edison Tam @ Feb 2 2010, 06:56 PM) [legacy comment]
    Hi wrs,

    There are a few different ways to do this. If you are already using one of our CPROG utilities, the easiest way is to use the "Upload Range" command. This will read from a given memory address (user specifies starting and ending address) and save it as a new S19 file.

    After you perform step 2, you will use the "SS Specify Object File" command to specify the new S19 file and do one final "PM Program Module" to program the MAC address back in.

    Best regards,
    Edison


    Thanks for the quick response. This should accomplish what I need!

  • QUOTE (wrs @ Feb 3 2010, 09:05 AM) [legacy comment]
    Thanks for the quick response. This should accomplish what I need!


    I tested that and it seems like a good solution. Ideally, I would like come up with a method that would soley use the Cyclone Pro (and not require a PC). Short of changing the image, is there a way to micromanage programming the image? i.e. keep it from erasing the sector that contains the MAC/serial number?

  • Hi wrs,

    Which processor are you currently working with? Some architectures allow you to individually erase (or protect) certain sectors. This type of solution would work only if you are OK with preserving an entire sector (usually at least 512 bytes). If the sector contains your MAC address as well as some code that you need to update, then you'll still have to read out the MAC address first before erasing.

    Best regards,
    Edison

  • QUOTE (Edison Tam @ Feb 8 2010, 03:09 PM) [legacy comment]
    Hi wrs,

    Which processor are you currently working with? Some architectures allow you to individually erase (or protect) certain sectors. This type of solution would work only if you are OK with preserving an entire sector (usually at least 512 bytes). If the sector contains your MAC address as well as some code that you need to update, then you'll still have to read out the MAC address first before erasing.

    Best regards,
    Edison


    I am using the Freescale NE64 (MC9S12NE64). I have the MAC address in it's own sector, however I do not see how the P&E programmer can be set to erase only a subset of the flash.

  • QUOTE (wrs @ Apr 6 2010, 01:26 PM) [legacy comment]
    I am using the Freescale NE64 (MC9S12NE64). I have the MAC address in it's own sector, however I do not see how the P&E programmer can be set to erase only a subset of the flash.


    I have made several attempts following the example at http://www.pemicro.com/blog/post.cfm/new-flash-programming-feature-preserve-range" target="_blank">http://www.pemicro.com/blog/post.cfm/new-f...-preserve-range

    First, I believe there is an error on the web page. It gives the following example:

    NO_BASE_ADDRESS=00004000/ ;Fixed at $4000
    PRESERVE_RANGE=0000B000/0000B001/ ; Preserve $0000FF00-$0000FF01
    ADDR_RANGE=00000000/0000BFFF/00/FFFFFFC0/FFFFFE00/ ; $4000-$FFFF

    Shouldn't the PRESERVE_RANGE=000BF00/0000BF01 ??? It is the Preserve Address - Base Address?

    For the MC9S12NE64, I need to preserve address 0xFBF80 - 0xFBF86, so taking away the base address it would be:

    ADDRESS_PAGING=FFFFC000/00008000/ ;Paging 16k blocks, $8000 offset
    BOUNDARY_MASK=FFFFC000/ ;16k Pages
    NO_BASE_ADDRESS=000F0000/
    PRESERVE_RANGE=0000BF80/0000BF86/ ; Preserve MAC at 0xBF80 (0xFBF80)

    Now some questions, with this added into the algorithm, do I still select Erase Module from the programming function?

  • Hi Wern,

    Your preserve range settings look correct. You will still perform an Erase Module (EM). After the erase is completed, the preserved data will be reprogrammed before proceeding. This should work in both interactive and stand-alone modes.

    Best regards,
    Edison

  • QUOTE (Edison Tam @ Apr 18 2010, 01:17 PM) [legacy comment]
    Hi Wern,

    Your preserve range settings look correct. You will still perform an Erase Module (EM). After the erase is completed, the preserved data will be reprogrammed before proceeding. This should work in both interactive and stand-alone modes.

    Best regards,
    Edison


    I have a trouble ticket open with Juan. I sent him my .SAP file and he says it worked for him. I tried what he did and the following explains:

    Using the PROG12Z I simulated a mac address by programming the values:
    0x11,0x22,0x33,0x44,0x55,0x66 at 0xFBF80 and verified them. I saw them both in
    memory as well as used correctly by the software.

    Using the P&E Image manager, I loaded the MSSI_NE64.SAP onto the Cyclone Pro.

    The first time I press 'Start' I receive an error: $00000001

    I press 'Start' again and the image is programmed successfully.

    When I view the memory at 0xFBF80, I see 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF

    Thanks,

    Wern

  • Hello Wrs,

    You can actually use our serialization utility to create a file with a sequence of 6 byte MAC numbers. As a part of this file, you will also specify where on a chip, your MAC number should be programmed.

    Once the file with MAC number sequence is created, you have to specify .ser file to the FLASH programmer or Cyclone Image creation. The MAC number will automatically be updated to the next number in sequence after each device is programmed.

    Another option would be to use Cyclone Control SDK package. It consists of a .dll library with API which you can use in a development environment of your choice. This library includes calls which allow you to read/program dynamic data to the FLASH of your CPU. It also grants you more flexibility in terms of updating different images on your Cyclone Pro, as well as controlling individual steps of your FLASH programming procedure.

    You can find out more information about this produce on our website:

    http://www.pemicro.com/products/product_viewDetails.cfm?product_id=15320101&CFID=1463065&CFTOKEN=92257b86aa206cd3-6A0A2D4A-9C7" target="_blank">http://www.pemicro.com/products/product_vi...d3-6A0A2D4A-9C7

    Best Regards,
    Zahar
    P&E






  • QUOTE (Zahar Raskin @ Apr 23 2010, 11:07 AM) [legacy comment]
    Hello Wrs,

    You can actually use our serialization utility to create a file with a sequence of 6 byte MAC numbers. As a part of this file, you will also specify where on a chip, your MAC number should be programmed.

    Once the file with MAC number sequence is created, you have to specify .ser file to the FLASH programmer or Cyclone Image creation. The MAC number will automatically be updated to the next number in sequence after each device is programmed.

    Another option would be to use Cyclone Control SDK package. It consists of a .dll library with API which you can use in a development environment of your choice. This library includes calls which allow you to read/program dynamic data to the FLASH of your CPU. It also grants you more flexibility in terms of updating different images on your Cyclone Pro, as well as controlling individual steps of your FLASH programming procedure.

    You can find out more information about this produce on our website:

    http://www.pemicro.com/products/product_viewDetails.cfm?product_id=15320101&CFID=1463065&CFTOKEN=92257b86aa206cd3-6A0A2D4A-9C7" target="_blank">http://www.pemicro.com/products/product_vi...d3-6A0A2D4A-9C7

    Best Regards,
    Zahar
    P&E


    The serializer does not really help with MAC reuse. We do use the serialization utility in production. We are looking for a way to enable customers to do field updates and preserve the MAC address. Currently, our procedure makes use of the PROG12Z, and we direct the customer to preform an Upload:Upload Range to preserve the MAC, program the new image, and then write the MAC file from the first step. Not a terribly complicated procedure, but it requires the use of laptop. It sounds as if the .dll would also require the use of a laptop as well.

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