完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
U-Boot使用loadb下载程序 --基于Linux下Kermit工具 ——西伯利亚的风 初步移植好U-Boot,还没有研究网络、USB等高级功能,想试试通过串口下载程序的功能。经过一番倒腾之后,终于实现,现将笔记整理如下。 实验环境:Linux ubuntu 9.10(来自韦东山老师光盘自带虚拟机) NAND K9F2G08 SDRAM K4S561632 * 2) U-Boot: u-boot-1.1.6 烧写工具: OpenJtag 串口工具:kermit 一、Linux下串口工具kermit安装使用 由于光盘自带的ubuntu中已经安装好串口工具kermit,在此就不安装了。可以在Linux控制台运行命令kermit,如果输出 C-Kermit> 则kermit已经安装。 Kermit安装使用方法,请查看附件参考资料。 二、实验步骤 1.准备工作 A.启动虚拟机中的Linux系统 Ubuntu 9.10 B.开发板Jz2440上电 C.插上OpenJtag。 使用OpenJtag时,确定已经在Linux环境下安装了OpenJtag驱动。 为确保Linux能比WindowXP先识别OpenJtag,请全屏Ubuntu虚拟机,然后在命令行输入 ls /dev/ 出现的设备中除了tty、tty0、tty1外应该能看到设备ttyUSB0或者ttyUSB1。 否则就是OpenJtag没有识别,请拔下重新插入,或者检查OpenJtag驱动是否安装。 D.将OpenJtag线插入Jz2440开发板Jtag插槽 E.使用串口线连接OpenJtag与Jz2440开发板 至此,准备工作完成。 2.烧写U-Boot 使用OpenJtag烧写u-boot.bin到Jz2440开发板。操作过程(红色为输入): root@book-desktop:/home/book/workspace/U-Boot/Jz_u-boot-1.1.6# oflash +---------------------------------------------------------+ |Flash Programmer v1.3 for OpenJTAG of www.100ask.net| |OpenJTAG is a USB to JTAG & RS232 tool based FT2232| |This programmer supports both of S3C2410X & S3C2440| |Author: Email/MSN(thisway.diy@163.com), QQ(17653039)| +---------------------------------------------------------+ Usage: 1. oflash, run with cfg.txt or prompt 2. oflash [file], write [file] to flash with prompt 3. oflash [-f config_file] 4. oflash [jtag_type] [cpu_type] [flash_type] [read_or_write] [offset] [file] Can't open cfg.txt, you should follow the prompt Select the JTAG type: 0. OpenJTAG 1. Dongle JTAG(parallel port) Enter the number: 0 Select the CPU: 1. S3C2410X 2. S3C2440X Enter the number: 2 'ft2232' interface using libftdi with 'USB<=>JTAG&RS232' layout (1457:5118) current latency timer: 2 FTDI chip type: 2 "2232C" S3C24X0 detected, cpuID = 0x0032409d [Main Menu] 0:Nand Flash prog 1:Nor Flash prog 2:Memory Rd/Wr 3:Exit Select the function to test:0 Enter the file name: u-boot.bin [NAND Flash JTAG Programmer] Scan nand flash: Device 0: NAND 256MiB 3,3V 8-bit, sector size 128 KiB Total size: 256 MiB 0:Nand Flash Program 1:Nand Flash Print BlkPage 2:Exit Select the function to test :0 [NAND Flash Writing Program] Source size: 0x17df4 Available target block number: 0~2047 Input target block number:0 target start block number =0 target size (0x20000*1) =0x20000 STATUS: Epppppppppppppppppppppppppppppppppppppppppppppppp
|
|
相关推荐
4个回答
|
|
3.设置Linux串口工具kermit
在Linux命令行输入kermit,然后按照以下过程输入kermit命令,初始化kermit(红色字体为输入)。 root@book-desktop:/home/book# kermit C-Kermit 8.0.211, 10 Apr 2004, for Linux Copyright (C) 1985, 2004, Trustees of Columbia University in the City of New York. Type ? or HELP for help. (/home/book/) C-Kermit>set line /dev/ttyUSB0 (或者set line /dev/ttyUSB1) (/home/book/) C-Kermit>set speed 115200 /dev/ttyUSB0, 115200 bps (/home/book/) C-Kermit>set carrier-watch off (/home/book/) C-Kermit>set handshake none (/home/book/) C-Kermit>set flow-control none (/home/book/) C-Kermit>robust (/home/book/) C-Kermit>set file type bin (/home/book/) C-Kermit>set file name lit (/home/book/) C-Kermit>set rec pack 1000 (/home/book/) C-Kermit>set send pack 1000 (/home/book/) C-Kermit>set window 5 (/home/book/) C-Kermit>connect Connecting to /dev/ttyUSB0, speed 115200 Escape character: Ctrl- (ASCII 28, FS): enabled Type the escape character followed by C to get back, or followed by ? to see other options. ---------------------------------------------------- JZ2440 # 看到有U-Boot提示符“JZ2440 #”出现,说明通过串口工具kermit已经设置OK。 在u-boot界面按下ctrl + ,再按c键,就会切换到kermit界面 JZ2440 # (u-boot界面) (Back at book-desktop) ---------------------------------------------------- (/home/book/) C-Kermit> (kermit界面) 在kermit界面输入c(就是connect的意思),即可切换到u-boot界面 ---------------------------------------------------- (/home/book/) C-Kermit>c (kermit界面) Connecting to /dev/ttyUSB0, speed 115200 Escape character: Ctrl- (ASCII 28, FS): enabled Type the escape character followed by C to get back, or followed by ? to see other options. ---------------------------------------------------- JZ2440 # (u-boot界面) 4.下载程序 由于程序是下载到SDRAM(U-Boot已经初始化了SDRAM)中运行,所以程序的连接地址是0x30000000,这点要特别注意! 附件中leds_0x30000000.rar就是已经修改好的led闪灯程序,其连接地址是0x30000000。 在u-boot界面,输入loadb 0x30000000,就是将程序下载到内存的0x30000000地址。 JZ2440 # loadb 0x30000000 ## Ready for binary (kermit) download to 0x30000000 at 115200 bps... u-boot正在等待程序下载 按ctrl + 然后按 c,切换到kermit界面。发送已经编译好的leds.bin(连接地址为0x30000000,特别注意!!!)(红色字体为输入)。 (/home/book/) C-Kermit>send /home/book/leds.bin 下载完毕,输入c切换到u-boot界面 (/home/book/) C-Kermit>c (在kermit界面输入c) Connecting to /dev/ttyUSB0, speed 115200 Escape character: Ctrl- (ASCII 28, FS): enabled Type the escape character followed by C to get back, or followed by ? to see other options. ---------------------------------------------------- ## Total Size = 0x000000a8 = 168 Bytes ## Start Addr = 0x30000000 JZ2440 # (切换到了u-boot界面) 绿色字体显示数据已经下载完毕,下载到了0x30000000地址。 使用u-boot go命令,执行leds程序 JZ2440 # go 0x30000000 (u-boot界面) ## Starting application at 0x30000000 ... 此时,Jz2440开发板上的led已经开始闪烁了,使用kermit下载程序OK! 三 、技巧 使用kermit时,每次启动连接都要输入set xxx …命令,很繁琐,直接将命令输入到~/.kermrc里面保存,以后使用kermit命令就直接可以使用了。 root@book-desktop:/home/book# vi ~/.kermrc set line /dev/ttyUSB0 set speed 115200 set carrier-watch off set handshake none set flow-control none robust set file type bin set file name lit set rec pack 1000 set send pack 1000 set window 5 c 四、为什么不用minicom? minicom也是Linux下一个很好用的串口工具,为什么u-boot不使用minicom传输文件?u-boot官网说明的很清楚了: minicom is another popular serial communication program. Unfortunately, many users have reported problems using it with U-Boot and Linux, especially when trying to use it for serial image download. It's use is therefore discouraged. http://www.denx.de/wiki/view/DUL ... ad#Section_5.9.5.3. 五、附件 移植好的Jz2440简单u-boot 测试用的连接地址为0x30000000的leds闪灯程序 参考资料: 1.《C-Kermit安装和使用及下载内核方法》 http://wenku.baidu.com/view/34378323bcd126fff7050bbc.html |
|
|
|
坛子里又出了精华!
|
|
|
|
|
|
|
|
学习了,学习了,谢谢!
|
|
|
|
只有小组成员才能发言,加入小组>>
197个成员聚集在这个小组
加入小组为什么点亮LED的例子放在NORFlash上跑会出现奇怪的现象?
2193 浏览 6 评论
1992 浏览 5 评论
韦东山老师推出的《玩转ARM裸机实战》课程将帮你以上问题一扫而光!
4547 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 17:20 , Processed in 0.661690 second(s), Total 51, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号