下载源代码:(这是个.tar.gz文件,但这个地方似乎不能上传这个后缀名的文件.
下载之后用命令tar xzvf jtag_please_extract_with_gzip.wma解压)
http://linuxipy.bokee.com/inc/jtag_please_extract_with_gzip.wma
描述:
基于openwince中的jtag子项目(http://openwince.sourceforge.net/jtag/)
加入对新的JTAG器件和JTAG cable的支持。在原有的基础上,加入了对s3c44b0x的
支持,加入了对所谓的cfly.org JTAG cable的支持。(为何www.cfly.org打不开?)
openwince中的jtag项目有很多好的特性:
1. 九分好的程序结构加上合理的目录结构:方便扩展JTAG cable和JTAG-aware device。
之所以不说十分好,是我发现其Flash探测部分还不够好,程序使用一个统一的函数探测flash,
而最好的方式应该像linux的pci或usb子系统那样,把probe()做为驱动的一部分。
2. 支持脚本。
3. 支持对Flash的烧写。
4. 提供了一个bsdl文件的解析器,只要IC厂商提供bsdl文件,就能自动生成对应的配置文件。
使用方法:
看INSTALL和README。下面有个在我的44b0x上使用时的屏幕输出.(/**/之间为注释)
编译采用基本步骤:解压, make,
可执行文件生成在/src目录中,运行时必须在此目录中运行,否则找不到/data目录。
jtag> script jtaginit.rc /* jtaginit.rc是一个初始化的脚本 */
Initializing Cfly JTAG Cable on parallel port at 0x378
IR length: 4
Chain length: 1
Device Id: 00011111000011110000111100001111
Manufacturer: Samsung
Part: S3C44B0X
Stepping: V1
Filename: ../data/samsung/s3c44b0x/s3c44b0x
11011000011110110110111111111111111111101101101101101101101101101101101111101101 10110110110110110110110110110110110110110110101010101010101101010101010101000000 00000010001010101100111000010000110101011010101001010101011101011111111110100101 11111110111110111
No. Manufacturer Part Stepping Instruction Register
-------------------------------------------------------------------------------- -------------
0 Samsung S3C44B0X V1 SAMPLE/PRELOAD BSR
*0: Samsung S3C44B0X compatible bus driver via BSR (JTAG part No. 0)
jtag> script erasechip.rc /* 擦除整个Flash, Flash芯片为SST39VF1601 */
jtag> peek 0x00 /* 读地址0x0处的值, 可见擦除后为0 */
bus_read(0x00000000) = 0x0000FFFF (65535)
jtag> peek 0x02 /* s3c44b0x的A1接到Flash的A0, 所以第2个单元的地址为0x2 */
bus_read(0x00000002) = 0x0000FFFF (65535)
jtag> script wordprogram.rc /* 执行word program命令 */
jtag> poke 0x00 0x1245 /* 在0x0处写0x1245 */
jtag> script wordprogram.rc /* 单字写入时,每次写入之前都必须执行word program命令 */
jtag> poke 0x02 0xac3e /* 在0x2处写0xac3e */
jtag> peek 0x00
bus_read(0x00000000) = 0x00001245 (4677) /* 看看是否写入了正确的值。BINGO! */
jtag> peek 0x02
bus_read(0x00000002) = 0x0000AC3E (44094)
jtag>
继续开发:
可惜这个sourceforge上的项目很久没有进展了,程序也基本没什么文档。
doc/source_comment.txt是我写的一点点。
//////////////////////////////////////////////////////////////////////////////////////////////////
//-- Nov 30, 2005更新, 增加对SST39VF1601 Flash的支持,可将bin文件写入flash
jtag> detectflash 0x0
jedec_detect: mid bf, did 234b
Query identification string:
Primary Algorithm Command Set and Control Interface ID Code: 0x00BF (SST 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: 2097152 B (2048 KiB, 2 MiB)
Flash Device Interface Code description: 0x0001 (x16)
Maximum number of bytes in multi-byte program: 0
Number of Erase Block Regions within device: 1
Erase Block Region Information:
Region 0:
Erase Block Size: 4096 B (4 KiB)
Number of Erase Blocks: 512
jtag> flashmem 0x0 hello.bin /*将hello.bin写入Flash地址0x0开始的空间*/
sst_flash_autodetect8...bus_width: 2..
sst_flash_autodetect16...bus_width: 2..
Chip: SST Flash
Manufacturer: SST
Chip: SST39VF1601
Protected: 0000
program:
flash_unlock_block 0x00000000 IGNORE
block 0 unlocked
sst_flash_erase_block 0x00000000
.flash_erase_block 0x00000000 DONE
erasing block 0: 0
flash_unlock_block 0x00001000 IGNORE
block 1 unlocked
sst_flash_erase_block 0x00001000
.flash_erase_block 0x00001000 DONE
erasing block 1: 0
flash_unlock_block 0x00002000 IGNORE
block 2 unlocked
sst_flash_erase_block 0x00002000
.flash_erase_block 0x00002000 DONE
erasing block 2: 0
flash_unlock_block 0x00003000 IGNORE
block 3 unlocked
sst_flash_erase_block 0x00003000
.flash_erase_block 0x00003000 DONE
erasing block 3: 0
flash_unlock_block 0x00004000 IGNORE
block 4 unlocked
sst_flash_erase_block 0x00004000
.flash_erase_block 0x00004000 DONE
erasing block 4: 0
flash_unlock_block 0x00005000 IGNORE
block 5 unlocked
sst_flash_erase_block 0x00005000
flash_erase_block 0x00005000 DONE
erasing block 5: 0
flash_unlock_block 0x00006000 IGNORE
block 6 unlocked
sst_flash_erase_block 0x00006000
.flash_erase_block 0x00006000 DONE
erasing block 6: 0
addr: 0x00006348 (done)
verify:
addr: 0x00006346
Done.
分享到:
相关推荐
S3c44b0x原理图,包括PCB图、JTAG,是一个完整的开发板。
CPU:S3C44B0X FLASH:HY29LV160BT 2M SDRAM:HY57V641620 8M 2 COM USB1.1 PDIUSBD12 NET RTL8019AS JTAG 14PIN LCD 接口 4 KEY 3 LED 峰鸣器 时钟电池
44b0X开发板 CPU:S3C44B0X FLASH:HY29LV160BT 2M SDRAM:HY57V641620 8M 2 COM USB1.1 PDIUSBD12 NET RTL8019AS JTAG 14PIN LCD 接口 4 KEY
ARM.JTAG实时仿真器.安装使用指南 ARM.JTAG实时仿真器.安装使用指南 ARM.JTAG实时仿真器.安装使用指南
本文介绍ARM 的调试全过程。主要以S3C44B0X 为例,进行描述,涉及硬件电路的调 试和软件的调试技巧。使用经济的简易JTAG 和JTAG 代理和ARM 公司的SDT2.51 来调试
4. 更新了S3C6410的NAND FLASH驱动程序,并提供了针对6410的初始化脚本; 5. 更新了PXA3XX的NAND FLASH烧写驱动,同时支持PXA30X, PXA31X和PXA32X系列的烧写; 6. 添加了对ESI FLASH的烧写支持; 7. 修改了一些...
第一章 QT44B0X-I 开发套件的组成1.开发套件所提供的硬件详细清单2. 开发套件所提供的软件详细清单 3.板上接口和资源清单4.板上硬件资源分配列表1) 系统片选及地址空间 2) 中断分配11 3) 系统板设定: 4) 板上...
jtag cable的制作图纸,值得喜欢diy的人看一下。
H-JTAG+V0.9.2.rar H-JTAG+V0.9.2.rar H-JTAG+V0.9.2.rar
JTAG电路工作原理.pdf
atmel原装JTAG ICE原理图.pdf,可以根据atmel原装JTAG ICE原理图设计自己的JTAG ICE.
三星公司的S3C2416芯片的bsdl文件
通过jtag为CPLD做软件升级
JTAG协议规范1149.1和1149.7,cjtag,可参考内容。 IEEE 1149.7 is a standard for a test access port and associated architecture that offers reduced pins and enhanced functionality
嵌入式系统中的JTAG接口编程技术.rar 关于JTAG接口方面的开发
嵌入式系统中的JTAG接口编程技术.pdf
H-JTAG V2.1 RELEASE.EXE 软件
今天烧了个固件,运行正常,再次烧写其他固件的时候,出现了这个问题 No Cortex-M Device found in JTAG chain. Please check the JTAG cable and the connected devices.
基于ZYNQ045芯片的XVC功能的实现,实现了TCP-JTAG的功能。文档主要分为VIVADO工程的搭建、uboot移植、XVC驱动程序移植、XVC应用程序移植和测试验证等部分组成。在zynq045的板卡上通过网络-JTAG成功连接板载的XC7V690...
JTAG 开发源程序,超经典。 希望对大家学习有帮助