Hello,
I have an ARM-USB-OCD-H JTAG device and I'm trying to use OpenOCD to read the flash from this old Linksys WPS54G V1 Wireless Print Server. The processor is a Marvel 88W8510. I tried getting a datasheet for it but could only get a two page summary. When I went to contact Marvel for a full datasheet, there was some text that said they couldn't give out any documentation until I had this thing called a non-disclosure agreement and to contact my local authorized seller to get one. I've contacted the one closest to me asking for one. Not really sure what they're for or why I need it to read a datasheet.
Anyway, the flash chip is a NOR Macronix MX29LV800TTC-70 1MB flash chip. I believe I've successfully created a board.cfg file and a target.cfg file but I'm not sure how to setup the flash stuff. I've read that I need the base address but cannot find this information in the datasheet for the flash. Here are my board.cfg and target.cfg files.
# linksys-wps54gv1.cfg file
# 88w8510 target .cfg file
I got the reset_config trst_only command from someone elses .cfg file. They had the same processor so I thought it was okay to borrow it. Any idea how I'm supposed to figure out the base address? I tried using the Marvel flash driver but I think maybe I should be using cfi because when I halt the 88w8510 and try auto-probing the flash, it fails horribly.
This is the error message I get:
Any suggestions? Thank you!
I have an ARM-USB-OCD-H JTAG device and I'm trying to use OpenOCD to read the flash from this old Linksys WPS54G V1 Wireless Print Server. The processor is a Marvel 88W8510. I tried getting a datasheet for it but could only get a two page summary. When I went to contact Marvel for a full datasheet, there was some text that said they couldn't give out any documentation until I had this thing called a non-disclosure agreement and to contact my local authorized seller to get one. I've contacted the one closest to me asking for one. Not really sure what they're for or why I need it to read a datasheet.
Anyway, the flash chip is a NOR Macronix MX29LV800TTC-70 1MB flash chip. I believe I've successfully created a board.cfg file and a target.cfg file but I'm not sure how to setup the flash stuff. I've read that I need the base address but cannot find this information in the datasheet for the flash. Here are my board.cfg and target.cfg files.
# linksys-wps54gv1.cfg file
Code:
# # Linksys WPS54G v1 # # Boards may override chip names, perhaps based on role, # but the default should match what the vendor uses if { [info exists CHIPNAME] } { set _CHIPNAME $CHIPNAME } else { set _CHIPNAME 88w8510 } # ONLY use ENDIAN with targets that can change it. if { [info exists ENDIAN] } { set _ENDIAN $ENDIAN } else { set _ENDIAN little } # TAP identifiers may change as chips mature, for example with # new revision fields (the "3" here). Pick a good default; you # can pass several such identifiers to the "jtag newtap" command. if { [info exists CPUTAPID ] } { set _CPUTAPID $CPUTAPID } else { set _CPUTAPID 0x159463d3 } source [find target/88w8510.cfg]
Code:
telnet_port 4444 gdb_port 3333 # interface 0 reset_config trst_only jtag newtap $_CHIPNAME cpu -irlen 4 -expected-id $_CPUTAPID set _TARGETNAME $_CHIPNAME.cpu target create $_TARGETNAME arm9tdmi -chain-position $_TARGETNAME flash bank MX29LV800 mrvlqspi 0x0 0 0 0 $_TARGETNAME 0x46010000
This is the error message I get:
Code:
#0 : MX29LV800 (mrvlqspi) at 0x00000000, size 0x00000000, buswidth 0, chipwidth 0 flash info bank_id Warn : memory read caused data abort (address: 0x46010004, size: 0x4, count: 0x1) Error: auto_probe failed {name mrvlqspi base 0 size 0 bus_width 0 chip_width 0}