自从学习Linux,这是我第二次拿出开发板了,果然嵌入式Linux的学习相比但单片机的学习更漫长且复杂,我也不知道自己最终会如何,刚好今天是大年初一,写笔记前顺便写个随笔小愿望:
2020,武汉加油!中国加油!愿人们早日战胜病魔,迎来美好的春天,
也祝父母:身体健康,开心快乐每一天
baby:2020也是爱你的一年,祝这个开心果越来越美腻,感谢我能遇到对的人。
自己:Linux小白成长之路一切顺利!
下面开始切入正题了
依旧参考朱老师的PPT和笔记
一、什么是刷系统
刷系统就是利用刷机工具,向开发板中烧录预先编译好的系统镜像,使之在开发板上运行起来。
二、串口输出的意义(做系统控制台)
串口是一种硬件通信口,很多年前的时候串口是CPU之间进行通信的主要接口。但是现在因为串口通信的速度很低,所以现在串口主要是用来做程序输出监控、调试。
桌面电脑可以打开一个虚拟控制台,嵌入式系统一般是用串口来做控制台的。一般是用一根串口线连接开发板的串口和我们笔记本电脑的串口,然后在电脑上打开一个串口监视,这样开发板上的串口输出内容就可以在电脑上看到。还可以通过监视终端向开发板输入一些控制命令由开发板执行。常用的串口监视软件有:超级终端、SecureCRT、minicom
三、安装USB转串口线的驱动
本来电脑都是有串口的(DM9接口),但是现在大家都用笔记本没有串口了,所以这种串口连接线用不了。办法是使用USB转串口线,这种线传入电脑后需要安装驱动,安装驱动后在电脑上会形成一个串口(叫usb转串口),这样就相当于你电脑有了一个串口,可以通过这个串口来监视开发板的串口输出。
注意1:windows对USB设备的管理是和USB口有关的,你每次把usb转串口线插到1个口中,这样得到的COM口号码是不变的,方便我们后期使用。如果每次胡乱更换插口,可能得到的COM口会变。
注意2:COM口号码是可以改的,还可以强制占用显示“已使用”的COM号,一般改成COM4以内的就可以了。
1、安装usb转串口的驱动
这个大家可以看一下某宝购买详情页中的内容,一般都会有介绍用的什么芯片,我的是用的PL2303,网上有很多,下载一个就好。
2、更改COM口号码的步骤
1.此电脑->右键->属性->设备管理器->端口->右键->属性->端口设置->com端口号(P):把端口更改为COM4以内的就可以了(SecureCRT支持范围有限)
四、使用SecureCRT
这个直接参考这位博主的博客就可以了,在此表示感谢,里边有百度网盘的下载链接
链接: SecureCRT绿色破解版(解压即可使用、无需积分).
打开SecureCRT.exe后,建立一个Serial连接,开始监视串口。设置参考下图,注意流控一定要去掉。
五、破坏iNand中的bootloader以从SD2启动
busybox dd if=/dev/zero of=/dev/block/mmcblk0 bs=512 seek=1 count=1 conv=sync
sync
解释:这句话的意思就是说把板载的iNand的第一个扇区用全0来填充,其实就是擦除它,这样我们板载的iNand的bootloader的开始第1个扇区就被破坏了。将来启动时iROM还是会先从iNand中读取前16KB,然后计算校验和。这时候因为有1个扇区被擦掉了,所以校验和不通过,所以启动失败(会从SD2去执行2nd启动)。
注意:破坏板载iNand的bootloader后,不插外部SD卡,启动时串口得到:
六、制作启动SD卡(其实就是烧录uboot到SD卡中)
到此为止,我们已经将iNand中的uboot破坏,此时由于BL1的校验和不正常,所以S5PV210会尝试二次启动,也就是SD卡的通道二启动,这个之前在S5PV210的启动详解二中已做讲解
如有忘记,可查看
链接: S5PV210的启动详解2.
2种烧写方法:
一种是在windows中用刷卡工具去制作启动SD卡;
另一种是在linux中用dd命令。
这里介绍第一种(比较简单),刷卡工具在光盘:A盘\tools\x210_Fusing_Tool.rar
制作完SD后将SD卡插入开发板SD2通道(注意不是SD3),然后开机就可以进入uboot界面了。在uboot开机自动启动倒数5秒之内迅速按下电脑回车键,打断自动启动。(否则会自动启动iNand中的android)
注意:
- 以管理员身份运行
- 关闭 SD 卡写保护
写好后会弹出以下界面:
此时,我们将SD卡插到SD2通道上,然后长按POWER键,在secureCRT中查看串口信息,在uboot开机自动启动倒数5秒之内不按下电脑回车键,使其启动iNand中的Android
七、fastboot
1、fastboot介绍
fastboot是uboot中用来快速下载镜像的一个命令,fastboot同时还是一个windows上的软件。
fastboot下载时要注意1:fastboot是使用USB线进行数据传输的,所以fastboot执行之前要先连接开发板和主机之间的usb线。
fastboot下载时要注意2:需要安装驱动。
2、fastboot驱动安装
(X210 Android驱动)的安装
驱动位置:A盘\tools\USB驱动\x210_android_driver
安装驱动的时候遇到了点问题,在设备管理器中点击安装驱动后,安装失败,提示文件哈希值不在指定目录文件中。。。
当然这个问题最后还是解决了,如果您也遇到和我相同的问题,可以查看这篇博客,感谢这位博主, “文件哈希值不在指定目录文件中……”?——关闭驱动程序强制签名.
3、fastboot常用命令:
(1)fastboot devices 命令用来查看当前连接的设备。(我们开发板看到的是:SMDKC110-01)
(2)fastboot flash xxx 命令用来烧录的:
烧录uboot:
fastboot flash bootloader android4.0/uboot.bin
烧录linux kernel:
fastboot flash kernel android4.0/zImage-android
烧录android rom:
fastboot flash system android4.0/x210.img
(3)fastboot reboot 命令用来重启系统
八、开发板刷系统
1、烧录linux+QT
fastboot flash bootloader linuxQT/uboot_inand.bin 烧uboot
fastboot flash kernel linuxQT/zImage-qt 烧linux kernel
fastboot flash system linuxQT/rootfs_qt4.ext3 烧rootfs
uboot的参数不用特意设置(因为我们刷了专为linux+QT定制的uboot,这个uboot中估计已经预制好了所有的启动参数)
2、烧录android2.3
fastboot flash bootloader android2.3/uboot.bin 烧uboot
fastboot flash kernel android2.3/zImage 烧linux kernel
fastboot flash system android2.3/x210.img 烧android rom
注意:android2.3中使用了串口0,所以启动后要把串口插到串口0中,不然串口没有任何启动信息出来。android2.3中屏幕上的logo是在左上角(也是个刷机成功的标志)
3、烧录android4.0.4
fastboot flash bootloader android4.0.4/uboot.bin 烧uboot
fastboot flash kernel android4.0.4/zImage-android 烧linux kernel
fastboot flash system android4.0.4/x210.img 烧android rom
step1:
将 usb OTG 、usb转串口线接好,打开secureCRT,同时在win10下启动cmd
step2:
长按开机键,然后在uboot开机自动启动倒数5秒之内迅速按下电脑回车键,打断自动启动。
step3:
在secureCRT中输入fastboot,回车
step4:
在cmd中进入存放系统镜像的文件夹
注:在cmd中
dir为显示当前目录下的文件夹
cd 文件夹名 表示进入该文件夹
step5:
在cmd中键入烧录命令,观察串口回调的信息
烧录bootloader
烧录Linux kernel
烧录android4.0.4 ROM
屏幕被绿色逐渐覆盖,表示烧录正在进行
然后蓝屏,表示烧录完成
最后重启就好了
以上是我踩过的一些坑,希望对大家有所帮助
后来bug多没去 发布了6 篇原创文章 · 获赞 2 · 访问量 4586 私信 关注