新唐的nuc980/nuc972的开发3-官方源码编译

上一节中bsp已经安装,交叉环境已经搭建,理应就可以正常的编写上层的应用程序啦。

但是系统启动次序是- uboot-> kernel内核 ->挂载文件系统 ->上层应用程序
下面是bsp安装后的文件:

因此本章节,将讲解 uboot-> kernel内核 ->挂载文件系统 等的官方源码编译

有一个问题:新唐官方在github,gitee,gitlab都有源代码,但是很多事网速和墙的原因,访问可以会出现问题,可以参考
国内gitee:OpenNuvoton - OpenNuvoton

github:
https://github.com/OpenNuvoton/MPU-Family

  • 官方源码编译

3.1编译Uboot

进入uboot源码目录     cd u-boot-2016.11/

在目录的configs文件下有很多的配置文件。   ls configs/nuc980*

查到与980相关的配置有三个。

随便选一个,开始编译。

make nuc980_defconfig

make

编译结束,会生成u-boot.bin 及 spl/u-boot-spl.bin

3.2编译Linux Kernel

BSP安装之后会获取到官方的linux kernel。

进入源码目录:cd linux-4.4.y/

查看配置文件  : ls arch/arm/configs/nuc980*

选一个进行配置:make nuc980_defconfig

现在还不能直接编译,会报错找不到文件系统。

到之前下载bsp目录下,将rootfs拷贝到kernel源码同级目录。

官方配置的ramdisk镜像,文件系统会和kernel一起被打包。同时在kernel同级目录创建image文件夹 : mkdir ../image

安装软件: sudo apt-get install u-boot-tools

编译内核镜像 :make uImage

编译完成,生成镜像文件

3.3 烧录准备-安装虚拟串口的驱动

首先安装驱动,....安装完成

这个时候插上USB,应该可以正常识别出一个设备

一定要把这一步实现, 不管使用哪种方式启动,下载镜像始终是要USB的。

3.4 启动方式

NUC980支持4种启动方式

目前板子上有SD卡、SPI FLASH以及NAND FLASH的接口。

先打开原理图。

首先看原理图,在板子上有两个拨码开关。

连接着上图所示的IO口

数据手册上:

 

启动整理如下:

 

主要关注的是PG0和PG1,上电的不同方式决定了四种启动形式

然后比较重要的是PG3和PG5。PG3管的是看门狗,PG5管的是调试串口。

那么作为一个开发者,PG3和PG5应该都是在ON的位置

 3.5USB启动方式

阅读USB启动方式的程序流程图,可以知道,数据被下载到了DRAM里面,这种方式应该是用于调试,一旦断电就会丢失数据。

连接PUTTY,使能串口,方便调试

打开终端,成功设置为USB启动,串口终端将有类似 如下的打印:

 

 接下来,确定USB正常工作;打开烧录软件;连接设备;

随便选个bin文件过来,放心刷,反正是在dram里面,掉电就没了的

 

看终端信息
 

3.6 NAND启动方式

之前编译了uboot和kernel,现在可以使用那些固件了

首先把之前编译的内容拿到桌面

一共是四个文件,设置启动方式为nand,通过串口终端确认如下:

 打开烧录软件

烧录u-boot-spl.bin

烧录uboot.bin

烧录kernel

文件系统的烧录可以根据自己的需要进行(需要启动后mount),

烧录完成 ,然后复位,启动

没有跑起来,不要紧,看调试信息,有个时间输出,可以证明烧录是正常的
找个正常的镜像,再来一次

正常启动,这里还有个配置过程,先不管,后面再说


3.7 Linux内核启动

前面已经将镜像烧录进了nand
但是没有启动,因为还有一个配置过程(没有环境变量的参数文件)
以NAND启动方式,进入putty

从nand里面读取数据到DRAM运行
nand read 0x7FC0 0x200000 0x800000

启动
bootm 0x7FC0

就 正常进入

这种方式 时不常用的;缺乏env和文件系统的实现,后续再跟进讲解!

正常编译好之后,如何打包,并且进行烧录,可以参考如下教程:https://blog.csdn.net/xiaoxilang/article/details/133675267

最后可以实现一键烧录,才是便于量产的方式!!!! 

  • 10
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaoxilang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值