NUC972的BSP包的使用
一、NUC972的BSP包安装好后内容如下:
applications:示例程序以及开源软件,例如busybox, wireless tool…
buildroot:可用来编译内核,交叉编译工具,应用程序...等的集合
image/kernel:使用默认设置预先编译好的内核
image/U-Boot:使用默认设置预先编译好的支持NAND或SPI flash的U-Boot执行档及环境变量env.txt档。其中U-Boot的默认执行地址为0xE00000。
linux-3.10.x:内核源码
rootfs(rootfs_48):根文件系统(arm_linux_4.8环境使用)
rootfs_eth2uart:根文件系统(Eth2UART开发板使用)
rootfs_tomato:根文件系统 (Tomato开发板使用)
uboot:U-Boot V2013RC4源码
uboot.v2016.11:U-Boot V2016.11 源码
二、编译前的准备
NUC972的BSP自带了交叉编译器,安装完了BSP包,交叉编译器也随着被安装了,路径在/usr/local/arm_linux_4.8/usr/bin。把这个路径加入$PATH中,执行:
gedit /etc/profile
在profile中加入:
PATH="$PATH:/usr/local/arm_linux_4.8/usr/bin"
export PATH
保存退出。
执行
source /etc/profile
让其生效,现在执行
echo $PATH
可以看到PATH已经更新了。再执行
arm-linux-gcc -v
可以看到arm-linux-gcc的版本号,说明交叉编译器已经没问题了。
因为NUC972的BSP包是在32位系统下生成的,如果你的系统是64位的,那么就还需要安装32位的兼容包才可以使用BSP包中的二进制工具。执行
apt-get install libgtk2.0-0:i386 libxtst6:i386 gtk2-engines-murrine:i386 lib32stdc++6 libxt6:i386 libdbus-glib-1-2:i386 libasound2:i386
再执行
apt-get install g++
安装完成后,进入BSP包中的uboot文件夹
cd uboot
执行
make distclean
应该能正常执行,如果不行,参考:https://bbs.csdn.net/topics/390999780
如果怎么样都不行,可能就要换32位的系统了。(本人就是先装的64位的Ubuntu18.04,然后搜遍了网上也没有办法执行BSP包中的32位工具,所以只好重新装了32位的Ubuntu14.04)
三、编译Uboot
进入BSP包中的uboot文件夹
cd uboot
先清除以前编译留下的残留文件,执行
make distclean
把uboot的设置恢复为出厂设置(不需要恢复出厂设置的,跳过本步),执行
make nuc970_config
编译uboot,执行
make all
编译过程中好像会提示找不到rootfs文件夹,把BSP目录下的rootfs_48文件夹改为rootfs就可以了。
编译成功后,会生成u-boot.bin和u-boot-spl.bin。
u-boot.bin在uboot目录下:
u-boot-spl.bin在uboot/nand_spl目录下:
u-boot-spl.bin的功能是:把u-boot.bin从NAND flash中复制到DDR中执行,因为uboot不能直接在NAND flash中执行。
u-boot.bin才是真正的uboot文件。
因此,如果要让NUC972从NAND flash中启动,那就需要同时烧录u-boot-spl.bin和u-boot.bin。如果是从SPI flash或eMMC中启动,那就只需要烧录u-boot.bin,因为uboot可以直接在SPI flash或eMMC中执行。
四、编译Linux内核
uboot编译后会在uboot/tools文件夹下生成mkimage工具,而编译内核时需要使用它,所以执行:
cp uboot/tools/mkimage /bin
把它复制到/bin中,以便后面使用。
首先执行
apt-get install libncurses5-dev
安装libncurses5-dev软件包。然后进入内核目录
cd linux-3.10.x
把内核配置恢复成出厂:
make nuc972_defconfig
编译:
make uImage
NUC972的BSP包的使用相关推荐
- ZYNQ开发系列——hw_platform包和BSP包中的一些理解
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 ZYNQ开发系列--hw_platform包和BSP包中的一些理解 前言 hw_platform BSP包 前言 前面我们完成了PS输 ...
- RT-ThreadBearPi 开发笔记 -- 为小熊派开发板制作 RT-Thread BSP 包
为小熊派开发板制作 RT-Thread BSP 包 前段时间,微联智控工作室向南京厚德物联网有限公司申请了一款物联网开发平台---小熊派物联网开发套件(BearPi-IoT).关于小熊派IoT开发平台 ...
- 安装NUC972的BSP
复制官方提供的nuc970bsp.tar.gz文件到Ubuntu的一个文件夹中,然后在该文件夹中右键打开命令行,执行: tar zxvf nuc970bsp.tar.gz 解压该BSP压缩包,然后进入 ...
- 恩智浦 i.MX8X BSP 包文件目录结构
恩智浦 linux-4.14.98 BSP 开发包文件目录结构如下: linux-imx |->arch | |->arm64 | | |->boot | | | |->dts ...
- QNX BSP包目录结构
什么叫简陋的博客?这就是简陋的博客![狗头] 一张图能解决的问题都不叫问题:
- OpenBoard的板级支持包(BSP)开发召集令
OpenBoard的板级支持包(BSP)开发召集令 什么是"板级支持包"? 在嵌入式系统中,Board Support Package(简称BSP,中译板支持包)是实现特定的支持代 ...
- 新唐NUC972 uboot 编译环境搭建
前言 最近在搭建NUC972的虚拟机编译环境时遇到了一些小问题,通过网络各种搜索关于uboot编译的说明没有太详细的说明,最后各种百度搜索解决了此问题,把具体步实现步骤分享一下. 1. uboot 简 ...
- qnx bsp 编译
编译环境准备: 1.下载工具链,以及bsp 包 2.编译 source ../qnx710/qnxsdp-env.sh make 3.make install
- 提交显示成功但是没有看到文件_如何向RTThread提交一个BSP?
RT-Thread今天的快速发展和所取得成绩,离不开所有开发者的持续贡献和社区小伙伴的竭力支持. 一.前言 今年6月,我在一款智能混合型的FPGA芯片上,完成了RT-Thread的移植,并向RT-Th ...
最新文章
- 微信小游戏背后的技术优化
- excel 复制数据 sql server 粘贴_win32 实现 excel 快速复制粘贴
- idea找不到或无法加载主类问题解决
- mybatis 不同格式日期比较大小_怎样创建一个命令函数来获得不同国家和应用程序所要求的大多数日期格式...
- 剑指Offer_62_二叉搜索树的第k个结点
- Atitit 文件系统概论 艾提拉著 目录 1. NTFS系统	1 1.1. NTFS文件系统概述	1 1.2. 1.1 文件系统简介 1.2 NTFS文件系统	1 1.3. 第2章
- Linux学习第八篇之文件搜索命令find、locate、which、whereis、grep
- Nodejs 下载安装步骤(Windows环境)
- 笔记本装系服务器系统驱动,联想昭阳E4430A笔记本安装WINDOWS SERVER 2003 2008服务器版网卡驱动的问题...
- Oracle Exadata一体机简介
- 哈理工c语言,哈理工C语言试题.doc
- 阿里P6+面试:介绍下观察者模式?
- Mysql数据库repair table 修复表
- 宝付浅谈物流无人机发展历程
- python爬虫之爬取拉勾网
- [生存志] 第38节 平王东周都洛阳
- 常见的IM开源服务器
- Aura Component Cope Snippets
- 华为2288H V5服务器RAID配置
- 网页PDF下载,有了这3种方法,文档随便下
热门文章
- python生成器使用场景桌面_Python – 如何更简洁地使用生成器?
- lstm代码_贼好理解,这个项目教你如何用百行代码搞定各类NLP模型
- 深度神经网络对脑电信号运动想象动作的在线解码
- php 长短字符串转换,将php的数组按照字符串长短进行排序
- 6万车主使用智能驾驶不给钱,理想汽车竟然还说越多越好?
- 48万!百度推出全球最便宜RoboTaxi,赚钱能力2倍于人类网约车
- MindCon | 当「赛博朋克」遇到「AI极客」会发生什么?
- 数学好=编程能力强?MIT新发现:二者激活大脑区域并不同
- 寒武纪抢答2020:一季度同比亏损扩大377%,86%营收大约在下半年
- 3D打印攻破无人车激光雷达,这个奇怪的盒子它看不见