Need help for Minimon + C167 + 29F400 (Read Ok/Write impossible)
Hello all!
I try to write in 29F400 but I need help with Minimon. I did a lot of tests for hours and hours. I read lots of informations on the net. Infineon C167CS User Manual is very useful but I need help.
I can read 29F400 with success OK! But impossible to Write or Erase... I had set driver A29F400b.hex
I think the problem come from the registers settings Buscon and Addrsel because maybe I don't understand all very well.
What should be the settings in the [Register] and [Memory] section in file Default.ini ? What should be 29f400 start address with my config?
Here is my config:
C167CS-LM (No internal Rom) 8mhz x 3 = 24mhz Connected in Boot-Mode with asc0 port (Usart, NOT K-line)
4MB Flash (AM29F400BB-55) Word Mode (16 Bit ; Pin "BYTE" to +5V) 16 Bit demultiplexed Bus OE to C167 Pin CS0 (P6.0) WE to C167 Pin CS1 (P6.1) CE to Ground
*Reset: BUSCON0=0680 *Reset: SYSCON=0400 *Reset Configuration: External Bus enabled *Reset Configuration: 16 Bit demultiplexed Bus *Reset Configuration: WR# and BHE# retain their normal function (P0H.0=0) *Reset Configuration: On chip watchdog timer is disabled (RD#=0) *Reset Configuration: Lengthened ALE signal
RP0H=00C7 (5 "chip select" activated) ...But I think only 3 CS signals are used, CS0,CS1, and CS3 connected on 74HCT574D Clock Input (Pin 11)
-------------- Address Pinout 29F400 / C167
A0 / A1 A1 / A2 A2 / A3 A3 / A4 A4 / A5 A5 / A6 A6 / A7 A7 / A8 A8 / A9 A9 / A10 A10 / A11 A11 / A12 A12 / A13 A13 / A14 A14 / A15 A15 / A16 A16 / A17 A17 / A18 --------------
-------------- Data Pinout 29F400 / C167
DQ0 / AD15 DQ1 / AD13 DQ2 / AD11 DQ3 / AD9 DQ4 / AD0 DQ5 / AD2 DQ6 / AD4 DQ7 / AD6 DQ8 / AD14 DQ9 / AD12 DQ10 / AD10 DQ11 / AD8 DQ12 / AD1 DQ13 / AD3 DQ14 / AD5 DQ15 / AD7 --------------
Thank you for your big help!
Chris
Hello,
I dont know if this thread is closed... but i know well this problem with automotive ECU (may be this is a Siemens unit?)
You have to rewrite (and recompile) the minimon driver in order to correct the memory patterns:
The problem is that the data lines are crossed (for routing simplification): when the C167 "wants" to write the "sequences" (see the amd datasheet)the memory doesen't see the right values.
for example, in some cases you must write "44h" on the proc side if you want the memory to see part of the unlock sequence "A0h".
But you surely already had the answer.
Regards.