目录:
(1)NUC980 编译环境搭建
(2)NUC980 Uboot制作
(3)NUC 980 kenerl编译
u-boot:
(1)下载u-boot:
A:下载连接:
下载地址:https://gitee.com/OpenNuvoton/NUC970_U-Boot_v2016.11
文件:NUC970_U-Boot_v2016.11-master.zip
B:解压编译
解压后重命名为1U-boot (注意文件夹名称不能还有: 会导致makefile 出错)
参看:NUC980编译错误,multiple target patterns(多个目标匹配)_IOT-Power的博客-CSDN博客
里面内容为:
(2)配置Uboot
A: 修改源码使其支持SD卡:
# cp include/configs/nuc980_evb.h include/configs/nuc980_evb.h.original
gedit include/configs/nuc980_evb.h
配置为:
/*#define CONFIG_SYS_USE_SPIFLASH */
/*#define CONFIG_SYS_USE_NANDFLASH */ // 屏蔽
/*#define CONFIG_ENV_IS_IN_NAND */ // 屏蔽
/*#define CONFIG_ENV_IS_IN_SPI_FLASH */
#define CONFIG_ENV_IS_IN_MMC // 51行 启用MMC// include/configs/nuc980_evb.h 这个文件中还定义了很多位置和大小的参数
B:配置U-boot
# 加载默认配置
make nuc980_defconfig
# 进行针对性配置
# 这里主要配置启用SD1
make menuconfig
关闭SPL :
使能:Command line interface > Device access commands
使能MMC关闭Nand
Device Drivers > MMC Host controller Support
关闭这里:Device Drivers > NAND Device Support
需要注意的是下面的内核默认是启用了设备树支持的,而这个u-boot早先版本是没有启用设备树的,如果使用的是2022.08.19以前的版本的话需要启用 Library routines -> Enable the FDT library 。
如果不使用设备树则手动要关闭:
取消Boot images -> Support Flattened Image Tree
取消 Library routines->nable the FDT library
如果使能设备数则:
①Boot images -> Support Flattened Image Tree
②Library routines->nable the FDT library 取消Support running EFI Applications in U-Boot
(3)编译Uboot:
export PATH=$PATH:/usr/local/arm_linux_4.8/bin
make
(4)烧录Uboot:
烧录U-Boot需要将SD卡插在开发板上。拨动拨动开关将 PG[1:0]
设置为 00
,按下复位键。在Windows中使用NuWriter进行烧录(烧录通过USB0,调试交互默认通过UART0):