项目码云地址(国内下载速度快):https://gitee.com/jun626/nuc980-open-source-project

项目github地址:https://github.com/Jun1172/nuc980-open-source-project

ubuntu镜像,文件太大,加群私聊。

1.修改配置文件

复制文件include/configs/nuc980_evb.h为nuc980_evb_back.h

避免改错了

然后再修改第47行

#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 */

这里要注意,注释要使用/**/,不要用//注释,否则会报错

arm-linux-ld.bfd:u-boot.lds:1: ignoring invalid character `#' in expression
再修改偏移地址和大小

#ifdef CONFIG_ENV_IS_IN_NAND
#define CONFIG_ENV_OFFSET       0x80000
#define CONFIG_ENV_SIZE         0x20000
2.使能SPI驱动

打开uboot菜单界面

NUC980开源项目16-从SPI FLASH(W25Q128)启动_NUC980开源项目

使能SPI FLASH接口支持

NUC980开源项目16-从SPI FLASH(W25Q128)启动_NUC980开源项目_02

这里指定FLASH芯片为华邦的16M芯片

重新编译

NUC980开源项目16-从SPI FLASH(W25Q128)启动_NUC980开源项目_03

重新烧录

NUC980开源项目16-从SPI FLASH(W25Q128)启动_NUC980开源项目_04

前面有提到SPL文件是给NAND烧录使用的,那么SPI启动的话,就只需要这个文件就行

首先擦除一下flash

烧录uboot

NUC980开源项目16-从SPI FLASH(W25Q128)启动_NUC980开源项目_05

烧录KERNEL

NUC980开源项目16-从SPI FLASH(W25Q128)启动_NUC980开源项目_06

查看启动信息

NUC980开源项目16-从SPI FLASH(W25Q128)启动_NUC980开源项目_07

是我刚刚编译的uboot