| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 野火EBF6ULL Pro 烧写官方镜像 -> 正文阅读 |
|
[嵌入式]野火EBF6ULL Pro 烧写官方镜像 |
说明:编译环境: ????????VMware 15.5.7 + ubuntu-18.04.5-desktop-amd64 开发板: ????????野火EBF6ULL Pro 启动方式: ????????SD卡启动 uboot/kernel/rootfs镜像: ????????基于NXP官方野火电子进行适配修改的源代码进行编译 烧写方法: ????????在linux环境下手动制作启动SD卡,并将镜像拷贝到指定位置(具体位置及方法见下文) 一、编译uboot:代码获取 ? ? ? ? git clone https://gitee.com/Embedfire/ebf_6ull_uboot.git 需要的工具链(arm-none-eabi-gcc:v6.3.1): ????????sudo apt-get install gcc-arm-none-eabi 需要的必要环境: ????????sudo apt-get install lib32ncurses5 lib32tinfo5 libc6-i386 make gcc 编译方法: ????????清理编译记录: ????????????????make ARCH=arm clean ????????生成配置: ????????????????SD卡:make ARCH=arm mx6ull_14x14_evk_defconfig ????????????????emmc:make ARCH=arm mx6ull_14x14_evk_emmc_defconfig ????????????????nand:make ARCH=arm mx6ull_14x14_evk_nand_defconfig ????????编译: ????????????????make -j4 ARCH=arm CROSS_COMPILE=arm-none-eabi- kernel:代码获取: ? ? ? ? git clone https://gitee.com/Embedfire/ebf_6ull_linux.git 需要的工具链(arm-linux-gnueabihf-gcc: v7.4.0): ????????sudo apt-get install gcc-arm-linux-gnueabihf 需要的必要环境: ????????sudo apt-get install lzop libncurses5-dev 编译方法: ????????ebf_6ull_linux/arch/arm/configs下的配置文件: ????????imx_v6_v7_defconfig、imx_v7_defconfig:nxp官方提供的默认配置文件,用于编译官方的imx6ull开发板 ????????imx6_v7_ebf_defconfig:野火提供的配置文件 配置编译环境变量: ????????export PATH=/opt/arm-gcc/bin:$PATH ????????export ARCH=arm ????????export CROSS_COMPILE=arm-linux-gnueabihf- 清理编译记录: ????????make ARCH=arm clean 生成配置: ????????make ARCH=arm imx6_v7_ebf_defconfig 编译: ????????make ARCH=arm -j10 CROSS_COMPILE=arm-linux-gnueabihf- 生成路径: ????????内核:ebf_6ull_linux/arch/arm/boot ????????设备树:ebf_6ull_linux/arch/arm/boot/dts 只编译设备树: ????????make ARCH=arm -j10 CROSS_COMPILE=arm-linux-gnueabihf- dtbs rootfs:使用buildroot工具: ????????git clone https://gitee.com/Embedfire/ebf_6ull_buildroot.git 需要的必要环境: ????????sudo apt-get install -y sed make binutils build-essential gcc g++ bash patch gzip bzip2 perl tar cpio python unzip rsync file bc wget g++-multilib 生成配置: ????????带Qt Demo:imx6ull_ebf_pro_defconfig ????????最小的完整镜像:imx6ull_ebf_minimal_defconfig ????????pico文件系统配置(不编译uboot与内核,文件系统5M左右):imx6ull_ebf_pico_defconfig ????????make imx6ull_ebf_pro_defconfig 二、烧写:创建分区????????fdisk /dev/sdb << EOF? ????????n ????????p ????????1 ????????20480 ????????1024000 ????????n ????????p ????????2 ????????1228800 ? ? ? ? 这里是默认 ????????w ????????EOF 格式化分区:????????mkfs.vfat /dev/sdb1 ????????mkfs.ext4 /dev/sdb2 ????????分区1格式化成vfat是因为uboot中使用的是fatload进行的加载 ????????分区2格式化成ext4是因为后续是将rootfs直接解压到的分区2,内核直接会把分区2进行了挂载 将uboot烧写到sd卡:????????dd if=uboot of=/dev/sdb bs=512 seek=2 conv=fsync ????????跳过sd卡前面1k,可能是为了不破坏分区表和sd卡的一些标识,比如Disk identifier在448的位置,分区表在448~512之间 ????????查看sd卡前1k数据果真如此,如下: 将kernel和dtb拷贝到sdb1(注意名字要对):????????cp zImage /dev/sdb1 ????????cp imx6ull-14x14-evk.dtb /dev/sdb1 ????????名字必须这样写是因为uboot里写死了就是这个名字,否者找不到文件 将rootfs解压到/dev/sdb2????????tar -jxvf rootfs.tar.gz /dev/sdb2 将sd卡插入板子,重启即可三、uboot参数分析:
|
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/25 21:21:17- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |