jlink_for_linux
2015-08-10 11:03
441 查看
学习裸机时(2440),发现usb驱动有问题,电脑有时候识别不了,如是研究了一下jlink烧写程序。在window下也可以实现,但是我的代码都在linux下编写编译的,所以jlinx也就选择linux版的。
安装jlink_for_linux:
1. 下载安装包 JLink_linux_xx.tgz(官网下载地址:www.segger.com)
解压#tar JLink_linux_xx.tgz
#cd JLink_Linux_xx
复制库#cp -d libjlinkarm.so* /usr/lib -f
#cp 45-jlink.rules /etc/udev/rules.d/
ln -s ./JLinkGDBServer /usr/bin/JLinkGDBServer
运行JLinkGDBServer
运行./JLinkExe
提示:./JLinkExe: error while loading shared libraries: libreadline.so.5:
cannot open shared object file: No such file or directory
解决:[root@bogon/lib]#ln -s libreadline.so.6.1 libreadline.so.5(创建一个符号链接指向libreadline.so.6.1)
2. JLinkExe使用
1 speed 12000(12MHZ提高通信速度)
2 下载 xx.bin文件,
> r 复位命令(可以清除内存的代码)
> h 停机,也有暂停的功能(进行任何命令操作前最好执行一下h)
> loadbin ./xx.bin 0x0000 0000 (nand 启动)(或0x4000 0000 nor启动)
> setpc 0x0000 0000 或 0x4000 0000 设置PC的值
> g
> h
注意:该操作只能将 .bin 文件烧到内存里,SDRAM未初始化前,.bin文件只能烧写到o地址处(nand启动,nor启动下载地址0x4000 0000)。
一般如果要烧到nand上,就需要借助特制uboot了。首先烧init.bin到SRAM(init.bin作用初始化SDRAM)。
(1)下载init.bin文件,并运行。它能将SDRAM配置好。
(2)下载u-boot.bin文件到SDRAM内存地址上,并运行它。
(3)使用u-boot命令将自身写到NandFlash或NorFlah。
第一阶段:
> speed 12000(12MHZ提高通信速度)
下载 xx.bin文件,
> r 复位命令(可以清除内存的代码)
> h 停机,也有暂停的功能(进行任何命令操作前最好执行一下h)
> loadbin init.bin 0x0000 0000 (nand 启动)(或0x4000 0000 nor启动)
> setpc 0x0000 0000 或 0x4000 0000 设置PC的值
> g
> h
说明:g运行后,开发板led灯点亮说明,init.bin正常运行了。
第二阶段:(下载u-boot.bin)
> loadbin u-boot.bin 0x33f80000
> setpc 0x33f80000
> g
说明:地址0x33f8 0000 这个地址不可以变,这是uboot编译链接时的地址(链接地址<-->运行地址)。g若是成功,串口有uboot输出信息,说明uboot运行成功。
第三阶段:(下载用户程序)
> h
> loadbin xx.bin 0x3000 0000
> g
然后,就是在串口终端中输入Uboot命令,将0x30000000内存的数据分别写入NandFlash或NorFlash。
串口终端
檫除
nand erase 0 30000(檫3M)
nand scrub (檫除整片)
nand烧写
nand write 和 nand write.jffs2,这两个命令是有差别的,nand write主要用来烧写u-boot
和kernel(uImage),和任何文件系统无关,而nand write.jffs2专门用来烧写jffs2文件系统的,
当然,你可以添加nand write.yaffs2,nand write.squahfs等等,这个在cmd_nand.c里的do_nand函数加自己的代码
说明:三个步骤中间不能断电,我们这些代码都在内存里,断电就没了。nand write之后,断电。nand启动。
安装jlink_for_linux:
1. 下载安装包 JLink_linux_xx.tgz(官网下载地址:www.segger.com)
解压#tar JLink_linux_xx.tgz
#cd JLink_Linux_xx
复制库#cp -d libjlinkarm.so* /usr/lib -f
#cp 45-jlink.rules /etc/udev/rules.d/
ln -s ./JLinkGDBServer /usr/bin/JLinkGDBServer
运行JLinkGDBServer
运行./JLinkExe
提示:./JLinkExe: error while loading shared libraries: libreadline.so.5:
cannot open shared object file: No such file or directory
解决:[root@bogon/lib]#ln -s libreadline.so.6.1 libreadline.so.5(创建一个符号链接指向libreadline.so.6.1)
2. JLinkExe使用
1 speed 12000(12MHZ提高通信速度)
2 下载 xx.bin文件,
> r 复位命令(可以清除内存的代码)
> h 停机,也有暂停的功能(进行任何命令操作前最好执行一下h)
> loadbin ./xx.bin 0x0000 0000 (nand 启动)(或0x4000 0000 nor启动)
> setpc 0x0000 0000 或 0x4000 0000 设置PC的值
> g
> h
注意:该操作只能将 .bin 文件烧到内存里,SDRAM未初始化前,.bin文件只能烧写到o地址处(nand启动,nor启动下载地址0x4000 0000)。
一般如果要烧到nand上,就需要借助特制uboot了。首先烧init.bin到SRAM(init.bin作用初始化SDRAM)。
(1)下载init.bin文件,并运行。它能将SDRAM配置好。
(2)下载u-boot.bin文件到SDRAM内存地址上,并运行它。
(3)使用u-boot命令将自身写到NandFlash或NorFlah。
第一阶段:
> speed 12000(12MHZ提高通信速度)
下载 xx.bin文件,
> r 复位命令(可以清除内存的代码)
> h 停机,也有暂停的功能(进行任何命令操作前最好执行一下h)
> loadbin init.bin 0x0000 0000 (nand 启动)(或0x4000 0000 nor启动)
> setpc 0x0000 0000 或 0x4000 0000 设置PC的值
> g
> h
说明:g运行后,开发板led灯点亮说明,init.bin正常运行了。
第二阶段:(下载u-boot.bin)
> loadbin u-boot.bin 0x33f80000
> setpc 0x33f80000
> g
说明:地址0x33f8 0000 这个地址不可以变,这是uboot编译链接时的地址(链接地址<-->运行地址)。g若是成功,串口有uboot输出信息,说明uboot运行成功。
第三阶段:(下载用户程序)
> h
> loadbin xx.bin 0x3000 0000
> g
然后,就是在串口终端中输入Uboot命令,将0x30000000内存的数据分别写入NandFlash或NorFlash。
串口终端
檫除
nand erase 0 30000(檫3M)
nand scrub (檫除整片)
nand烧写
nand write 和 nand write.jffs2,这两个命令是有差别的,nand write主要用来烧写u-boot
和kernel(uImage),和任何文件系统无关,而nand write.jffs2专门用来烧写jffs2文件系统的,
当然,你可以添加nand write.yaffs2,nand write.squahfs等等,这个在cmd_nand.c里的do_nand函数加自己的代码
说明:三个步骤中间不能断电,我们这些代码都在内存里,断电就没了。nand write之后,断电。nand启动。
相关文章推荐
- Linux下Android开发环境搭建
- safe_mode 开启后linux下影响
- 在Linux下如何用Python监控键盘记录
- Linux下搭建Android开发环境
- Linux中搭建SVN服务器
- php实现web端批量杀死Linux进程和清理内存
- Centos系统查找软件url
- Kalilinux 2.0明天就要发布了
- Linux下Java程序不识别宋体
- Installing NodeJS, Grunt, and Bower with cPanel and CentOS or CloudLinux
- linux设备驱动归纳总结(一):内核的相关基础概念
- Linux系统安装
- 工作总结(一):Linux C
- Autojump:一个可以在 Linux 文件系统快速导航的高级 cd 命令
- linux之cut用法
- linux启动时进入只读系统的恢复方法
- CentOS安装Firefox的Flash播放器插件
- 查看 SELinux状态及关闭SELinux
- CentOS安装KVM步骤虚拟机,绝对实用!
- ubuntu鼠标闪烁