# NUC972开发文档精简版 ## NUC972构建 之 百度压缩包 ### uboot编译 ```bash book@100ask:~/NUC970_BSP$ cd uboot/ book@100ask:~/NUC970_BSP/uboot$ make distclean book@100ask:~/NUC970_BSP/uboot$ make nuc970_config book@100ask:~/NUC970_BSP/uboot$ make all 下面是拷贝制作uImage镜像文件的工具,先拷贝到/usr/bin/,或者把book@100ask:~/NUC970_BSP/uboot/tools添加到坏境变量,二选一,否则在编译内核的时候无法会提示无法找到mkimage 1:拷贝命令如下 book@100ask:~/NUC970_BSP/uboot$ sudo cp ./tools/mkimage /usr/bin/ 2:添加到环境变量 export PATH:=$PATH:/home/book/NUC970_BSP/uboot/tools ``` 会在book@100ask:~/NUC970_BSP/uboot$目录下生成 u-boot.bin和子目录nand_spl目录下生产u-boot-spl.bin两个文件: u-boot.bin: u-boot-spl.bin: ### 编译内核 ```bash book@100ask:~/NUC970_BSP$ cd linux-3.10.x/ book@100ask:~/NUC970_BSP/linux-3.10.x$ make nuc972_defconfig book@100ask:~/NUC970_BSP/linux-3.10.x$ make uImage book@100ask:~/NUC970_BSP/linux-3.10.x$ make dtbs ``` ### 编译文件系统 ```shell book@100ask:~/NUC970_BSP$ cd ./applications/yaffs2utils/ book@100ask:~/NUC970_BSP/applications/yaffs2utils$ make clean book@100ask:~/NUC970_BSP/applications/yaffs2utils$ make book@100ask:~/NUC970_BSP/applications/yaffs2utils$ ls CHANGES list.h nand_ecclayout.h safe_rw.h unyaffs2.c configs.h Makefile progress_bar.c safe_rw.o unyaffs2.o COPYING mkyaffs2 progress_bar.h unspare2 version.h endian_convert.c mkyaffs2.c progress_bar.o unspare2.c yaffs2 endian_convert.h mkyaffs2.o README unspare2.o endian_convert.o mtd-abi.h safe_rw.c unyaffs2 /************************************************************************* * 可以看到 生成的mkyaffs2 应用程序,下面会把他拷贝到 /bin目录 **************************************************************************/ book@100ask:~/NUC970_BSP/applications/yaffs2utils$ sudo cp ./mkyaffs2 /bin book@100ask:~/NUC970_BSP/applications/yaffs2utils$ cd - book@100ask:~/NUC970_BSP$ mkyaffs2 --inband-tags -p 2048 rootfs rootfs_yaffs2.img book@100ask:~/NUC970_BSP$ ls applications linux-3.10.x rootfs_48 rootfs_yaffs2.img image rootfs rootfs_tomato uboot 此时已经生成了rootfs_yaffs2.img 文件系统 ``` ## NUC972构建 之git源码 ### 编译uboot ```shell book@100ask:~/NUC970$ cd NUC970_U-Boot_v2016.11 book@100ask:~/NUC970/NUC970_U-Boot_v2016.11$ make distclean book@100ask:~/NUC970/NUC970_U-Boot_v2016.11$ nuc970_config book@100ask:~/NUC970/NUC970_U-Boot_v2016.11$ make all 下面是拷贝制作uImage镜像文件的工具,先拷贝到/usr/bin/,或者把book@100ask:~/NUC970_BSP/uboot/tools添加到坏境变量,二选一,否则在编译内核的时候无法会提示无法找到mkimage 1:拷贝命令如下 book@100ask:~/NUC970/NUC970_U-Boot_v2016.11$ sudo cp ./tools/mkimage /usr/bin/ 2:添加到环境变量 export PATH:=$PATH:/home/book/NUC970/NUC970_U-Boot_v2016.11/tools ``` ### 编译内核 ```shell book@100ask:~/NUC970$ cd NUC970_Linux_Kernel/ book@100ask:~/NUC970/NUC970_Linux_Kernel$ make nuc972_defconfig book@100ask:~/NUC970/NUC970_Linux_Kernel$ make uImage 注释,编译make uImage会提示在book@100ask:~/NUC970目录下找不到 rootfs和image文件夹,自己手动创建即可 ``` ### 编译文件系统 ``` make clean make nuvoton_nuc972_defconfig make ``` If users need to install nuc970_bsp , user need to be root to run './install_bsp.sh' to install nuc970_bsp. ## 使用mkimage工具打包镜像文件 ### crc32校验方式 uboot里面的宏定义关闭软件计算,比较慢 //#define CONFIG_NUC970_HW_CHECKSUM ``` mkimage -A arm -O linux -T kernel -S crc32 -a 0x7fc0 –e 0x8000 -d 970image 970image.ub ``` ### sh1校验方式 uboot里面的宏定义打开,硬件自动计算,比较快 #define CONFIG_NUC970_HW_CHECKSUM ``` mkimage -A arm -O linux -T kernel -S sha1 -a 0x7fc0 –e 0x8000 -d 970image 970image.ub ``` # NUC972 开发文档详细版 [链接地址](https://nuc970documentcenter.readthedocs.io/en/latest/index.html) ![](media/image-20201120165336324.png)