将linux或安卓系统刷到开发板
来源:互联网 发布:怎么用c语言输入n个数 编辑:程序博客网 时间:2024/06/06 11:00
刷机原理
1.板子首次启动需要sd卡启动
2.sd中的bootloader启动后运行fastboot命令进入刷机模式
3.pc把刷机rom发送给开发板,开发板的fastboot把收到的镜像文件写到emmc的合适位置
刷机
刷机Linux系统:
Linux系统rom:/home/zyli/6818/s5p6818sdk_lzy1/Linux/images
S5P6818如果从sd卡启动,会从sd卡的第二个扇区读取bootloader
sd{512bytes|bootloader [--------------------][-----------------]}
/dev/sdx /dev/sdx1 /dev/sdx2
1>建立sd分区
参考<建立sd卡分区.mp4>
2>把bootloader烧写到sd卡
sudo dd if=./ubootpak.bin of=/dev/sdx seek=1
3>配置minicom
安装:sudo apt-get install minicom
配置:sudo minicom -s
+-----[configuration]------+
| Filenames and paths |
| File transfer protocols |
| Serial port setup |
| Modem and dialing |
| Screen and keyboard |
| Save setup as dfl |
| Save setup as.. |
| Exit |
| Exit from Minicom |
+--------------------------+
选择Serial porthangh setup
+------------------------------------------+
| A - Serial Device : /dev/ttyUSB0 |
| B - Lockfile Location : /var/lock |
| C - Callin Program : |
| D - Callout Program : |
| E - Bps/Par/Bits : 115200 8N1 |
| F - Hardware Flow Control : No |
| G - Software Flow Control : No |
| |
| Change which setting? |
+------------------------------------------+
运行:sudo minicom
4>在开发板上运行uboot,在minicom中观察启动过程
a>运行minicom
b>把sd卡插入卡槽(前提是在sd卡中烧写了bootloader)
c>给开发板上电(或者重启),在minicom中观察启动过程
d>在启动后,minicom中会有倒计时,在倒计时完成前敲键盘的任意键
e>敲任意键后板子会进入uboot提供的shell命令行
[zyli@Uboot]#
5>fastboot刷机
确保:usb线以及连接
a>在uboot的shell中执行fastboot
[zyli@Uboot]# fastboot
b>在电脑上执行刷机命令
[ubuntu@Ubuntu]# sudo fastboot devices
[ubuntu@Ubuntu]# sudo fastboot flash ubootpak ./ubootpak.bin
[ubuntu@Ubuntu]# sudo fastboot flash boot ./boot.img
[ubuntu@Ubuntu]# sudo fastboot flash system ./rootfs.ext2
c>切换到minicom
在minicom中执行Ctrl+C
[zyli@Uboot]#
6>修改环境变量
目的:告诉告诉开发板内核和根的位置
注意:以下命令在开发板上(也就是minicom中)执行
bootloader启动后3s如果没有敲键盘则bootloder会默认执行环境变量bootcmd指定的操作
[zyli@Uboot]# set bootcmd "ext4load mmc 2:1 0x48000000 uImage;bootm 0x48000000"
解释:ext4load 命令 从emmc中把文件加载到内存
uImage 被加载的文件
mmc 固定
2:1 2代表第二个设备 板子上有三个mmc设备(sd0, sd1, emmc)
0x48000000 开发板的内存地址
bootm 命令 启动内核
注意:接下来要告诉内核根的位置
[zyli@Uboot]# set bootargs root=/dev/mmcblk0p2 tp=gslx680-linux
注意:如果是mipi接口的屏幕,需要增加一个参数lcd=wy070ml
解释:bootargs这个环境变量的值最终会传给内核
root 指定根的位置
/dev/mmcblk0p2
内核启动后会识别emmc,emmc被识别为/dev/mmcblk0
两个分区分别被识别为/dev/mmcblk0p1 /dev/mmcblk0p2
tp执行触摸屏的类型
注意:环境变量修改后需要保存
[zyli@Uboot]# save
7>重启开发板
如果正常的话会进入linux系统
在开发板的屏幕上会出现基于QT5的界面
在minicom中会出现要求登录的界面(用户名root,密码123456)
刷Android系统:
1>在开发板运行fastboot命令
[zyli@Uboot]# fastboot
2>在PC上依次执行如下命令
[ubuntu@Ubuntu]# sudo fastboot flash ubootpak ubootpak.bin
[ubuntu@Ubuntu]# sudo fastboot flash boot boot.img
[ubuntu@Ubuntu]# sudo fastboot flash system system.img
[ubuntu@Ubuntu]# sudo fastboot flash userdata userdata.img
[ubuntu@Ubuntu]# sudo fastboot flash cache cache.img
3>修改环境变量
[zyli@Uboot]# set bootcmd "ext4load mmc 2:1 0x48000000 uImage;ext4load mmc 2:1 0x49000000 root.img.gz;bootm 0x48000000"
[zyli@Uboot]# set bootargs lcd=vs070cxn tp=gslx680
[zyli@Uboot]# save
[zyli@Uboot]# reset
给Android安装软件
adb 可以通过usb控制android系统
安装adb:
[ubuntu@Ubuntu]# sudo apt install android-tools-adb
利用adb给Android系统安装软件:
[ubuntu@Ubuntu]# adb devices
[ubuntu@Ubuntu]# adb install 100Project.apk
- 将linux或安卓系统刷到开发板
- linux系统将本地文件或文件夹上传到linux系统的服务器上的方法
- linux -- 如何将系统命令或脚本的输出同时输出到屏幕和文件呢
- 将文件或目录拷贝到另一个Linux系统的命令scp
- 如何将开发好的安卓应用程序发布到安卓市场或商店
- 下载linux系统到开发板
- 十九、安装Linux系统到开发板
- 手把手教你深度定制tiny4412安卓5.0系统(一)---开发板如何预置文件到android系统
- 手把手教你深度定制tiny4412安卓5.0系统(一)---开发板如何预置文件到android系统
- 安卓开发-自己实现CursorAdapter将数据的数据装载到ListView
- 将sqlite3移植到嵌入式Linux开发板M6708上
- 将DHT11移植到Linux系统上
- 将linux系统安装到U盘
- gem5跑linux或安卓bench
- 将FL2440开发板修改为单独的linux系统
- 安卓开发中将文字复制到手机粘贴板
- 安卓系统工具类、开发的时候有用的到哦。
- Linux应用开发———将so库加入到系统开发的动态链接库中
- 使用Quartz框架定时发送预警邮件
- python3字符串编码总结str(unicode)<-->bytes
- uservm.c
- 帝国时代2开源克隆版 源码下载OpenAge (c/c++)
- SSL_1597 石子合并问题
- 将linux或安卓系统刷到开发板
- cent0S 7 安装 cdh5.13 笔记之五: 配置 hbase
- 方向导数与梯度
- 透彻的掌握 Spring 中@transactional 的使用
- 6. ZigZag Conversion
- 机器学习之集体智慧编程3:搜索与排名
- Android so库文件的区节section修复代码分析
- 使用svg-sprite-loader 遇到的问题
- HR4982是一种便于使用的内部集成了译码器的微特步进电机驱动器