版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 (作者:张华 发表于:2018-05-23)
硬件准备及连线
- mini2440开发板
- JLink、转接板、连接线、B型USB线
- USB转串口板、串口直连线
- 这些东西对于学习嵌入式不是必须的,用qemu模拟即可
连线如下:
- 对于内核启动早期(如u-boot)的编程及调试主要使用JTAG: 用于将uboot引导安装程序下载到开发板的Nor Flash/BIOS中。有两类,一类是并口,一类是USB接口代替并口(B型USB线一端接电脑另一端接JLink,JLink再接转接板,转接板接连接线,连接线接mini2440)。使用JTAG安装了u-boot之后,通过u-boot再可以通过很多种方式(如tftp)下载操作系统并引导安装。
- 对于内核的编程和调试除了使用JTAG也可以使用串口结合KGDB调试,或者使用qemu模拟调试:USB转串口线的USB端连电脑, 另一端和接串口直连线,串口线连mini2440的串口
使用minicom连接串口
将USB转串口线插入电脑
$lsusb
Bus 003 Device 017: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
ls /dev/ttyUSB0 # if now ttyUSB0, we can: sudo mknod /dev/ttyUSB0 c 188 0
sudo apt-get install minicom
sudo minicom -s #Serial port setup
sudo minicom -s
先选’Serial port setup’然后作如下的配置,接着选’Save setup as dfl’, 最后选’Exit’
+———————————————————————–+
| A - Serial Device : /dev/ttyUSB0 |
| B - Lockfile Location : /var/lock |
| C - Callin Program : |
| D - Callout Program : |
| E - Bps/Par/Bits : 115200 8N1 |
| F - Hardware Flow Control : No |
| G - Software Flow Control : No |
先运行: sudo minicom
然后将mini2440上的Flash选择开关(音频接口旁)拨到从Nor Flash启动(右边,向下为Nor Flash),然后打开mini2440的电源(左边,向上为开电源)。此时,串口会自动连接。
$sudo minicom
Welcome to minicom 2.7
OPTIONS: I18n
Compiled on Feb 7 2016, 13:37:27.
Port /dev/ttyUSB0, 13:44:26
Press CTRL-A Z for help on special keys
Try to bring eth0 interface up......eth0: link down
Done
Please press Enter to activate this console.
[root@FriendlyARM /]#
利用JLINK烧写U-boot到NAND Flash中
J-link是个调试器,而Jlink可以使用JTAG调试接口或者SWD调试接口。用它可以下载U-boot。
可使用JFlash (Jlink Flash)和Jlink Command两种方式烧写U-boot到NAND Flash中,前者是图形化工具,后者是纯命令行工具。前者只能在windows平台下使用,若使用Ubuntu就只能使用后者了。
windows下使用JFlash的步骤可以参见: https://blog.csdn.net/q1302182594/article/details/51323279 , 下面看看如何在Ubuntu里安装Jlink Command:
JLink_Linux_x86_64.deb - https://www.segger.com/jlink-software.html
- https://download.csdn.net/download/houxd_cs/10322536
sudo apt-get install libusb-dev libreadline6 libreadline6-dev
sudo dpkg -i JLink_Linux_V632c_x86_64.deb
JLinkExe
下列实验未成功,在运行usb命令后再运行connect命令时找不到JTAG target,不清楚什么原因,也许是买的Jlink有问题吧。不care,知道步骤就行了。剩下的可以参考: http://blog.chinaunix.net/uid-26019596-id-3434327.html
$ JLinkExe
SEGGER J-Link Commander V6.30j (Compiled Mar 29 2018 18:16:53)
DLL version V6.30j, compiled Mar 29 2018 18:16:48
Connecting to J-Link via USB...O.K.
Firmware: J-Link V9 compiled Jun 2 2222 22:22:22
Hardware version: V9.40
S/N: 81480416
License(s): GDB, RDI, FlashBP, FlashDL, JFlash, RDDI
VTref = 3.296VJ-Link>usb
Disconnecting from J-Link...O.K.
Connecting to J-Link via USB...O.K.
Firmware: J-Link V9 compiled Jun 2 2222 22:22:22
Hardware version: V9.40
S/N: 81480416
License(s): GDB, RDI, FlashBP, FlashDL, JFlash, RDDI
VTref = 3.303V
J-Link>connect
J-Link>speed 12000
Selecting 12000 kHz as target interface speed
J-Link> loadbin /bak/tools/mini2440/init/init.bin 0x0
Type "connect" to establish a target connection, '?' for help
setpc 0x0
用qemu模拟mini2440
waiting …