Nor/Nand flash programmer based FT2232 for S3C2410,S3C2440

With openocd, it seems to be inefficient to program Nor/Nand flash for S3C2410 and S3C2440.

I have wrote a programmer for that. But it does not use the DCC, so the speed is just 6 times to wiggler.

I called this programmer sjf24x0_ft2232, because it is based sjf2410 from samsung.

It’s features compared to sjf2410 are:

  1. support both s3c2410 and s3c2440.

  2. support CFI/JEDEC Nor flash, as sjf2410 supports only AM29LV800.

  3. support many Nand flash(512 bytes/page), as sjf2410 supports only K9F1208.

  4. 6 time faster than sjf2410.

The test result is below:

  1. for Nor flash: the programmer speed is 1KB/S

  2. for Nand flash: the programmer speed is 1.9KB/S

For a 200KB file, by wiggler and sjf2410, the time of programming is: 20 minutes for Nor, 10 minutes for Nand.

By FT2232 and sjf24x0_ft2232, the time is: 3 minutes for Nor, less than 2 minutes for Nand.

If somebody can give me some tutorial of DCC, I think I can update it for faster speed.

Sjf24x0_ft2232 can be download from: http://www.100ask.net/bbs/attachment.as … mentid=301

http://www.ouravr.com/bbs/bbs_upload724 … 613987.rar

The picture of Sjf24x0_ft2232 is: http://www.100ask.net/bbs/attachment.as … mentid=300

http://www.ouravr.com/bbs/bbs_upload724 … 606186.JPG

If you have an FT2232 based USB to JTAG tool ,you should change the product description to “USB<=>JTAG&RS232” by Mprog(It is a tool to change the EEPROM of FT2232).

Sjf24x0_ft2232 is still developing, any advisement is welcom.

My MSN/Email is : thisway.diy@163.com

And what about OpenOCD DCC enabled ! OpenOCD + JTAGkey get a much faster programming time as YOUR 3 minutes for NOR ! Make more tests using OpenOCD …

Laurent

http://www.amontec.com

My mean is for “S3C2410 and S3C2440”.

In fact, for debugging, I prefer openocd.

When I am programming flash, I want to use openocd at first.

But it is too slow, or I do not want to spend time to write another programmer.

I do check that by openocd:

  1. I use the r717 oepnocd, and it has not support the JEDEC Nor flash.

So I can’t do the test.

  1. For Nand, the log is below(I have run ‘fast enable’ or ‘arm7_9 dcc_downloads enable’ at begin):

Open On-Chip Debugger

halt

target state: halted

target halted in ARM state due to debug request, current mode: Supervisor

cpsr: 0x200000d3 pc: 0x00000034

MMU: disabled, D-Cache: disabled, I-Cache: disabled

fast enable (or arm7_9 dcc_downloads enable, I have check both of them)

nand probe 0

NAND flash device ‘NAND 64MiB 3,3V 8-bit’ found

nand erase 0 0 13

s3c2440_read_block_data: reading data: 00559120, 00557850, 6

s3c2440_read_block_data: reading data: 00559120, 00557850, 6

s3c2440_read_block_data: reading data: 00559120, 00557850, 6

s3c2440_read_block_data: reading data: 00559120, 00557850, 6

s3c2440_read_block_data: reading data: 00559120, 00557850, 6

s3c2440_read_block_data: reading data: 00559120, 00557850, 6

s3c2440_read_block_data: reading data: 00559120, 00557850, 6

s3c2440_read_block_data: reading data: 00559120, 00557850, 6

s3c2440_read_block_data: reading data: 00559120, 00557850, 6

s3c2440_read_block_data: reading data: 00559120, 00557850, 6

s3c2440_read_block_data: reading data: 00559120, 00557850, 6

s3c2440_read_block_data: reading data: 00559120, 00557850, 6

s3c2440_read_block_data: reading data: 00559120, 00557850, 6

successfully erased blocks 0 to 13 on NAND flash device ‘NAND 64MiB 3,3V 8-bit’

nand write 0 u-boot/u-boot.bin 0

wrote file u-boot/u-boot.bin to NAND flash 0 at offset 0x0002fa00 in 853.500000s

using the svn tip, I couldn’t even manage to use the nand device command on openocd/s32440.

I can load stuff into RAM tho, slowly.

I’m certainly going to have a look at your program tho, being able to program flash without having to launch a daemon and a telnrt session is great ! I wish I had a tool like that with openocd :smiley:

Befor I can use sjf24x0_ft2232, to program Nor/Nand of s3c24x0,

I do that:

  1. dowload an init program to the on-chip ram and run, to initialize the SDRAM

  2. download a u-boot to SDRAM an run

  3. halt the CPU, use the load_image command to download

  4. resume the u-boot, and use the commands of u-boot to program flash

Yes I did just that before. there is also a ‘vivi’ bootloader around that is quite primitive, but has a USB slave upload mode. I used that to debug u-boot.

Both vivi and u-boot have x/y modem too, but thats horribly clunky to use.

hi,

i am trying to erase the nand flash of s3c2410 and write a new image ther but

when i try to do that i get this error :

halt

target state: halted

target halted in ARM state due to debug-request, current mode: Supervisor

cpsr: 0x000000d3 pc: 0x33f801c4

MMU: disabled, D-Cache: disabled, I-Cache: disabled

nand probe 0

unknown NAND flash device found, manufacturer id: 0x00 device id: 0x00

probing failed for NAND flash device

nand erase 0 0 13

unknown error when erasing NAND flash device

nand write 0 2410.bin 0

Connection closed by foreign host.

i hav done a lot of googling and yet havent got the solution …

any help wud be very useful …

P.S: “thisway” – you seem to be the using the exact config as i am … it wud be very nice if u cud help me out.

Thanks in advance