养成好习惯,学好嵌入式(U-boot,内核烧录)

2019-07-12 18:27发布

距离上次碰开发板已经有一个多月了,忙忙碌碌的考试周终于结束,成绩也还不错,但是看到开发板的时候总觉得心里有些不舒服,觉得自己丢了好多东西,这一个多月没敲命令,连键盘都有点不熟悉了。 一个朋友才接触嵌入式没多久,烧录过程中遇到的不少问题,问我的时候我竟然回答的有些吃力,以前不用思考能给出结果的东西现在要思考好久还不能确定,只好回去翻看自己电脑里的文档。也是基于此才深深地体会到一句话“好记性不如烂笔头”,还是需要记录下来,这样以后就算忘了还可以查阅,现在要慢慢的把电脑里的文档搬到互联网中这样方便随时随地的查看, -----------------------------------------------------------------------------------                               我是分割线                              -------------------------------------------------------------------------------------------
现在开始正文;                                    u-boot及内核的烧录过程 准备工作:硬件:FL2440开发板,J-link,usb转串口线,网线,     软件:centos,Securecrt,J-Link ARM V4.10i,tftpd32,bootstrap-s3c2440.bin,u-boot-s3c2440.bin,linuxrom-s3c2440.bin, 烧录步骤: 1. 准备工作 需要下载一些进行烧录的bin文件以及驱动内核,还要有tftp.exe此程序可以将电脑本身作为服务器 3. 安装驱动 (1) 需要安装两个驱动,一个是串口驱动,以便可以使串口正常使用,使开发板与PC链接在一起。二是Jlink驱动,Jlink是负责将pc中的文件(如上图的bin文件)烧录到开发板中的驱动软件,但此时只是烧录到开发板的内存中,并未存储到开发板的硬盘中。 (2) 安装好驱动后,开启SecureCRT 6.0,选择左上角connec按钮,选择new sessionProtocol下拉菜单里选择Serial,下一步后在Port中选择自己的串口号(如COM3,串口号可以在设备管理器中看到)在Baud rate中选择115200,将右侧的钩全部取消,就可以进行下一步了。 (3) 参照视屏将新开发板原有系统删除格式化。 0. 使用Jlink驱动开发板 (1) 启动Jlink软件,键入speed 12000意在设定开发板频率,接着开始应用loadbin命令载入上图所示的bootstrap文件和u-boot文件 Loadbin G:Jlink runkBinootstrap-s3c2440.bin 0  (将这个bin文件载入到0这个内存地址) Setpc 0 g h (运行并终止) Loadbin G:Jlink runkBinu-boot-s3c2440.bin 33f80000 (将这个bin文件载入到33f80000这个内存地址) Setpc 33f80000 g           此时开发板开始启动,SecureCRT 6.0将可以开始监听开发板 (2) 接下来在SecureCRT 6.0上操作 使用nand scrub命令可以将硬盘全部格式化,pri命令可以查看基本信息 设置网络,将网线连接,打开tftp.exe然后 Set ipaddr 192.168.1.135      这是开发板自己的ip Set  serverip  192.168.1.143      这是服务器ip也就是tftp.exe上显示的ip Save 保存 (3) 使用tftp命令将内存中的文件下载到硬盘(nandflash tftp  30008000 u-boot-s3c2440.bin nand  write  30008000  0  50000    三个数字对应首地址,偏移量,文件大小 此时把uboot写入了硬盘flash中,接下来为了建立linux操作系统,要将内核烧录进来 tftp  30008000  linuxrom-s3c2440.bin nand  write  30008000  100000  800000 内核烧录完成,接着用reset重启 (4) 内核已经烧录到硬盘中,下次启东时就不需要Jlink了,注意,下次启动时一定要关闭Jlink,不然无法正常启动,这是笔者在烧录过程中遇到的问题。