ARM S5PV210 X210 刷机教程总结

前言

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.net/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.com/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继续刷机。

在这里插入图片描述


源自朱有鹏老师.

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值