nuc980 linux开发日志记录

2023-12-30 18:30

本文主要是介绍nuc980 linux开发日志记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、生成UBOOT

1、解压uboot文件,在include目录下找到nuc980_evb.h文件,打开编辑,在47行开始位置找到配置启动方式在这里插入图片描述屏蔽掉从SPI启动,修改为从SD启动,如下
在这里插入图片描述

2、打开控制台,输入命令,启用默认配置

make nuc980_defconfig

3、输入 make menuconfig,对功能进行配置
(1)、取消SPL功能
在这里插入图片描述
(2)、进入→ Command line interface → Device access commands 选上mmc,取消nand
在这里插入图片描述
(3)、 → Device Drivers → NAND Device Support
取消息选择NUC980 NAND support
在这里插入图片描述
(4)、→ Device Drivers → MMC Host controller Support
选择NUC980 MMC support,选上Enable MMC support、Generic MMC support、NUC980 SD1 support (SD Host Port F)
在这里插入图片描述
(5)、为方便调试,→ Command line interface → Filesystem commands启动FAT command support、filesystem commands
在这里插入图片描述
(6)、make编译,在uboot目录下找到uboot.bin文件
(7)、在ubuntu下连接SD卡,生成boot分区与RootFS分区,大小根据自己需要调整
在这里插入图片描述
(8)关闭虚拟机,回到window,将板调整为USB启动,打开NuWriter软件
在这里插入图片描述
将SD卡放在板上,进行UBOOT烧写,调整启动方式从SD/eMMC启动启动
调试串口显示,UBOOT制作成功
在这里插入图片描述

二、生成Kernel

1、导入默认配置文件
make nuc980_defconfig
2、进行图形配置
make menuconfig
3、进入→ Device Drivers ->MMC/SD/SDIO card support —>启用MMC支持
在这里插入图片描述
3、→ Device Drivers → MMC/SD/SDIO card support启动SD卡支持,Nuvoton NUC980 SD Card support
在这里插入图片描述
4、取消Initial RAM filesystem and RAM disk (initramfs/initrd) support取消打包根文件系统
在这里插入图片描述
5、→ Kernel hacking → printk and dmesg options
选上Show timing information on printks,启动时就打印时间戳
在这里插入图片描述

6、输入make生成Image,等待完成,再输入make uImage,插入SD卡,将u
Image拷贝到BOOT分区
7、启动到UBOOT命令行,配置启动参数

setenv bootcmd 'fatload mmc 0:2 0x18000 980uimage;bootm 0x18000 - 0x7c000'

设置环境变量
重启板子,到这一步基本可以启动内核
在这里插入图片描述
现在还没设备树,如果提示
ERROR: Did not find a cmdline Flattened Device Tree
Could not find a valid device tree
找不到设备树,回到uboot配置
在这里插入图片描述
取消Support Flattened Image Tree
在这里插入图片描述
取消nable the FDT library
重启生成uboot即可

三、生成设备树

1、让UBOOT支持设备树.
→ Boot images 选上Support Flattened Image Tree
在这里插入图片描述
→ Library routines 选上Enable the FDT library,取消Support running EFI Applications in U-Boot
在这里插入图片描述
重新编译UBOOT,更新板子
2、让kernel支持设备树
→ Device Drivers 选择Device Tree and Open Firmware support
在这里插入图片描述
Boot options 选择 Flattened Device Tree support
在这里插入图片描述
修改设备树文件nuc980-dev-v1.0.dts让其支持SD卡
在这里插入图片描述

make后看到设备树与image,make uImage

nuc980-sdk/NUC980-linux-4.4.y/arch/arm/boot/dts目标下看到生成设备树二进制文件
nuc980-dev-v1.0.dtb
将uImage与dtb文件拷贝到SD卡BOOT分区

在UBOOT命令行下,输入
setenv bootcmd ‘fatload mmc 0:1 0x18000 980uimage;fatload mmc 0:1 0x7c0000 nuc980-dev-v1.0.dtb;bootm 0x18000 - 0x7c0000’
加入加载设备树

boot命令启动内核
在这里插入图片描述

四、生成RootFS

1、在buildroot输入make menuconfig打开配置

Target options 确定配置如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、内核支持EXT4文件系统
在这里插入图片描述
make,make uImage生成内核

3、sudo 启动文件管理器
sudo nautilus,将生成的根文件解压到ROOTFS分区
4、设置UBOOT启动参数,设备根文件系统路径
setenv bootargs ‘console=ttyS0,115200n8 noinitrd rw rootfstype=ext4 root=/dev/mmcblk0p2 rootwait mem=64M’
5、启动
在这里插入图片描述
根文件系统加载成功

这篇关于nuc980 linux开发日志记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/553661

相关文章

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

在Linux终端中统计非二进制文件行数的实现方法

《在Linux终端中统计非二进制文件行数的实现方法》在Linux系统中,有时需要统计非二进制文件(如CSV、TXT文件)的行数,而不希望手动打开文件进行查看,例如,在处理大型日志文件、数据文件时,了解... 目录在linux终端中统计非二进制文件的行数技术背景实现步骤1. 使用wc命令2. 使用grep命令

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

MySQL 打开binlog日志的方法及注意事项

《MySQL打开binlog日志的方法及注意事项》本文给大家介绍MySQL打开binlog日志的方法及注意事项,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、默认状态二、如何检查 binlog 状态三、如何开启 binlog3.1 临时开启(重启后失效)

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间