新唐NU980开发入门介绍
NUC980是新唐的一款arm9微处理器,这个芯片具有几个不同型号,我这里使用的是NUC980DK61Y,这个芯片内部包含了64M字节的DRM,处理器能到300MHZ,能从 norflash nandflash sd卡 usb启动,详细可以参考官网的资料:TRM_NUC980_Series_EN_Rev1.01 数据手册非常详细的介绍各种外设
NUC980 NuWriter User Manual CHT 讲解nuc980的程序烧写与启动流程
NUC980 U-Boot v2016_11 User Manual CHT uboot的编译以及修改启动设备
NUC980 Linux 4.4 BSP User Manual CHT linux编译以及配置说明
NUC980 Programming Guide CHT 编程指南相当于数据手册的简介
NUC980启动先执行内部rom的引导程序,它会根据设定的 boot引脚到相应设备读取程序到内存相应地址去执行,在NUC980 NuWriter User Manual CHT这个文档中有详细说明。
可以从 gitee 搜索新唐开源 nuc980代码,使用 git clone 获取 uboot linux buildroot,使用以下方法编译系统相关代码:
1.nuc980的uboot从gitee下载后需要按照NUC980_Linux-4.4_BSP_v1.03.000/Documents/
文件夹里面的NUC980 U-Boot v2016_11 User Manual CHT.pdf进行修改,nuc980_defconfig 这个配置是不能从spi flash启动的,需要进行一定的修改,有配置的修改和代码的修改,默认是支持nandflash的代码。
修改后使用:
make distclean
make nuc980_defconfig
make
编译即可使用
2.关于根文件系统最好从gitee克隆后使用 nuvoton_nuc980_defconfig 这个配置编译,编译在output文件夹有一个rootfs.tar,复制到跟内核代码的上个目录,同一目录建立的rootfs目录里面使用tar解压到这个目录:
sudo tar -xvf rootfs.tar
sudo rm rootfs.tar
cd ..
sudo chmod 777 -R ./rootfs/
注意:使用特权级别操作rootfs
3.nuc980的linux最好从gitee使用git clone 克隆,然后可以使用nuc980_defconfig这个配置编译既可以使用,在编译之前
需要内核源码的上个目录有一个image文件夹和rootfs根文件系统 。使用命令编译:
make distclean
make nuc980_defconfig
make
在目录image里面就有一个980uimage就是可以使用uboot启动的内核文件
4.烧录内核一般在windows使用 NuWrtier.exe usb方式连接开发板,注意板子拨码和安装驱动, 烧写uboot和内核把uboot内核使用Loader方式烧录,软件中有默认位置,(NUC980 NuWriter User Manual CHT.pdf 这个文档有关于烧录详细说明)内核使用Data方式烧录,内核烧录在 0x200000 也就是 norflash 2M 这个位置,烧录完成之后拨码,复位启动板子使用命令启动:
sf probe 0 50000000
sf read 0x7fc0 0x200000 0xa00000
bootm 0x7fc0
至此内核启动了,如果要增加linux启动时执行命令,把命令写在根文件系统 etc/init.d/rcS 这个文件里面的最后几行即可 shell 的 wait 可以等待命令顺序执行,等待命令返回,再执行新命令。
5.烧录loader时有一个 image execute address 这个窗口填写的执行地址,也是代码开始存放到dram的地址NUC980 NuWriter User Manual CHT.pdf 这个文档有详细说明。
烧写完成之后连接 uart0 ,上位机使用调试助手MobaXterm设置 115200 波特率 ,输入uboot命令把 uImage 读取到内存 0x7fc0 这个位置然后启动内核可以与linux内核进行交互了。
这里需要注意:
默认配置不含有 nfs 需要配置内核包含nfs客户端,
网卡可能没有打开需要使用 ifconfig eth0 up 打开网卡
挂载nfs文件系统使用 mount -t nfs 192.168.199.165:/nfsroot /mnt/nfsroot -o nolock
烧录程序时注意boot拨码是否正常,连接NuWriter时需要拨码到usb启动
开发板和串口不是使用同一供电时最好跟串口的地连接起来
编辑:zzy 最后修改时间:2022-05-10