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操作系统启动成功。

相关推荐
我不管我就要叫小猪11 小时前
STM32——SPI
stm32·单片机·嵌入式硬件
捷瑞电子工坊12 小时前
深入理解CMSIS内核函数:__disable_irq() 与 __enable_irq()
stm32·嵌入式系统·cmsis·中断控制·临界区保护
LCG元13 小时前
【实战】STM32 从零实现 Modbus RTU 从站:寄存器映射、CRC 校验与串口中断解析
stm32·单片机·嵌入式硬件
云泽80814 小时前
深入浅出 STM32(十九):从寄存器原理到 volatile 避坑实战
stm32·单片机·嵌入式硬件
wuyk55515 小时前
《WiFi 嵌入式物联网开发全套实战》| 第01章 WiFi整体架构详解:BSS/ESS/AP/STA模式彻底区分
开发语言·stm32·单片机·嵌入式硬件·mcu·物联网·51单片机
wuyk55515 小时前
第六章:CAN 调试工具、抓包分析、全套故障排查 + CAN-FD 进阶拓展
开发语言·stm32·单片机
那年窗外下的雪.15 小时前
STM32嵌入式学习 01:GPIO 输出与 LED 闪烁
stm32·单片机·学习
雨田言炎17 小时前
STM32专题之内部SRAM
stm32·单片机·嵌入式硬件
芯片设计-曾工19 小时前
YL1621(SSOP28)国产段码LCD驱动芯片|PIN‑PIN兼容HT1621,储能电量显示板CH2505B国产化替换方案
stm32·单片机·嵌入式硬件·mcu·硬件工程
玩转单片机与嵌入式1 天前
深入浅出TinyML 16:FFT、频带能量和MFCC分别适合什么任务?
stm32·深度学习·tinyml