Cart New Account Login

HomeAbout usProductsSupportForumsBlogCustomer Service

search inside this forum
PROGCFV1 Programmer - Invalid address in srecord block
carl h. Aug 14, 2014 at 12:29 PM (12:29 hours)
Staff: Takao Y.

  • I am trying to program a MCF51JM128 using PROGCGV1. The s19 generated by CodeWarrior 6.3 programs fine when I use the IDE itself but when I use the flash programmer, it gives me Invalid address in srecord block from 800778 to  800793. I tried searching and used log2phy utility and it still gave me the same warning(f4000 to f400f)

    I am relatively new to flash programming so I apologize in advance if this is a noob question. Thank you




    Comments

  • Greetings,

    Address $800000-$803FFF is located in RAM. The flash programming software PROGCFV1 only programs the flash and it will give you problems if you try to program locations in RAM. You should only be programming from $0000-$1FFFF.


    Takao Yamada

    • Do you have any advice on how I should go about fixing this?

  • Greetings,

    By the way, LOG2PHY is only for HCS12(X) chips.

    What you should try is creating a brand new project for CFV1JM128 and compile the default code. Grab the S19 file generated by CW6.3 for this default project and try to program it in PROGCFV1. You should not see any issues.

    Did you edit your LCF file within your project? Go to project settings -> Link files -> project.lcf. Compare your LCF file with the default project you created and see what the differences are.


    Takao Yamada

  • I did what you recommend and tracked down the issue, in the .custom section, I declared a section of the memory for my USB buffer description table in the .custom section:

    ___HEAP_START = .;
    ___heap_addr = ___HEAP_START;
    ___HEAP_END = ___HEAP_START + ___heap_size;
    ___SP_END = ___HEAP_END;
    ___SP_INIT = ___SP_END + ___stack_size;
    . = ___SP_INIT;
    /* Buffer descriptor base address
    shall be aligned to 512 byte boundary.
    Size shall be 512 bytes. */
    .            = ALIGN(512);
    __BDT_BASE      = .;
    . = . + 512;
    __BDT_END = .;


    I suppose the 512 bytes is overstepping?

    I will continue searching for answer but do you have any recommended solution? Thank you!

  • Greetings,

    This issue was resolved by using the ABS file instead of the S19 file that was generated. Issue seems to be dependent on the compiler, not on the hardware for flash programming.


    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