使用easyopenjtag或者openjtag烧写代码
参考视频 | 《第0课第1节_刚接触开发板之接口接线工具》 《第0课第2节_刚接触开发板之烧写裸板程序》 |
---|---|
此文档使用环境 | Win7 32位 Win7 64位 |
2.1 easyopenjtag(下面简称eop)和openjtag(简称op)介绍
下面用一个表格详细说明两者的区别。
单位 | 百问网专利开发 | 百问网专利开发 |
---|---|---|
适用性 | 2410,2440,6410等 | 2410,2440,6410等 |
烧写范围 | 可以烧录到nor flash,nand flash | 可以烧录到nor flash,nand flash |
电压范围 | 3.3~5V | 1.2~5V |
串口电平 | TTL电平 | RS232电平 |
接口 | 3个JTAG接口, 1个4脚插口 (引出5V/GND/TXD/RXD四脚) | 2个JTAG接口, 1个DB9串口 |
驱动程序 | 相同 | 相同 |
程序烧写 | 相同 | 相同 |
程序调试 | 通过jtag协议,调试裸机,uboot,linux内核 | 通过jtag协议,调试裸机,uboot,linux内核 |
最大优点 | 直接将代码烧写到nand flash中, 调试裸机,uboot,linux内核 | 直接将代码烧写到nand flash中, 还带USB转串口功能, 调试裸机,uboot,linux内核 |
op或者eop支持将代码烧写到Nor flash或nand flash,而市面上的jlink只能将代码烧写到nor flash中。
2.2 推荐的下载烧写方式总结
程序下载烧写可以分为2步:下载,烧写。
下载和烧写是不同的概念
下载 | 通过USB方式(如 dnw)、网络下载(如tftp),将代码下到sdram |
---|---|
烧写 | 通过nand flash驱动的nand flash写入功能,将sdram中的代码写入nand flash中 |
强烈建议:
1.使用op/eop将光盘binuboot.bin烧写到nor flash中
2.使用op/eop直接将裸机代码烧写到nand flash中
而nand flash的uboot,Linux内核,根文件系统的存放位置为:
分区 | 内容 | Nand flash地址分配 |
---|---|---|
bootloader分区 | Uboot分区 | 0-----------------------256k |
环境变量分区 | 环境变量 | 256k------------------256k 128k |
kernel 分区 | Linux内核 | 256k 128k----------256k 128k 2M |
Rootfs分区 | 根文件系统 | 256k 128k 2M----256M |
存放位置可以在uboot命令行中输入print得知:
查看环境变量mtdparts:
mtdparts=mtdparts=nandflash0:256k@0(bootloader),128k(params),2m(kernel),-(root)
2.3、连接PC、eop(或op)、JZ2440开发板
特别说明:
op与 eop的连接方法、驱动安装、程序烧写方法都完全一致,仅以eop为例说明。
eop全貌如下:
JZ2440与eop的接线示意图:
将eop所带的10pin 2mm间距排线插入开发板JTAG口,凸出的一面指向纽扣电池一侧,eop的usb口插电脑。
整体连接图为:
注意:暂时用不上LCD,便把jz2440屏幕卸了,方便拍照。
2.4 安装eop驱动(op驱动安装类似)
将eop的USB口插到“电脑的USB口”,电脑会自动检测到eop。
在win7 32位机,依次点击“计算机(右键菜单)”-“设备管理器”
在win7 64位机中,依次点击“计算机(右键菜单)”-“管理”-“设备管理器”,出现两个“USB <==>JTAG&RS232”。
(如果没有出现,请将eop的USB口拔下,重新拔插几次),如下图:
两个“USB <==>JTAG&RS232”对应“100ASK JTAG”和“100ASK Serial Port”。两者的驱动程序文件都一样,安装时不用在意先后顺序。
步骤1:点击第一个“USB <==>JTAG&RS232”,在右键菜单中,选择“更新驱动程序软件”。
选择“浏览计算机以查找驱动程序软件”。
选择驱动程序文件位置,通过“浏览”选择为光盘的windowsdriversOpenJTAG目录下,点击“下一步”,如下图:(笔者将光盘资料拷贝到G:JZ2440目录下,用户根据实际光盘资料复制路径进行更改)
Win8/win10用户安装时可能会出现:
善于使用搜索工具会使你的自学能力有很大提升,对于以上两个问题,可以直接百度箭头所指的文字,度娘会告诉你大把的解决方法。
或者直接参考:
http://www.lenovosj.com/news/2643.html和
http://jingyan.baidu.com/album/375c8e19c2b25b25f2a229a3.html?picindex=7
解决完上面两个问题,我们继续安装,在前面选择驱动目录之后,忽略下图的警告信息:
第一步安装完成,弹出“100ASK Serial Port成功安装”(注意:也可能是100ASK JTAG成功安装),然后点击“关闭”,如下图:
步骤2:完全和步骤1一样,这里不在赘述
eop驱动安装成功,设备管理器分别有“USB Serial Port(COM4)”、“100ASK JTAG”、“100ASK Serial Port”。
个别的特殊情况,步骤1,2都无法解决,依然出现:
这时可以先用驱动精灵安装驱动后,在依次尝试步骤1,2。
2.5. 打开oflash软件
在开始的命令行中,输入cmd后,回车,打开cmd.exe,从而启动DOS命令行。
windows下oflash软件、FTDFTD2XX.dll存放在光盘的EasyOpenJTAG_OpenJTAG光盘Windowstools目录。
win7-32位系统,将oflash软件、FTDFTD2XX.dll一并拷贝到C:WindowsSystem32目录。在命令行里先切换oflash软件目录C:WindowsSystem32oflash,然后输入oflash并回车。
win7-64位系统,将oflash软件、FTDFTD2XX.dll拷贝到C:WindowsSysWOW64目录中。同样先切换到oflash软件目录C:WindowsSysWOW64oflash,再输入oflash并回车。
下面以win7-32位系统为例,详细说明oflash操作,而win7-64位系统下操作完全一样。
注意:
不建议直接双击C:WindowsSystem32oflashoflash.exe,因为它执行完后窗口就消失,可能看不到出错信息。
如上图,先切换到C:WindowsSystem32oflash目录,然后显示该目录内容,发现存在oflash,然后输入“oflash”,然后“回车”就成功打开oflash.exe。
2.6 烧写裸机程序到nand flash
下面演示将裸机程序lcd_3.5_4.3.bin烧到nand flash中。如果是烧写其他裸机代码或用户自己移植的uboot只需更改“烧写的文件名”。
1. 因为我们提供的bin只支持NAND启动,所以将“nand启动开关”拨动到NAND,开发板上电
2. 插上电源适配器,按下开发板的“电源红色开关按钮”后,开发板的电源指示灯常亮,eop状态指示灯常亮。
最后,eop烧写程序时的接线如下:
将光盘bin lcd_3.5_4.3.bin拷贝到C:WindowsSystem32oflash中。 然后按下图步骤烧写。
注意:
oflash.exe存放路径为C:WindowsSystem32oflash,所以建议将烧写文件lcd_3.5_4.3.bin也必须存放在C:WindowsSystem32oflash中,否则在指定下载文件时需要输入绝对路径。
烧写完成后拔掉eop,重启开发板,SecureCRT上即可看到LCD裸机程序打印出来的信息,因为eop工作时会使JZ2440复位, 导致串口无打印。
注意,很多烧写成功但看不到串口信息的现象就是这个原因导致!
串口信息出来:
对于3.5寸屏,选择1, 2两项进行测试
对于4.3寸屏,选择3, 4两项进行测试
对于图像显示刷屏的现象是因为裸机程序中我们没有开启 mmu和cache,这种情况下从内存拷贝数据缓慢造成的,学习后边的知识这些问题都可以解决。