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、启动
在这里插入图片描述
根文件系统加载成功

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
引用:为了修改使用的设备树文件 nuc980-dev-v1.0.dts,您可以使用以下步骤: 1. 进入 nuc980-sdk/NUC980-linux-5.10.y/ 目录 2. 打开 nuc980-dev-v1.0.dts 文件,您可以使用 gedit 或其他文本编辑器进行编辑 引用[2]:修改完成后,您需要进行编译和拷贝操作: 1. 设置编译工具链,可以使用以下命令设置环境变量: ``` export ARCH=arm export CROSS_COMPILE=arm-buildroot-linux-gnueabi- export PATH=$PATH:/home/nx/nuc980-sdk/buildroot-2023.02/output/host/bin ``` 2. 编译生成设备树文件,可以使用以下命令: ``` make dtbs ``` 3. 编译完成后,将生成的设备树文件拷贝到电脑上,再拷贝到 SD 卡中。例如,可以使用以下命令将设备树文件拷贝到共享文件夹: ``` sudo cp arch/arm/boot/dts/nuc980-dev-v1.0.dtb /media/sf_common/ ``` 4. 如果您的开发环境和开发板在同一局域网中,您可以直接通过网络将设备树文件拷贝到开发板上。具体操作可以参考以下步骤: - 在开发板中挂载 boot 分区: ``` mount /dev/mmcblk0p1 /mnt/ ``` - 在 Ubuntu 中使用 scp 命令拷贝设备树文件到开发板上。假设开发板的 IP 地址是 192.168.31.142,可以使用以下命令: ``` scp arch/arm/boot/dts/nuc980-dev-v1.0.dtb root@192.168.31.142:/mnt/ ``` 5. 拷贝完成后,重新启动开发板进行测试: ``` reboot ``` 引用:这篇文章是在以下文章的基础上进行的:《新唐NUC980使用记录(5.10.y内核):访问以太网(LAN8720A) & 启用SSH 使用参考与演示 使用参考》。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

纵向深耕

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

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

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

打赏作者

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

抵扣说明:

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

余额充值