- 协议:GPLV2
- 版本说明:
- SDK_Release_Data:2019-12-30
- SDK_VERSION:0.1
- SDK_Author:jackeyt
- SDK_site:https://jackeyt.cn
- 运行环境:Ubuntu 18.04 LTS(WSL、VM、真机均可)
- 开发板:野火IMX6UL Pro开发板
- soc:NXP IMX6UL,ARM Cortex A7
功能说明
- 支持一键运行检查开发编译环境开发
- 支持一键配置、编译UBOOT
- 支持一键配置、编译Linux Kernel
- 支持一键配置、制作文件系统:野火官方的各种文件系统、以及Ubuntu16.04、18.04、Debian9、10
- 支持一键配置QT开发环境(NXP官方环境)[未完成]
- 支持一键第三方开源包[未完成]
- 支持一键编译野火官方APP[未完成]
- 支持一键打包SD可烧录的IMG固件包,并支持Linux、windows(etcher等)工具进进行一键烧录
SDK目录详情:
APP build.sh configs docs filesystems kernel output packages QT reamde.md scripts uboot VERSION 目录说明
- APP =>野火官方的测试APP、脚本等,详情见文件夹下的readme
- build.sh =>SDK的主要执行文件
- configs =>配置文件夹,其中deconf.mk用于配置各个
- docs =>说明、使用文档,原理图等存放
- filesystems =>文件系统:野火官方的各种文件系统、以及Ubuntu、Debian等
- kernel =>clone来自野火官方的kernel
- output =>SDK输出文件夹,用于存放编译生成的各种文件等
- packages =>第三方的开源APP,用于移植至开发板
- QT =>野火官方的测试APP、脚本等,详情见文件夹下的readme
- reamde.md =>说明文档readme,本文档
- scripts =>SDK的各种脚本集合
- uboot =>clone来自野火官方的uboot
- VERSION =>本SDK的版本号
如何安装?
git clone https://gitee.com/jackeyt/ebf_IMX6_SDK.git 或者:
git clone https://github.com/jackeyt/ebf_IMX6_SDK.git 如何运行?
./build.sh 主菜单效果:
__________ ______ ______ ____ _______ _____ ____ __ __ / ____/ __ )/ ____/ / _/ |/ / |/ / ___/ / ___// __ \/ //_/ / __/ / __ / /_ / // /|_/ /| / __ \ \__ \/ / / / ,< / /___/ /_/ / __/ _/ // / / // / /_/ / ___/ / /_/ / /| | /_____/_____/_/ _____/___/_/ /_//_/|_\____/____/____/_____/_/ |_| /_____/ /_____/ SDK_Release_Data:2019-11-30 SDK_VERSION:0.1 SDK_Author:jackeyt SDK_site:https://jackeyt.cn [0] Building Env check [1] Building uboot for ebf_imx6ul [2] Building linux kernel for ebf_imx6ul [3] Building filesystems for ebf_imx6ul [4] Building QT for ebf_imx6ul [5] Building 3th packages for ebf_imx6ul [6] Building APPs for ebf_imx6ul [7] Building QT APPs for ebf_imx6ul [8] Building and Burning image to sdcard [9] Exiting SDK Building Guide! please select: 功能说明
运行build.sh之后,在主菜单上选择[0] Building Env check即可开始检查系统编译环境,效果如下:
please select: 0 your select is: 0 Building Env check starting... checking packages... - 注意需要
root权限,按提示输入密码!
运行成功结果如下:
checking CROSS_COMPILE:arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcc is /opt/arm-gcc/bin/arm-linux-gnueabihf-gcc checking packages success! 运行build.sh之后,在主菜单上选择[1] Building uboot for ebf_imx6u即可开始检查系统编译环境,效果如下:
your select is: 1 Building uboot for ebf_imx6ul starting... [0] uboot_configure [1] uboot_build [2] uboot_clean [3] uboot_distclean [4] uboot_menuconfig 可以看到uboot选项的支持功能有:
- 0.配置
- 1.编译
- 2.clean清除
- 3.distclean清除
- 4.menuconfig菜单选择
支持三种Flash的配置:NAND、EMMC、SD Card 输入0回车进入配置选项菜单:
your select is: 0 Configuring Uboot... Select uboot configs: 1:configs for nand 2:configs for emmc 3:configs for SD Card 下面以NAND Flash为例: 输入1回车即可:
please select configs for uboot: 1 configs for nand .... make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_14x14_evk_nand_defconfig HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/conf.o SHIPPED scripts/kconfig/zconf.tab.c SHIPPED scripts/kconfig/zconf.lex.c SHIPPED scripts/kconfig/zconf.hash.c HOSTCC scripts/kconfig/zconf.tab.o HOSTLD scripts/kconfig/conf # # configuration written to .config # Configured mx6ull_14x14_evk_nand_defconfig to uboot success! 输入1回车即可:
Building uboot for ebf_imx6ul starting... [0] uboot_configure [1] uboot_build [2] uboot_clean [3] uboot_distclean please select: 1 your select is: 1 Using Confiugre file:mx6ull_14x14_evk_nand_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j8 scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config.h UPD include/config.h GEN include/autoconf.mk GEN include/autoconf.mk.dep CHK include/config/uboot.release ............ ............ LD u-boot OBJCOPY u-boot-nodtb.bin OBJCOPY u-boot.srec SYM u-boot.sym COPY u-boot.bin CFGS board/freescale/mx6ullevk/imximage.cfg.cfgtmp MKIMAGE u-boot.imx ====Build uboot ok!==== 输入2回车即可:
Building uboot for ebf_imx6ul starting... [0] uboot_configure [1] uboot_build [2] uboot_clean [3] uboot_distclean please select: 2 your select is: 2 Cleaning Uboot... make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- clean ====Clean uboot ok!==== 输入3回车即可:
Building uboot for ebf_imx6ul starting... [0] uboot_configure [1] uboot_build [2] uboot_clean [3] uboot_distclean please select: 3 your select is: 3 Distleaning Uboot... make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean CLEAN scripts/basic CLEAN scripts/kconfig CLEAN include/config include/generated CLEAN .config .config.old include/autoconf.mk include/autoconf.mk.dep include/config.h ====distclean uboot ok!==== 进入menuconfig菜单配置模式
please select again: 2 Building kernel for ebf_imx6ul starting... [0] linux_configure [1] linux_distclean [2] linux_clean [3] linux_build_dts_only [4] linux_build_modules_only [5] linux_build_kernel [6] linux_build_all [7] linux_kernel_menuconfig your select is: 0 Configuring kernel... Select kernel configs: 1:configs for LCD 4.3 inch 2:configs for LCD 5.0 inch 3:configs for LCD 7.0 inch 支持三种尺寸LCD的配置:4.3、5.0、7.0
这里不再赘述,看选项即知道
在主菜单选择
[3] Building filesystems for ebf_imx6ul即可进行文件系统编译选项:
your select is: 3 Building filesystems for ebf_imx6ul starting... Select which type fs you want to build: 0:readme 1:base_fs 2:debian 9 Stretch 3:debian 10 Buster 4:ebf_rootfs 5:ebf sato 6:qt5 fs 7:ubuntu 16.04 core 8:ubuntu 18.04 core please select configs for filesystem: 说明
- 0:针对文件系统编译说明
- 1:野火官方的最简文件系统
- 2:debian9文件系统
- 3:debian10文件系统
- 4:野火官方的文件系统
- 5:野火官方的文件系统
- 6:野火官方的文件系统带qt5
- 7:ubuntu16.04文件系统
- 8:ubuntu18.04文件系统
关于野火官方的文件系统说明,可见:filesystems/readme.md
下面以编译debian9系统为例[1]:
.... I: Extracting libsmartcols1... I: Extracting libuuid1... I: Extracting mount... I: Extracting util-linux... I: Extracting liblzma5... I: Extracting zlib1g... download buster success! ..... I: Configuring libc-bin... I: Configuring systemd... I: Base system installed successfully. 下面以编译ubuntu16.04系统为例[1]:
...... Resolving mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)... 101.6.8.193, 2402:f000:1:408:8100::1 Connecting to mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)|101.6.8.193|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 37806000 (36M) [application/octet-stream] Saving to: ‘ubuntu-base-16.04.6-base-armhf.tar.gz’ ubuntu-base-16.04.6-base-armh 100%[=================================================>] 36.05M 260KB/s in 83s 2019-12-08 02:16:34 (443 KB/s) - ‘ubuntu-base-16.04.6-base-armhf.tar.gz’ saved [37806000/37806000] download ubuntu-base-16.04.6-base-armhf.tar.gz success! 根据配置编译好的uboot、zImage、filesystem等,打包生成一个可用于烧录到SD卡、EMMC、NAND的固件包,目前只支持生成SD卡固件,可以直接使用linux下的dd命令,或者windows下的烧录工具一键烧录到SD卡,并放至开发板上一键启动。 生成目录:SDK/output/images/sd/