NUC970 官方buildroot工具使用过程

总体感受:

新唐nuvoton最新 NUC970 NUC980 arm9处理器:
LQFP128 封装很友好,内嵌DDR RAM,外接SPI flash就可以运行;
官方资料全,适合初学者入门,适合中低复杂程度的物联网产品;
秒三星2440系列,最小系统的简约程度媲美STM32。

背景:

手里有NuMaker-Tomato-IoT开发板、新唐官方buildroot,试试构建一个完整的Linux系统。

不做广告,纯粹学习交流,好东西要分享,活动价格,本人的购买地址为:
https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-21192259955.18.502b7fdb77HJ2z&id=539554614619&rn=0a0694b2c59b5c873a4d7fddc7a8e11c&abbucket=1

过程:

一、安装VMWARE+UBUNTU18.04虚拟机开发平台,过程略,官方提供的直接拿来用;
http://www.nuvoton.com.cn/products/microprocessors/arm9-mpus/nuc970-industrial-control-series/?group=Software&tab=2

二、获取最新buildroot(官方镜像的/home/user目录就有现成的文件夹NUC970_Buildroot-master):
git clone https://github.com/OpenNuvoton/NUC970_Buildroot.git

进入NUC970_Buildroot目录,安装NUC970bsp:
(1)install_nuc970_bsp.sh

(2)查看官方提供的默认配置:
root@ubuntu:/home/work/NUC970_Buildroot-master# ls configs/nuc
configs/nuvoton_nuc970_defconfig configs/nuvoton_nuc980_chili_defconfig
configs/nuvoton_nuc972_defconfig configs/nuvoton_nuc980_defconfig
configs/nuvoton_nuc972_eth2uart_defconfig configs/nuvoton_nuc980_eth2uart_defconfig
configs/nuvoton_nuc973_defconfig configs/nuvoton_nuc980_iot_defconfig
configs/nuvoton_nuc976_defconfig configs/nuvoton_nuc980_lorag_defconfig
configs/nuvoton_nuc976_tomato_defconfig configs/nuvoton_nuc980_mbed_cloud_defconfig
configs/nuvoton_nuc977_defconfig

(3)设置交叉环境变量(每次打开新终端,都要export一下):
export PATH=$PATH:/usr/local/arm_linux_4.8/usr/bin

将export PATH=$PATH:/usr/local/arm_linux_4.8/usr/bin放入/etc/profile,下次使用source命令使交叉环境变量生效:
source /etc/profile

(4)载入默认配置: make nuvoton_nuc976_tomato_defconfig
修改配置后保存,然后编译:
make menuconfig
make

(5)烧写镜像文件:
(注意:tomato配置的uboot.bin 用nuvoton nu-writer工具,烧入SPI flash的起始地址为0x2000000,而不是0xe00000)

使用Tomato内核配置,生成用于SD卡内核启动的SHA文件;
进入内核代码文件夹:
/home/work/NUC970_Buildroot-master/output/build/linux-master
执行:
/home/work/NUC970_Buildroot-master/output/build/uboot-master/tools/mkimage -A arm -O linux -T kernel -S sha1 -a 0x7fc0 -e 0x8000 -d …/image/970image …/image/970image.sha

**插曲:**似乎使用上述SHA校验的 970image.sha 镜像,内核不能启动。。。
(后来解决了,原因是输入镜像应该选择NUC970_Buildroot-master/output/images/目录中的uImage,而不是Image)

或者,干脆不用SHA校验,直接用默认的CRC32校验;

  1. uboot源码修改地方:board/nuvoton/nuc970/Kconfig
config NUC970_HW_CHECKSUM
        bool
        default n
  1. kernel源码直接用生成的默认镜像uImage

注:修改了uboot代码,使用buildroot重新编译方法:
先删除 .stamp_target_installed 和 .stamp_builted
在buildroot根目录执行 make; 生成uboot镜像;否则uboot镜像不会重新生成。

结论:

uboot 和 内核 用默认的 支持CRC32 校验即可;
用buildroot可以方便地添加各种linux工具,告别移植各种库和配置文件的痛苦。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值