2.14作业

整理移植操作系统到开发板要进行的工作,具体步骤

  1. 安装tftp服务器和nfs服务器,准备需要下载到开发板文件,存放在指定下载文件夹下,准备需要挂载到开发板文件夹,存放在指定挂载文件夹中。

  2. ubuntu和开发板组网,关闭防火墙,关闭杀毒软件,配置ubuntu网络,桥接到自己网卡,选择桥接模式,开发板网络设置serverip,ipaddr,netmask,gatewayip四个参数,最后测试。

  3. 获取uboot源码,查看源码的帮助手册,确定板子的配置命令。

  4. 在uboot源码执行清除命令,配置交叉编译工具链,执行对应版本默认配置命令,再对板子的公板的设备树信息进行拷贝,修改为对应板子的信息。

  5. 在Makefile中添加板子平台的信息,回到源码目录下进行编译。

  6. 进行测试,根据提示错误信息,由于公板和板子有差异,修改对应的配置文件,最后编译。

  7. 移植网卡,修改对应设备树信息

  8. 获取tf-a源码,在源码顶层目录下,配置交叉编译工具链,在源码目录下给源码打补丁,再对板子的公板的设备树信息进行拷贝,修改为对应板子的信息。

  9. TF-A源码顶层目录下,打开Makefile.sdk文件,搜索TFA_DEVICETREE,添加板子的名称,在tf-a源码目录下,对tf-a源码进行编译。测试,根据提示错误信息,修改对应的配置文件,再编译。

  10. 获取内核源码,查看帮助文档,在linux内核源码目录下,打开Makefile文件,搜索CROSS_COMPILE,配置交叉编译工具链。在内核源码目录下,对内核源码进行打补丁,将补丁文件配置列表,打入到当前源码目录下,再对板子的公板的设备树信息进行拷贝,修改为对应板子的信息。对内核源码进行编译。测试,根据提示错误信息,修改对应的配置文件,再编译。最终生成uImage镜像文件和设备树文件。

  11. 制作根文件系统,获取源码,配置交叉编译工具链,执行make menucinfig,进入图形化界面修改相关配置,编译,根据提示错误信息,进行修改测试。产品阶段需要将根文件系统以ext4格式进行压缩打包。

  12. 开发阶段部署

  13. 在EMMC中固化uboot启动程序

  14. 开发板上电,将uboot镜像文件加载到开发板内存中

  15. uboot启动成功之后

  16. 通过tftp服务器,将uImage镜像文件和设备树文件下载到开发板内存中

  17. 下载成功之后,内核进行启动,内核启动成功之后

  18. 通过nfs服务器,将ubuntu指定的文件夹,挂载到开发板内存中

  19. 开发阶段linux操作系统启动成功。

  20. 产品阶段部署

  21. 在EMMC中固化uboot启动程序、uImage镜像文件、设备树文件、根文件系统镜像文件

  22. 开发板上电,将uboot镜像文件加载到开发板内存中

  23. uboot启动成功之后

  24. 将EMMC中对应的镜像文件读到内存中

  25. 启动内存地址

  26. 产品阶段linux操作系统启动成功。

相关推荐
qq_4017004140 分钟前
STM32 GPIO 精讲|推挽 / 开漏 / 上拉浮空,工程选型避坑
stm32·单片机·嵌入式硬件
创界工坊工作室1 小时前
19-基于单片机的宠物喂养控制系统设计
stm32·单片机·嵌入式硬件·proteus·宠物
..Dauntless..6 小时前
【stm32】I2C(二)——Master和Slave之间的协议
stm32·单片机·嵌入式硬件
硅基手札6 小时前
【串口技术系列文档 04】UART协议深度解析
驱动开发·stm32·单片机·嵌入式硬件·mcu·计算机外设
Zw-awa7 小时前
陀螺小车传奇之00011000
c语言·stm32
Zhang.Yi7 小时前
STM32-BKP和RTC
stm32·嵌入式硬件·实时音视频
意法半导体STM328 小时前
【官方原创】LAT1724 STM32CubeIDE for VSCode 修改链接文件中的起始地址无效?
vscode·stm32·单片机·嵌入式硬件·mcu·stm32cube
Zw-awa20 小时前
八路循迹模块的 DO:先让小车沿着线跑起来
stm32
新晨单片机设计1 天前
S017C-基于STM32汽车防酒驾系统(心率、血氧、短信)【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus·防酒驾报警系统
fly_sunnn1 天前
STM32-GPIO输出以及按键控制LED&光敏传感器控制蜂鸣器
stm32·单片机·嵌入式硬件