设计网站大全有哪些网站主页排版
前言
-  
最近搭建了 Nuvoton NK-980IOT开发板 的开发编译环境,记录一下 u-boot 的 编译流程
 -  
Nuvoton NK-980IOT开发板 资源还是比较的丰富的,可以用于 嵌入式Linux 或者 RT-Thread 的学习开发
 -  
开发板上电比较的容易,两根 USB 线即可,不需要额外的直流电源供电,板子比较的小巧,不占用太大的空间。
 -  
开发板可以通过 USB 进行烧写,默认烧写到 SPI Flash 中,有【拨码开关】用于切换启动模式,烧写时,需要切换到 USB 模式
 

开发环境
-  
Win10 64位
 -  
ubuntu 20.04
 -  
虚拟机 VMware® Workstation 16 Pro
 -  
NUC980 bsp 自带的编译工具链: nuc980bsp.tar.gz,版本 gcc version 4.8.4 (GCC)
 -  
NUC980 uboot 2016.11 版本 :
https://gitee.com/OpenNuvoton/NUC970_U-Boot_v2016.11 
获取 u-boot
-  
打算让 Nuvoton NK-980IOT开发板 引导 RT-Thread,发现有两个 bin 文件, u-boot-spl 与 u-boot,所以想亲自编译出这两个固件来
 -  
u-boot 下载地址:https://gitee.com/OpenNuvoton/NUC970_U-Boot_v2016.11
 -  
使用 git 拉取 u-boot 代码到 ubuntu 主机中
 
git clone https://gitee.com/OpenNuvoton/NUC970_U-Boot_v2016.11.git
编译工具链
- Nuvoton NK-980IOT 的芯片是 nuc980 32位 ARM9 系列的CPU,需要使用较老版本的gcc 交叉编译工具链,这个工具链,在 Nuvoton 提供的 软件包中可以找到
 

-  
方法是 进入官方网站
https://www.nuvoton.com.cn/,然后搜索 nuc980,找到 相关的软件,下载NUC980_Linux-4.4_BSP软件包 -  
解压缩
NUC980_Linux-4.4_BSP_v1.05.000.zip,然后把 解压后的nuc980bsp.tar.gz复制到 ubuntu Linux 主机中,在 ubuntu Linux 主机中解压缩nuc980bsp.tar.gz。 -  
解压缩命令:
tar xzf nuc980bsp.tar.gz -C /home/zhangsz/nuc980,命令后面的-C /home/zhangsz/nuc980为指定的解压缩路径,不指定会解压缩在当前的目录下。 
zhangsz@zhangsz:~/nuc980d$ cd nuc980bsp/
zhangsz@zhangsz:~/nuc980d/nuc980bsp$ ls
arm_linux_4.8.tar.gz  image.tar.gz  install.sh  rootfs.tar.gz
 
-  
这里只需要再次解压缩
arm_linux_4.8.tar.gz即可,不需要使用install.sh。 -  
解压缩
arm_linux_4.8.tar.gz命令tar xzf arm_linux_4.8.tar.gz -C /home/zhangsz/nuc980/tools,解压缩到 指定目录下 -  
配置gcc 的环境变量,我这里修改
/ect/profile的方式, -  
sudo vim /etc/profile, 文件最后追加export PATH=$PATH:/home/zhangsz/nuc980d/tools/arm_linux_4.8/bin -  
wq 保存后,然后
source /etc/profile,交叉编译工具链即可生效 

- 可以输入 
$ arm-linux-gcc -v验证 交叉编译工具链 环境变量配置成功 

编译 u-boot
-  
进入 uboot 的目录下,执行
 -  
1、
$ make distclean清理工程 -  
2、
$ make nuc980_iot_defconfig开发板默认配置 -  
3、
$ make -j4进行编译 
编译 u-boot 产物
- 编译后,有两个产物,可以复制出来,用于下载到 开发板
 

-  
1、 u-boot.bin
 -  
2、u-boot-spl.bin
 
烧写 u-boot 与 u-boot-spl
-  
如果开发板已经烧写过镜像,并且已经开机,就不需要每次都全部擦除一遍。
 -  
这里使用
NuWriter进行 USB 烧写 -  
烧写前,需要开发板 波动拨码开关,切换到 【USB 启动】模式,点击一下 【复位键】
 -  
u-boot-spl.bin,bootloader 烧写到 0x400 处 

u-boot.bin, data 方式,烧写到 0x100000 处

- 详细的烧写方法参考官方的文档: 
NK-980IoT_Quick_Start_Guide_EN_Rev1.01.pdf 
烧写后启动
- 启动模式拨码开关,切回 SPI Flash 启动,然后点击【复位键】重启,看一下启动信息
 

- 这样 u-boot 与 u-boot-spl 编译并烧写成功了
 
小结
- Nuvoton NK-980IOT开发板 还有 USB、网络等接口,接下来可以用于嵌入式Linux 与 RT-Thread 的学习与研究
 
