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

C164 OTPprogrammind failed

Hello!
Could somebody help me (again)?
I programmed a C164 BC-Step with the MEMtool.
Something was programmed,but verifying shows a lot of differences (about 800).I looked at the programmed data:there are some parts wich are correct,but are programmed about 20hex behind the address it should...
Please answer me if somebody knows something about this!?
Thanks a lot hannes

Parents
  • Hello Hannes,
    I see from your e-mail that you found the BC step errata, so now you know that, due to a chip bug, you cannot verify that chip during programming.
    You can read the internal C164 ROM, for instance, by mean of a modified Mon166 that leaves the internal chip ROM enabled and relocates the ROM lowest part to 0x10000.
    (Into Mon166 CONFIG.INS, set _ROMEN = 1 and _ROMS1 = 1, then recompile your monitor)
    I can suggest you to generate a 'padded' hex file for OTP programming: go into Project Options, Output and set Flash Fill Byte to 0xFF. This will cause UV2 to produce a strictly sequential HEX file, filled with FF in the gaps between sections.
    Looking at the HEX file with any editor, you will be able to understand if your file is correct.
    We never had problems in programming chips with Memtool, nevertheless the worst thing with OTP programming is that, on first attempts, you will loose some chips, this is unavoidable.... You will learn by doing some mistakes...
    We have a slight advantage, since we have a couple of Flash C164 (C164-CH) chips that we use for prototyping, but this chip is an EES and Infineon cancelled its project (it has never been produced in quantities), so your destiny is to burn and loose some chips before you succeed, sorry!
    Maybe you can check your program with simulator before burning chips and try to understand where your errors are.
    About your last question, just look at the Keil distributors list for Italy ;-)
    http://www.keil.com/distis/co/it/82.htm
    Ciao
    Bruno

Reply
  • Hello Hannes,
    I see from your e-mail that you found the BC step errata, so now you know that, due to a chip bug, you cannot verify that chip during programming.
    You can read the internal C164 ROM, for instance, by mean of a modified Mon166 that leaves the internal chip ROM enabled and relocates the ROM lowest part to 0x10000.
    (Into Mon166 CONFIG.INS, set _ROMEN = 1 and _ROMS1 = 1, then recompile your monitor)
    I can suggest you to generate a 'padded' hex file for OTP programming: go into Project Options, Output and set Flash Fill Byte to 0xFF. This will cause UV2 to produce a strictly sequential HEX file, filled with FF in the gaps between sections.
    Looking at the HEX file with any editor, you will be able to understand if your file is correct.
    We never had problems in programming chips with Memtool, nevertheless the worst thing with OTP programming is that, on first attempts, you will loose some chips, this is unavoidable.... You will learn by doing some mistakes...
    We have a slight advantage, since we have a couple of Flash C164 (C164-CH) chips that we use for prototyping, but this chip is an EES and Infineon cancelled its project (it has never been produced in quantities), so your destiny is to burn and loose some chips before you succeed, sorry!
    Maybe you can check your program with simulator before burning chips and try to understand where your errors are.
    About your last question, just look at the Keil distributors list for Italy ;-)
    http://www.keil.com/distis/co/it/82.htm
    Ciao
    Bruno

Children
  • Thank You Mr.Coppi!
    I see you had a really long night yesterday (hope the move wasn't the reason?).
    I'll try what You wrote...-the program was tested in simulator and also in monitor-mode succesfully.So I wondered about all these differences.
    You wrote about the flash device- I have tried to buy one months ago.It's really hard to get one as private person (impossible).I just got a mail about the price of more than 100 euro per controller-also hard for hobby users I think.
    So thanks again,I hope I haven't to request you such often.
    hannes

  • Hello again!
    I'm used to work with the monitor-configation
    called 'Phytec KC-164CI' (the name of my board).Following your hints I set ROMS=1 and Romen=1 too in the startup file but I don't know if you did mean it-or have I to use 'Monitor 166 in ROM' option?(I've never used befor).
    I don't really understand how I could read the contents of OTP in monitor mode?
    Have a nice day
    greatings hannes

  • Hello again!
    I'm used to work with the monitor-configation
    called 'Phytec KC-164CI' (the name of my board).Following your hints I set ROMS=1 and Romen=1 too in the startup file but I don't know if you did mean it-or have I to use 'Monitor 166 in ROM' option?(I've never used befor).
    I don't really understand how I could read the contents of OTP in monitor mode?
    Have a nice day
    best greetings hannes

  • Hello Hannes,
    you have to recompile your Mon166 with the modifications I suggested and reprogram it into the flash of your EVA board.
    Then, in the 164 memory space you will see the internal rom, which is not disabled at startup; using the uV2 debugger and simply displaying a memory area (from 0x10000) you will see the internal ROM listed.
    Look at the 164 user's manual to understand what the ROMEN=1 and ROMS1=1 settings do.
    If you want to do some experiment, you can even use the Infineon Minimon to read and list the 164 internal ROM.
    Ciao
    Bruno