This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Flash programming error: Content mismatch at 0xC00000 (Flash=00H Required=FAH)

Hello,

I installed the uVision2 application and I bought an evaluation board for XC16x.
I configured normally the ide and I used "On-Chip Flash:XC16x Board". The communication between computer and board is LPT1 based.
The build tag results are:

Here all it is ok...
----------------
Build target 'On-Chip Flash: XC16x Board'
compiling Blinky.c...
assembling START_V2.A66...
linking...
creating hex file from "Blinky"...
"Blinky" - 0 Error(s), 0 Warning(s).
--------------------

From here, with Load button:
---------------------
Load "C:\\Keil\\C166\\EXAMPLES\\Boards\\Infineon XC16Board\\Blinky"
Erase Sector with Address 0xC00000
Erase Done
Program Sector with Address 0xC00000
Program Done
Verify Flash content
Content mismatch at: C00000H (Flash=00H Required=FAH)
----------------------

What is wrong ?

And another thing: When I try to Erase flash, with menu command (Flash->Erase), an error occurs: "Error: Flash Erase failed - Command not supported".

What could be wrong ?
Thank you for help.

Radu Cosoveanu.
Email: radu@elinktelecom.ro

  • Hi,

    did you select additional to your debugger settings under "utilities" the
    "OCDS Driver for XC16x" ?

    If so, check with the Settings button, whether your target has an entry.
    Otherwise selected "Add" and choose
    "XC16x-16F On chip FLASH" again.
    Set the additional settings according your needs.
    ( In the example as delivered with KEIL,
    this entry was not made in my uVision2)
    The entries for the FLASH loader must be done separate from these for the debugger.

    BTW: It could be usefull, depending from
    the board you use exactly to change the
    target settings.
    E.g. deleting the RAM entry and check
    instead "use On-Chip XRAM 0xC000-0xCFFF"

    If these settings are right too,
    than there is problem with the board, I think. Erase and Program work as
    aspected.

  • Hi,

    I selected device Infineon XC161CJ. The target for this device is:
    On Chip Flash: XC16x Board with these sett:
    Target TAG:
    - Clock 8 MHz
    - Use On-Chip ROM (128 KB) - checked
    - Use On-Chip XRAM(0xC000-0xC7FF) - UNchecked
    - memory model: Small:'near' functions and data
    - Operating System: none
    - Data: near 6
    - External memory: #1 RAM 0x0 - 0x10000
    L166 Locate TAG:
    - Use Memory Layout from target dialog - checked
    Utilities TAG:
    - Use Target Driver for Flash programming - selected with OCDS Driver for XC16x.
    Settings for target driver
    - Erase - checked
    - Program - checked
    - Verify - checked
    - Reset and Run - UNchecked
    - Programming algorithm:
    Description: XC16x on-chip flash
    Bus Typ: On Chip Flash
    Chip select: -
    Address Range: 0xC00000-0xC1FFFF
    Start: 0xC00000
    Size : 0x020000


    Now...

    > did you select additional to your
    > debugger settings under "utilities"
    > the "OCDS Driver for XC16x" ?


    Yes, I did it.


    >If so, check with the Settings button,
    > whether your target has an entry.
    > Otherwise selected "Add" and choose
    > "XC16x-16F On chip FLASH" again.


    Yes, I did it. One remark: In Add window, I have only one record, that cannot be modified. This Record is XC16x on-chip Flash and NOT XC16x-16F On chip Flash. Could be this thing the problem ?


    > Set the additional settings according
    > your needs.


    I did it. I just need to execute this program. Blinky.


    BTW: It could be usefull, depending from
    the board you use exactly to change the
    target settings.
    E.g. deleting the RAM entry and check
    instead "use On-Chip XRAM 0xC000-0xCFFF"


    I did it... too... I take all combinations possible, and I proved them one week.


    If these settings are right too,
    than there is problem with the board, I think. Erase and Program work as
    aspected.


    The problem is: the uVision2 say that it erase and program the chip, but when the verify time arrives, it fail.
    Could be another problems ?


    Thank you,
    Radu.


    PS: The board is XC16Board, Rev. 200 with XC161CJ processor.

  • Hi Radu,

    I checked again with exact your given settings.
    It works perfectly.
    I use also same board revision.

    We should check your DIP and jumpersettings,
    but I think that we will not find the evil here, because normally the debug.dll will cancel in such a case.

    From your remark - Which version of µVision
    do you use ?
    I've tested with V4.27S V5.01 and V5.03
    all with same result.
    ( If interested in - I did some screenshots).

    Can you test MEMTOOL for programming ?
    ( Only to exclude the chip itself as source of the verify error. )

    Stefan

  • Hi again Stefan,

    My version of uVision is: uVision2 V2.33
    The Simulation DLL: S166.DLL V2.34
    Dialog DLL: D167.DLL V2.31f
    Targt DLL: OCDS\OCDSXC.DLL ( no version showed).
    C Compiler, Assembler : V4.24, Linker: V4.25c, Librarian: V4.24, Hex converter V4.7

    This is the evaluation version of Keil. The purchased Keil version will arrive to me in september.
    I did exactly the settings written in the abstract.txt (the dip settings)

    I just proved Memtool, flashjet, flashkhit... all links for flash programming tools from keil.com site. I have only one problem: this XC16Board is LPT1 version. And memtools, and the rest doesn't work with LPT port. Only serial port....

    Could you send me some screenshots and.. OCDSXC.DLL file ?

    Thank you,
    Radu.

  • Hi Radu,

    think that is ok. But with earlier version there are some problems with OCDS.

    First I would recommend you to download the latest eval version from KEIL - (V503).
    May be this solves your problems.

    MEMTOOL - yes , it works with ASC0, but in bootstrapmode. The ASC0 will be available for your application.
    The idea was only to check the poore flash programming, to check, whether the chip may have a problem.

    If your problem is not solved with latest eval version - leave a message.
    Stefan