From: Austin, A. <Ale...@sp...> - 2012-11-28 18:42:06
|
The jtag_pcb program you found uses boundary scan to write the flash, rather than the ARM core itself. Most of the configuration you posted maps pin numbers to boundary scan bits. If I had to guess why the external flash isn't working, I'd say you need to look at the address the flash maps to. > -----Original Message----- > From: Juan Erbes [mailto:je...@gm...] > Sent: Tuesday, November 27, 2012 6:12 PM > To: ope...@li... > Subject: [OpenOCD-user] Help to configure and write a flash memory SST39VF1601 > > I'm trying to de-brick a Clarion stereo, which uses a a dual core MCU, > one is a DSP, and the other a ARM7TDMI core, builded by MCSLOGIC as > BX8805, and PHILIPS as MLC3895, and the board is builded by JVC. > The most similar boards I found, is the LPC2294 and the S3C44b0. > > With the internal flash, I have no problem to read it: > > > scan_chain > TapName Enabled IdCode Expected IrLen IrCap IrMask > -- ------------------- -------- ---------- ---------- ----- ----- ------ > 0 lpc2294.cpu Y 0x00000000 0xffffffff 4 0x01 0x0f > > flash info 0 > #0 : lpc2000 at 0x00000000, size 0x00040000, buswidth 0, chipwidth 0 > # 0: 0x00000000 (0x2000 8kB) protected > # 1: 0x00002000 (0x2000 8kB) protected > # 2: 0x00004000 (0x2000 8kB) protected > # 3: 0x00006000 (0x2000 8kB) protected > # 4: 0x00008000 (0x2000 8kB) protected > # 5: 0x0000a000 (0x2000 8kB) protected > # 6: 0x0000c000 (0x2000 8kB) protected > # 7: 0x0000e000 (0x2000 8kB) protected > # 8: 0x00010000 (0x10000 64kB) protected > # 9: 0x00020000 (0x10000 64kB) protected > # 10: 0x00030000 (0x2000 8kB) protected > # 11: 0x00032000 (0x2000 8kB) protected > # 12: 0x00034000 (0x2000 8kB) protected > # 13: 0x00036000 (0x2000 8kB) protected > # 14: 0x00038000 (0x2000 8kB) protected > # 15: 0x0003a000 (0x2000 8kB) protected > # 16: 0x0003c000 (0x2000 8kB) protected > # 17: 0x0003e000 (0x2000 8kB) protected > lpc2000 flash driver variant: 0, clk: 12000kHz > > > But with the external Flah, is no way to read or write it: > > > flash info 1 > Flash Manufacturer/Device: 0xffff 0xffff > Could not probe bank: no QRY > Try workaround w/0x555 instead of 0x55 to get QRY. > Could not probe bank: no QRY > auto_probe failed > in procedure 'flash' > > flash banks > #0 : lpc2294.flash0 (lpc2000) at 0x00000000, size 0x00040000, buswidth > 0, chipwidth 0 > #1 : lpc2294.flash1 (cfi) at 0x00400000, size 0x00200000, buswidth 2, > chipwidth 2 > > If I try tio write the internal flash, I got this error: > > > flash write_image /home/jerbes/Firmware-Clarion/CZ501MCU.BIN 0x00000000 > Verification will fail since checksum in image (0x20282024) to be > written to flash is different from calculated vector checksum > (0x3f482590). > To remove this warning modify build tools on developer PC to inject > correct LPC vector checksum. > ThumbEE -- incomplete support > target reentered debug state, but not at the desired exit point: 0xfffffff9 > lpc2000 prepare sectors returned 788133496 > error writing to flash at address 0x00000000 at offset 0x00000000 > in procedure 'flash' > > I do'nt know what is it > > About the flash memory SST39VF1601, i found in the codeforge a utility > which runs in windows and uses the paralell port for the interface (I > use a Bus Blaster interface) > http://www.codeforge.com/dlpre/195824/f341796c2ef7.rar__.html > > The commands are in a bat file named f.bat: > > allowio 0x378 FluteD a -f boot.bin -v -s 0 -w 1 > > and uses a configuration file named default.fcd: > > [Chain] > Device=s3c44b0x.bsd > > [Read] > BeginByte=0 > EndByte=0x10000 > > [Flash] ; SST39VF160 > WriteCmd=0x5555, 0xaa, 0x2aaa, 0x55, 0x5555, 0xa0 > EraseCmd=0x5555, 0xaa, 0x2aaa, 0x55, 0x5555, 0x80, 0x5555, 0xaa, > 0x2aaa, 0x55, 0x0, 0x30 > EraseDelay=25 > Block=0x800, 512 > AddrWidth=20 > DataWidth=2 > BigEndian=0 > A0=3 > A1=2 > A2=1 > A3=160 > A4=159 > A5=158 > A6=157 > A7=156 > A8=155 > A9=154 > A10=153 > A11=151 > A12=150 > A13=149 > A14=148 > A15=147 > A16=146 > A17=145 > A18=144 > A19=143 > D0=136 > D1=135 > D2=134 > D3=133 > D4=132 > D5=131 > D6=130 > D7=129 > D8=128 > D9=127 > D10=124 > D11=123 > D12=122 > D13=121 > D14=120 > D15=119 > WR=16 > RD=15 > CS=17 > ResetCtrl=0x00 > High= > Low= > SafeMode=1 > > The most of this text appear on the flash file s39.fcd: > > [Read] > BeginByte=0 > EndByte=0x10000 > > [Flash] ; SST39VF160 > WriteCmd=0x5555, 0xaa, 0x2aaa, 0x55, 0x5555, 0xa0 > EraseCmd=0x5555, 0xaa, 0x2aaa, 0x55, 0x5555, 0x80, 0x5555, 0xaa, > 0x2aaa, 0x55, 0x0, 0x30 > EraseDelay=25 > Block=0x800, 512 > AddrWidth=20 > DataWidth=2 > BigEndian=0 > A0=3 > A1=2 > A2=1 > A3=160 > A4=159 > A5=158 > A6=157 > A7=156 > A8=155 > A9=154 > A10=153 > A11=151 > A12=150 > A13=149 > A14=148 > A15=147 > A16=146 > A17=145 > A18=144 > A19=143 > D0=136 > D1=135 > D2=134 > D3=133 > D4=132 > D5=131 > D6=130 > D7=129 > D8=128 > D9=127 > D10=124 > D11=123 > D12=122 > D13=121 > D14=120 > D15=119 > WR=16 > RD=15 > CS=17 > ResetCtrl=0x00 > High= > Low= > SafeMode=1 > > How can i translate this flash configuration file to openocd? > > You can help me? > > Thanks, > Juan > -- > USA LINUX OPENSUSE QUE ES SOFTWARE LIBRE, NO NECESITAS PIRATEAR NADA Y > NI TE VAS A PREOCUPAR MAS POR LOS VIRUS Y SPYWARES: > http://www.opensuse.org/es/ > Puedes visitar mi blog en: > http://jerbes.blogspot.com.ar/ > > ------------------------------------------------------------------------------ > Keep yourself connected to Go Parallel: > INSIGHTS What's next for parallel hardware, programming and related areas? > Interviews and blogs by thought leaders keep you ahead of the curve. > http://goparallel.sourceforge.net > _______________________________________________ > OpenOCD-user mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/openocd-user |