| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> U-boot移植注意事项 -> 正文阅读 |
|
[系统运维]U-boot移植注意事项 |
1.配置uboot时make xxx_config,这个xxx要到boards.cfg文件中查找。2.?fatal error: linux/compiler-gcc5.h:No such file or directory错误(gcc版本与编译的相关版本不一致导致的) 可以 cp /usr/src/linux-headers-4.15.0-142/include/linux/compiler-gcc.h .至 include/linux/ 更改名字为compiler-gcc5.h 系统镜像下载????????准备好镜像文件 ????????开发板开机进如uboot命令行模式 ????????执行fastboot ????????插入miniUSB下载线 ????????安装fastboot驱动 ????????修改脚本文件 ????????下载u-boot:fastboot flash ubootpak ../linux_image/ubootpak.bin ????????下载内核:fastboot flash ubootpak ../linux_image/boot.img ????????下载跟文件系统:?flash gtkfs?../linux_image/gtkfs.img ????????双击脚本文件 下载完成时 开发板提示 ubootpak -DONE ????????重启开发板 配置编译原理分析用户执行 make x6818_config????????脚本文件mkconfig中? ? ? ? @$(MKCONFIG) -A $(@:_config=) ????????$(@:_config=)? ?: = 将_config去除 $取出去除后的变量 即x6818 ????????mkconfig 主要从boards.cfg中找到x6818所在行? 并将改行所有信息设置成mkconfig脚本的新的命令行参数 ????????然后获取到的参数,存入到include/config.mk中 ????????脚本中 >>表示追加该文件? >创建该文件 ????????mkconfig 创建include/config.h并写入一个定制的头文件以及目标平台的相关信息 ? ? ? ? include/config.h 默认是被所有源码所包含的不变的头文件??以便于包含变化的头文件x6818.h x6818.h中的裁剪配置均以CONFIG_开头? ? ? ? 这个宏会被脚本解析为变量定义在include/autoconf.mk中 ? ? ? ? autoconf.mk最后又会被Makefile所包含 并决定那些文件需要编译 ubootpak.bin由uboot.bin和其他两个文件nsih? 2ndboot打包而成uboot命令设置启动命令行参数????????setenv bootargs=root=xxx? 设置启动命令行参数? ????????boot启动系统时自动加载的环境变量 ????????setenv bootcmd ext4load mmc 2:1 0x48000000 uImage \; bootm 0x48000000 ? ? ? ? ?ext4load先把程序引导到内容中? ?;? ? ?再从内存加载程序 下载镜像命令????????loadb 0x48000000通过串口下载文件到内存中 ????????fastboot 通过usb下载文件到磁盘中 ????????tftp 0x48000000 通过网络下载文件到内存 启动命令????????boot从外存启动 ????????bootm 0x48000000 从内存 启动 ????????从上位机启动(主要用于调试内核) ????????fastboot flash app uImage 先从PC端下载镜像到内存0x48000000 ????????bootm 0x48000000 从内存 启动 三步添加自定义uboot命令uboot启动内核的过程(两个阶段 第一阶段是汇编(2ndboot)第二阶段为C代码(u-boot.bin)) ????????通过ext4load 或者fastboot 下载内核到内存0x48000000 ????????通过bootm 0x48000000启动内核 ????????先找到cmd_bootm.c文件 ????????找到bootm命令回调函数逐步调用启动内核 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 22:21:18- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |