Hi
Yesterday I had a very brief chance to work with Samsung S3C2410A chip
and OpenOCD using a FT2232 based JTAG. There seems to be a serious
problem with some part of the S3C24xx code as in the beginning I was
totally unable to do any NAND Flash related stuff - doing "nand probe 0"
I always returned "unknown NAND flash device found, manufacturer id:
0x00 device id: 0x00" (sometimes 0xff instead of 0x00, but that was
pretty rare). After some low-level investigation (I've tried to manually
probe the NAND Flash using direct memory access to control registers in
the chip) I've found out that the 8- and 16-bit wide reads always fail...
The address of the NFDATA register in S3C2410A is 0x4E00000C
"mdb 0x4E00000C 1" always returns 0
"mdh 0x4E00000C 1" always returns 0
"mdw 0x4E00000C 1" returns correct value
The same is true for any peripheral register of the Flash memory
controller in this chip (unfortunately I had no time to do more tests in
different areas). This is the reason for "nand probe 0" failure (it uses
target_read_u8()). I've done a quick&dirty workaround by replacing all
uint8_t and uint16_t reads and writes with uint32_t read and writes in
src/flash/nand/s3c2410.c and src/flash/nand/s3c24xx.c (I can send a
patch, but that's nothing special and I don't think of it as a good
solution...). This way NAND Flash access was possible.
Unfortunately I don't have the chip now (the contact was very brief) so
I couldn't look for a better solution. I can try to borrow a Mini2440
board, which will probably have a similar problem to try something else
if anyone has an idea and there is noone to test it.
This was problem nr.1
There were two more:
2. I couldn't reset this chip to a halted state ("timed-out waiting
for...") - separate resets were connected, but I do not know the details
of the hardware, so this can be unrelated to OpenOCD.
3. "nand dump..." was extremely slow (jtag khz 6000, chip running at
unknown clock, but probably pretty high) - download speed was ~0.1kB/s,
dumping 64kB took about 10min. at the same time (same setup, same
hardware etc) dumping an image from standard memory was very fast (at
least 100x faster).
This is a very brief and incomplete report, but you have to excuse me -
the contact with S3C2410A was really short... This way you know that
something with S3C2410A is seriously broken...
4\/3!!
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development