驱动开发-系统移植

一、Linux系统移植概念

需要移植三部分东西,Uboot ,内核 ,根文件系统 (rootfs) ,这三个构成了一个完整的Linux系统。

把这三部分学明白,系统移植就懂点了。

二、Uboot

1、啥是Uboot

uboot就是引导程序下载的一段代码,有三种我们可以去使用的,可以去开发的。

1.官网uboot ,比较原始

2.半导体厂商的uboot ,半导体厂商比如NXP,自家开发板对应修改裁剪的,可靠性比较好

3.还有自己厂家自己做的Uboot,比如说正点原子自家加的开发板,做的Uboot

现在用的正点原子开开发板,还没有自己修改Uboot的啥水平,先用的他们的Uboot跑跑,主要做法:

1.把他们Uboot弄到虚拟机里,配置一下编译前的版本信息,然后进行编译生成镜像文件.mix

2.通过SD卡下载到开发板

3.跑一跑,学一学

但是通过SD卡下载到开发板出现了一个坑:

虚拟机识别不到SD卡,咋办呢,最后慢慢摸索出来了

主要关注下面的内容

1.虚拟机设置,添加USB控制器设置

2.主机设置,打开VMware USB服务

接着

然后重启虚拟机

3.插入SD卡,选择断开连接,然后重新连接就行了

也可以看看有没有这个图标,有着图标说明就可以了

2、Uboot如何用

使用Uboot当然要用一些命令去操作,主要是一些增、删、改、查的命令。

用这些命令的能操作哪些对象要了解,比如操作信息查询、修改环境变量、操作内存、操作网络,等等,操作这些对象干啥,要了解。

boot命令记一下bootz、bootm 和 boot。

bootz加载镜像文件zImage。也能瞄准地址,加载设备树文件,可以自己试试这个命令。

bootm也差不多,启用uImage。

相关推荐
贝塔实验室14 小时前
译码器的结构
驱动开发·算法·网络安全·fpga开发·硬件工程·信息与通信·信号处理
SundayBear2 天前
Linux驱动开发指南
linux·驱动开发·嵌入式
铜豌豆_Y3 天前
嵌入式Linux驱动开发之I2C子系统(3)--I2C子系统框架
linux·运维·驱动开发
学习和思考3 天前
为什么我的vscode有的时候可以跳转,有的时候不能跳转
arm开发·ide·驱动开发·vscode·学习·1024程序员节
喜欢吃豆4 天前
spec-kit深度解析:AI驱动的规范驱动开发(SDD)的架构、哲学与实践启示
人工智能·驱动开发·python·架构·大模型
zhaoyufei1334 天前
RK3399 11.0关闭调试串口改为普通RS232通信串口
android·驱动开发
cellurw4 天前
Day72 传感器分类、关键参数、工作原理与Linux驱动开发(GPIO/I²C/Platform/Misc框架)
linux·c语言·驱动开发
小武~4 天前
嵌入式网络编程深度探索:无线网络驱动开发实战指南
网络·驱动开发
广药门徒4 天前
Linux 驱动开发中,主设备号和次设备号不同的两个驱动能否正常工作
linux·运维·驱动开发