sdk 编译指南
优质
小牛编辑
131浏览
2023-12-01
推荐使用系统:Ubuntu 16.04
一、下载nationalchip的5个工程
nationalchip / openwrt
nationalchip / skylark
nationalchip / uboot
nationalchip / middleware
nationalchip / kernel
注意:所有工程需放在同级目录,且确认各工程目录名和项目名一致
二、安装编译依赖工具
Ubuntu16.04:
sudo apt-get install build-essential subversion libncurses5-dev zlib1g-dev gawk gcc-multilib flex git-core gettext libssl-dev unzip texinfo device-tree-compiler dosfstools libusb-1.0-0-dev
三、开始编译
- 进入openwrt
cd openwrt
- 拷贝默认方案配置到.config
//举例:8009公版配置
cp configs/leo_gx8009b_ssd_lc_v1_skylark_defconfig .config
make defconfig
make menuconfig //(如果有需要的话执行,否则可以不做)
- 编译命令
make V=s -j4
如果编译错误,请用make V=s -j1编译进行查看,或者使用make V=s的方式进行编译
请确保内存有2G空间,硬盘空间剩余至少50G
请尽量使用我们推荐的linux镜像,否则容易出现编译异常
四、生成文件说明
openwrt编译生成的文件在openwrt/bin/<板级>/ 目录下,包括mcu,uboot,kernel,dtb,rootfs,ubifs,tf卡镜像等
-rwxrw-r-- 1 xukai xukai 372 Jan 26 16:42 gen_swupdate_img.sh
-rw-rw-r-- 1 xukai xukai 73K Jan 26 16:42 mcu.bin
-rw-r--r-- 1 xukai xukai 961 Feb 12 23:54 md5sums
-rw-r--r-- 1 xukai xukai 11K Feb 10 22:26 openwrt-leo-gx8010-dev-1v.dtb
-rw-r--r-- 1 xukai xukai 192M Feb 12 23:54 openwrt-leo-gx8010-dev-1v-ext4.img
-rw-r--r-- 1 xukai xukai 39M Feb 12 23:54 openwrt-leo-gx8010-dev-1v-ext4.img.gz
-rw-r--r-- 1 xukai xukai 4.1M Feb 12 23:54 openwrt-leo-gx8010-dev-1v-fit-uImage.itb
-rw-r--r-- 1 xukai xukai 39M Feb 12 23:54 openwrt-leo-gx8010-dev-1v-rootfs.tar.gz
-rw-r--r-- 1 xukai xukai 197M Feb 12 23:54 openwrt-leo-gx8010-dev-1v-sdcard-vfat-ext4.img
-rw-r--r-- 1 xukai xukai 43M Feb 12 23:54 openwrt-leo-gx8010-dev-1v.swu
-rw-r--r-- 1 xukai xukai 48M Feb 12 23:54 openwrt-leo-gx8010-dev-1v-ubifs.img
-rw-r--r-- 1 xukai xukai 50M Feb 12 23:54 openwrt-leo-gx8010-dev-1v-ubi.img
-rw-r--r-- 1 xukai xukai 4.1M Feb 12 23:54 openwrt-leo-gx8010-dev-1v-uImage
-rwxr-xr-x 1 xukai xukai 4.1M Feb 12 23:54 openwrt-leo-gx8010-dev-1v-zImage
drwxr-xr-x 10 xukai xukai 4.0K Feb 10 23:01 packages
-rw-r--r-- 1 xukai xukai 1.6K Feb 12 23:54 sha256sums
-rw-rw-r-- 1 xukai xukai 535 Jan 26 16:42 sw-description
drwxr-xr-x 2 xukai xukai 4.0K Feb 11 00:50 uboot-leo-gx8010-dev-1v
下表是固件的简单说明
文件名 | 含义 | 命名规则 |
---|---|---|
gen_swupdate_img.sh | 用于生成.swu格式文件的脚本 | |
mcu.bin | 在CK处理器中执行的固件 | |
md5sums | 保存各个文件md5校验值 | |
openwrt-leo-gx8010-dev-1v.dtb | 内核设备树 | openwrt-<板级>.dtb |
openwrt-leo-gx8010-dev-1v-ext4.img | ext4格式文件系统镜像 | openwrt-<板级>-ext4.img |
openwrt-leo-gx8010-dev-1v-ext4.img.gz | ext4格式文件系统镜像gz压缩格式 | openwrt-<板级>-ext4.img.gz |
openwrt-leo-gx8010-dev-1v-fit-uImage.itb | u-boot FIT image | openwrt-<板级>-fit-uImage.itb |
openwrt-leo-gx8010-dev-1v-rootfs.tar.gz | 压缩后的原始根文件系统 | openwrt-<板级>-rootfs.tar.gz |
openwrt-leo-gx8010-dev-1v-sdcard-vfat-ext4.img | 用于SD卡烧录的文件系统 | openwrt-<板级>-sdcard-vfat-ext4.img |
openwrt-leo-gx8010-dev-1v.swu | 用于swupdate升级的升级固件 | openwrt-<板级>.swu |
openwrt-leo-gx8010-dev-1v-ubifs.img | ubi文件系统镜像 | openwrt-<板级>-ubifs.img |
openwrt-leo-gx8010-dev-1v-ubi.img | ubi文件系统镜像,可用于直接flash烧写 | openwrt-<板级>-ubi.img |
openwrt-leo-gx8010-dev-1v-uImage | uImage | openwrt-<板级>-uImage |
openwrt-leo-gx8010-dev-1v-zImage | zImage | openwrt-<板级>-zImage |
packages | packages目录,用于存放编译出来的包 | |
sha256sums | sha256校验码保存 | |
sw-description | swupdate升级包描述文件 | |
uboot-leo-gx8010-dev-1v | 存放uboot的文件夹 |
五、打包
打包的目的是为windows下的GUI烧录工具提供可直接加载的镜像文件。
烧录方式参考:Windows下烧录指南
//进入固件生成目录
cd openwrt/bin/leo-gx8009b-ssd-lc-v1-skylark-glibc
//执行打包脚本
bash bootx_package.sh
生成的镜像就在当前目录下,其命名规则:leo-<板级>-<TAG>-<Date|年月日>.img
例如:leo-gx8009b-ssd-lc-v1-debug-20190911.img
TAG默认是“debug”,可在执行打包脚本时传入:bash bootx_package.sh <TAG>