I'm very new to JTAG, urJTAG, and ISP for these types of chips.
I've been given the following:
Have been asked: if I can convert this to run the linux bootloader (redboot) and OS.
To do this I made the initial assumption that I have to get redboot flashed to the Lattice LC4128C. So I took a look at urJTAG which seems to detect the chips fine, I'm just a total noob when it comes to what I should be seeing, and where I'm going wrong.
I've gone as far as to attempt the following, but haven't got any positive outcome thus far, and feel like I'm missing something that I can't seem to track down. I see reference to SVF, JEDEC files, and potentially the need to know the address offset for something like this, but can't quite put it all together, and these boards are no longer supported, the Arcom company has basically been bought out and offers no assistance.
Current Attempt:
jtag> cable JTAGv5
Connected to libftdi driver.
JTAGv5: JTAG Mode Initialization OK!
jtag> detect
IR length: 13
Chain length: 2
Device Id: 00000001100000010000000001000011 (0x01810043)
Manufacturer: Lattice Semiconductors (0x043)
Part(0): LC4128C-TQFP100 (0x1810)
Stepping: 0
Filename: /usr/local/share/urjtag/lattice/lc4128c-tqfp100/lc4128c-tqfp100
Device Id: 01101001001001100100000000010011 (0x69264013)
Manufacturer: Intel (0x013)
Part(1): PXA250 (0x9264)
Stepping: PXA255A0
Filename: /usr/local/share/urjtag/intel/pxa250/pxa250c0
jtag> print chain
No. Manufacturer Part Stepping Instruction Register
-------------------------------------------------------------------------------------------------------------------
0 Lattice Semiconductors LC4128C-TQFP100 0 BYPASS BR
* 1 Intel PXA250 PXA255A0 BYPASS BR
jtag> part 0
jtag> print chain
No. Manufacturer Part Stepping Instruction Register
-------------------------------------------------------------------------------------------------------------------
* 0 Lattice Semiconductors LC4128C-TQFP100 0 BYPASS BR
1 Intel PXA250 PXA255A0 BYPASS BR
jtag> detectflash 0
dev ID=225b man ID=0001
Found AMD AM29LV800BB flash, size = 1048576 bytes.
Query identification string:
Primary Algorithm Command Set and Control Interface ID Code: 0x0002 (AMD/Fujitsu Standard Command Set)
Alternate Algorithm Command Set and Control Interface ID Code: 0x0000 (null)
Query system interface information:
Vcc Logic Supply Minimum Write/Erase or Write voltage: 0 mV
Vcc Logic Supply Maximum Write/Erase or Write voltage: 0 mV
Vpp [Programming] Supply Minimum Write/Erase voltage: 0 mV
Vpp [Programming] Supply Maximum Write/Erase voltage: 0 mV
Typical timeout per single byte/word program: 0 us
Typical timeout for maximum-size multi-byte program: 0 us
Typical timeout per individual block erase: 0 ms
Typical timeout for full chip erase: 0 ms
Maximum timeout for byte/word program: 0 us
Maximum timeout for multi-byte program: 0 us
Maximum timeout per individual block erase: 0 ms
Maximum timeout for chip erase: 0 ms
Device geometry definition:
Device Size: 1048576 B (1024 KiB, 1 MiB)
Flash Device Interface Code description: 0x0002 (x8/x16)
Maximum number of bytes in multi-byte program: 0
Number of Erase Block Regions within device: 4
Erase Block Region Information:
Region 0:
Erase Block Size: 16384 B (16 KiB)
Number of Erase Blocks: 1
Region 1:
Erase Block Size: 8192 B (8 KiB)
Number of Erase Blocks: 2
Region 2:
Erase Block Size: 32768 B (32 KiB)
Number of Erase Blocks: 1
Region 3:
Erase Block Size: 65536 B (64 KiB)
Number of Erase Blocks: 15
jtag> flashmem
Usage: flashmem ADDR FILENAME [noverify]
Usage: flashmem msbin FILENAME [noverify]
Program FILENAME content to flash memory.
ADDR target address for raw binary image
FILENAME name of the input file
msbin FILENAME is in MS .bin format (for WinCE)
noverify if specified, verification is skipped
ADDR could be in decimal or hexadecimal (prefixed with 0x) form.
Supported Flash Memories:
AMD/Fujitsu Standard Command Set supported: AMD 29LV640D, 29LV641D, 29LV642D; 2x16 Bit
AMD/Fujitsu Standard Command Set supported: AMD 29LV800B, S29GLxxxN; MX29LV640B, W19B320AT/B; 1x16 Bit
AMD/Fujitsu Standard Command Set supported: AMD 29LV160, AMD 29LV065D, AMD 29LV040B, S29GLxxxN, W19B320AT/B; 1x8 Bit
Intel Standard Command Set supported: 28Fxxxx, 2 x 16 bit
Intel Standard Command Set supported: 28Fxxxx, 1 x 16 bit
Intel Standard Command Set supported: 28Fxxxx, 1 x 8 bit
AMD Standard Command Set supported: AMD 29LV040B, 29C040B, 1x8 Bit
error: syntax: flashmem: #parameters should be >= 3, not 1
jtag> flashmem 0 /home/garys/tmp/TCAT/redboot-titan-v1i2-rom.bin
Chip: AMD Flash
Manufacturer: AMD
Chip: Am29LV800B
Protected: 0000
program:
flash_unlock_block 0x00000000 IGNORE
block 0 unlocked
flash_erase_block 0x00000000
flash_erase_block 0x00000000 DONE
erasing block 0: 0
flash_unlock_block 0x00004000 IGNORE
block 1 unlocked
flash_erase_block 0x00004000
flash_erase_block 0x00004000 DONE
erasing block 1: 0
flash_unlock_block 0x00006000 IGNORE
block 2 unlocked
flash_erase_block 0x00006000
flash_erase_block 0x00006000 DONE
erasing block 2: 0
flash_unlock_block 0x00008000 IGNORE
block 3 unlocked
flash_erase_block 0x00008000
flash_erase_block 0x00008000 DONE
erasing block 3: 0
flash_unlock_block 0x00010000 IGNORE
block 4 unlocked
flash_erase_block 0x00010000
flash_erase_block 0x00010000 DONE
erasing block 4: 0
flash_unlock_block 0x00020000 IGNORE
block 5 unlocked
flash_erase_block 0x00020000
flash_erase_block 0x00020000 DONE
erasing block 5: 0
flash_unlock_block 0x00030000 IGNORE
block 6 unlocked
flash_erase_block 0x00030000
flash_erase_block 0x00030000 DONE
erasing block 6: 0
addr: 0x000338E6
verify:
addr: 0x000338E6
Done.
User contributions licensed under CC BY-SA 3.0