ARM S5PV210 X210 刷机教程总结

编程入门 行业动态 更新时间:2024-10-23 07:39:46

前言

S5PV210 X210 开发板外观介绍






一、开发板刷系统1

1. 什么是刷系统

刷系统就是利用刷机工具,向开发板中烧录预先编译好的系统镜像,使之在开发板上运行起来。


2. 串口输出的意义(做系统控制台)

串口是一种硬件通信口,很多年前的时候串口是 CPU 之间进行通信的主要接口。但是现在因为串口通信的速度很低,所以现在串口主要是用来做程序输出监控、调试。

桌面电脑可以打开一个虚拟控制台,嵌入式系统一般是用串口来做控制台的。一般是用一根串口线连接开发板的串口和我们笔记本电脑的串口,然后在电脑上打开一个串口监视,这样开发板上的串口输出内容就可以在电脑上看到。还可以通过监视终端向开发板输入一些控制命令由开发板执行。常用的串口监视软件有:超级终端、SecureCRT、minicom。


3. 安装 USB 转串口线的驱动

本来电脑都是有串口的(DM9接口),但是现在大家都用笔记本没有串口了,所以这种串口连接线用不了。办法是使用 USB 转串口线,这种线传入电脑后需要安装驱动,安装驱动后在电脑上会形成一个串口(叫usb转串口),这样就相当于你电脑有了一个串口,可以通过这个串口来监视开发板的串口输出。


3.1 安装串口驱动

  • 相关软件


  • 解压后点击安装即可

  • 一直点击下一步即可


  • 安装完成后,重新插拔串口,设备管理器就可以识别到 USB 串口了


注意1:windows 对 USB 设备的管理是和USB口有关的,你每次把usb转串口线插到 1 个口中,这样得到的 COM 口号码是不变的,方便我们后期使用。如果每次胡乱更换插口,可能得到的COM 口会变。

注意2:COM 口号码是可以改的,还可以强制占用显示“已使用”的COM号,一般改成 COM4 以内的就可以了。



3.2 在 Win11 上,串口驱动可能有点问题,需要配置一下

此时,显示 USB 串口驱动异常,需要更新串口驱动程序。


在设备管理器右键串口,选择更新串口驱动程序。



串口驱动显示正常工作。


4. 使用 SecureCRT

从网盘下载SecureCRT.rar,解压后直接使用。注册时参考解压包中的《说明.txt》。


打开 SecureCRT.exe 后,建立一个Serial连接,开始监视串口。设置参考视频中,注意流控一定要去掉。



5. 开机启动,查看串口信息

开发板这边串口一定要接串口2(官方出厂默认的烧录镜像都是使用串口2的),然后开机,就可以看到串口信息了。


  • 接线

  • 开发板上电开机


二、开发板刷系统2

1. 破坏 iNand 中的 bootloader 以从 SD2 启动

进入 android 系统控制台,执行如下指令:

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 启动)。


2. 制作启动 SD 卡(其实就是烧录 uboot 到 SD 卡中)

有 2 种烧写方法:一种是在 windows 中用刷卡工具去制作启动 SD 卡;另一种是在 linux 中用 dd 命令。

本节介绍第一种(比较简单),刷卡工具在光盘:A盘\tools\x210_Fusing_Tool.rar。



3. 将读卡器和SD卡插入电脑

选择 uboot.bin 文件.

制作完 SD 后,将 SD 卡插入开发板 SD2 通道(注意不是 SD3 ),然后开机就可以进入 uboot 界面了。在 uboot 开机自动启动倒数 3 秒之内迅速按下电脑回车键,打断自动启动。(否则会自动启动 iNand 中的 android)。


4. fastboot 介绍

fastboot 是 uboot 中用来快速下载镜像的一个命令,fastboot 同时还是一个 windows 上的软件。

fastboot 下载时要注意
1:fastboot 是使用 USB 线进行数据传输的,所以 fastboot 执行之前要先连接开发板和主机之间的 usb 线。

2:需要安装驱动。


4.1. fastboot 驱动(X210 Android驱动)的安装

驱动位置:A盘\tools\USB驱动\x210_android_driver	






4.2 Windows 上 fastboot 软件的安装

fastboot 软件的位置.


将 fastboot 软件放到 D 盘.


使用 windows cmd 控制台进入 fastboot 所在的目录.


fastboot常用命令:

fastboot devices		命令用来查看当前连接的设备。(我们开发板看到的是:SMDKC110-01)
fastboot flash xxx		命令用来烧录的
fastboot reboot			命令用来重启系统

使用 fastboot 烧录 android4.0.4 镜像:
在 cmd 下使用以下三个命令来完成烧录

fastboot flash bootloader android4.0/uboot.bin		烧uboot
fastboot flash kernel android4.0/zImage-android		烧linux kernel
fastboot flash system android4.0/x210.img			烧android rom

其中使用到的文件,在我们的目录中如下:

我们把需要用到的文件,放到 fastboot 同目录下,以方便使用。

在 cmd 控制台输入命令,开始烧录镜像。

最后,输入命令 fastboot reboot重新启动即可。



三、dnw 工具介绍

1. dnw软件安装

dnw 是一个软件,是三星公司编写的,这个软件的功能是通过 USB 线连接开发板和电脑主机,然后从主机下载文件镜像到开发板中去烧录系统。

dnw软件使用注意1:dnw 是需要装 usb 驱动的,驱动在“X210光盘资料\A盘\tools\USB驱动”目录中.


这里,我的电脑是 64 位的,所以选择 win7-64文件夹。



这里建议,把 dnw 驱动程序放在 C 盘里面。

还有其他不明白的可以参考下面的链接:
http://wjhsh/airduce-p-7501140.html


dnw 软件使用注意 2:dnw 使用时通过 usb 线下载,所以一定要插 USB 线。


dnw 软件使用注意 3:dnw 下载时需要设置 dnw 下载内存地址。在 dnw 软件的菜“Configuration”中设置 Download Address为0xd0020010,确认即可。

注意,由于 dnw 工具只能选择 COM1~COM4,所以必要的时候需要修改设备管理器中的串口号。

选择 0xd0020010 的依据,是根据三星的 iROM 文档确定的。



2. dnw 驱动安装

X210 开发板使用了软开关,但是我们这里还没到操作系统没去处理开关,所以在整个裸机实验中必须手工按下 POWER 键才能保持开机,只要手一抬起来就关机了····

也就是说,安装 dnw 驱动的时候,需要一直用手按住开发板的 power 键,不然设备管理器无法识别到 dnw 驱动。


注意,如果是 Win11电脑的话,可能会找不到上面的 dnw driver 红框部分,这时候需要设置Win 电脑,禁用数字签名,操作链接如下:

https://jingyan.baidu/article/1e5468f97a2978094961b789.html


dnw 驱动装好的标志是:开发板开机从 usb 启动后,一直按住开发板的 power 键,设备管理器中显示已经安装的设备,并且关键是dnw工具中USB:OK。

裸机程序下载地址设置:
从 usb 启动做裸机实验时,因为不需要 16 字节的校验头,所以直接下载到 0xd0020010。


之后通过 transmit 选项,选择我们的裸机程序 led.bin,即可看到效果了。


3. usb 启动裸机实验总结

usb 启动方式主要是用来调试程序的,其实分析 S5PV210 即可知道,我们这里是把裸机程序当作BL1 来使用了。


四、linux 下使用 dd 命令刷写 uboot

1、SD 卡连接入 linux 中

首先得搞清楚:一个 USB 设备插到电脑后,要么可以在 Windows 中识别,此时不能在虚拟机 linux 中识别;要么能在 linux 中识别,但是在 windows 中又不见了。默认的一般都是连在 Windows 中的,所以 linux 是找不到的。

如果你需要将该设备连接到 linux 中,需要在 VMware 软件的菜单“虚拟机 -> 可移动设备”中点选该设备,选择连接。

  1. 首先,查看当前 linux 系统的 /dev/sd* 设备。

  1. 查看当前 linux 系统的识别的可移动设备。

  2. 接入读卡器设备后,再次查看当前 linux 系统的识别的可移动设备。
    可以看到,新出现的 Mass Storage Device 就是我们的读卡器了。

  3. 将 linux 系统连接我们的读卡器,选择连接。

  4. 这时,可以看到 ls /dev/sd*命令多出了 sdb 和 sdb1,它们就是我们的读卡器设备。


连接进 linux 中,在命令行中:ls /dev/sd* 查看,和之前对比,就知道我们的 SD 卡在 linux 中的设备编号了。一般是 /dev/sdb。

也有可能是 sdc 或者其他。我们后面的实验是基于这个设备号是 /dev/sdb 的,如果不是,后面的实验要相应做修改。


2、制作SD启动卡

执行 ./nand_fusing.sh /dev/sdb


3、使用 SD 卡启动

先确定开发板是从SD卡启动的。破坏 iNand 中的 bootloader 以从 SD2 启动:

进入 android 系统控制台,执行如下指令:
busybox dd if=/dev/zero of=/dev/block/mmcblk0 bs=512 seek=1 count=1 conv=sync
sync

然后确定板子内的iNand中的uboot是被破坏的,不能启动的。

SD卡插入SD2通道,启动即可。启动后(看有没必要fdisk -c 0来分区)使用fastboot继续刷机。


源自朱有鹏老师.

更多推荐

ARM S5PV210 X210 刷机教程总结

本文发布于:2023-06-10 19:43:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/652073.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:刷机   教程   ARM

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!