嵌入式远程加载linux系统 📅 发布时间:2026/7/15 19:48:10 👁️ 浏览次数: 文章目录准备工作配置uboot环境变量bootargs命令分析bootcmd命令分析内存地址映射表内存分布解析网络加载Linux系统的方式不会影响MMC设备原有的Linux系统适合于linux系统移植调试场景准备工作准备uImage、stm32mp157a-fsmp1a.dtb、和rootfs.tar安装配置tftp和nfs服务环境将rootfs.tar解压到/nfs/rootfsuImage和stm32mp157a-fsmp1a.dtb拷贝到/tftpboot下配置、连接电脑和开发板设备连接示意图----------------- | Internet | ----------------- | ------------------ | Router | ------------------ / ----------- --------- | Computer | | ARM Dev | | (PC) |----| Board | ----------- ---------第一种方案电脑wifi连接外网电脑有线网卡配置为静态ip通过网线连接开发板USB连接串口第二种方案虚拟机Ubuntu虚拟外部网络选用NAT模式新增一个虚拟网卡桥接模式之电脑有线网卡设置为静态ip通过网线连接开发板USB连接串口配置uboot环境变量使用串口工具进入uboot模式配置以下环境变量结合自己的情况配置可参考本人其他文章envdefault-asetenv ethaddr 00:1B:44:11:3A:B7 setenv serverip192.168.9.120 setenv netmask255.255.255.0 setenv ipaddr192.168.9.210 setenv gatewayip192.168.9.1 setenv bootargsroot/dev/nfsnfsroot192.168.9.120:/nfs/rootfs,prototcp,nfsvers3rw clk_ignore_unusedconsolettySTM0,115200 /init/linuxrcip192.168.9.210 setenv bootcmd tftp 0xc2000000 uImage\;tftp 0xc4000000 stm32mp157a-fsmp1a.dtb\;bootm 0xc2000000 - 0xc4000000 saveenv重启自动加载系统FSMP1Aresetbootargs命令分析setenv bootargs root/dev/nfs nfsroot192.168.9.120:/nfs/rootfs, prototcp, ----使用TCP协议 nfsvers3 ----使用第三个版本 rw -------------读写权限 clk_ignore_unused ---------忽略未使用的时钟源 consolettySTM0,115200 ----控制台与波特率 /init/linuxrc ip192.168.9.210 ----开发板的IPconsolettySTM0,115200指定系统控制台为ttySTM0波特率为115200。# ls /dev/ttySTM0/dev/ttySTM0/init/linuxrc指定初始化进程为/linuxrc。# ls /linuxrc/linuxrcip192.168.9.210设置设备的IP地址为192.168.9.210。# ipaddr1: lo:LOOPBACK,UP,LOWER_UPmtu65536qdisc noqueue qlen1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet127.0.0.1/8 scopehostlo valid_lft forever preferred_lft forever2: eth0:BROADCAST,MULTICAST,UP,LOWER_UPmtu1500qdisc mq qlen1000link/ether 2a:c9:1f:22:38:7a brd ff:ff:ff:ff:ff:ff inet192.168.9.210/24 brd192.168.9.255 scope global eth0 valid_lft forever preferred_lft foreverbootcmd命令分析setenv bootcmd tftp 0xc2000000 uImage\;tftp 0xc4000000 stm32mp157a-fsmp1a.dtb\;bootm 0xc2000000 - 0xc4000000和开发板内存地址相关内存地址映射表内存分布解析0xFFFFFFFF -------------------- | ... | -------------------- | stm32mp157a.dtb | 0xC4000000 -------------------- | uImage | 0xC2000000 -------------------- | ..... | | ..... | | peripherals | | ROM code | 0x00000000 --------------------$lsuImage-l-rwxrw-rw-1linux linux73618646月1113:44 uImage|0x705548 0xC4000000-0xC20000000x20000000x705548 ---------------------------------....|uImage||stm32mp157a.dtb|....--------------------------------- 0xC2000000 0xC4000000
德尔泰(Delta)宏观研判:穿透360《头号玩家》的底层收割黑盒,数字资产主权危机与法理确权路径 德尔泰(Delta)宏观研判:穿透360《头号玩家》的底层收割黑盒,数字资产主权危机与法理确权路径【前言】一直以来,数字资产圈存在一个“去中心化即绝对安全”的技术乌托邦。然而,近日由国家计算机病毒应急处理中心与360等单位联合发布… 2026/7/12 18:49:16
基于springboot计算机岗位推荐系统 前言 随着计算机行业的快速发展,企业和求职者对于岗位匹配的需求日益增加。传统的招聘方式往往存在信息不对称、匹配效率低等问题。为了解决这些困境,基于Spring Boot的计算机岗位推荐系统 应运而生。该系统旨在通过收集和分析大量的计算机岗位信息和求职… 2026/7/15 19:47:07
AI自动化文档生成工具-Mintlify实操 前言在开源项目迭代日益频繁、技术文档需求激增的当下,一款高效、美观、贴合开发者习惯的文档自动化工具,早已成为团队协作和项目落地的必备利器。上一篇文章中,我们对Mintlify这款文档自动化生成工具做了初步简介,相信经常浏览Gi… 2026/7/12 5:40:57
Dism++:免费开源的Windows系统优化神器终极指南 Dism:免费开源的Windows系统优化神器终极指南 【免费下载链接】Dism-Multi-language Dism Multi-language Support & BUG Report 项目地址: https://gitcode.com/gh_mirrors/di/Dism-Multi-language Dism是一款功能强大的Windows系统优化工具,… 2026/7/15 19:44:48
deepseek导出pdf怎么调顺序?AI 导出鸭一键扭转乱序困局 引言 深夜两点,项目经理李明盯着屏幕上那份长达80页的PDF报告咬牙切齿——明明在DeepSeek里按时间线生成的对话逻辑,导出PDF后章节完全错位:第三章结论跑到了第一章背景之前,附录插在核心数据中间。这不是孤例。在知识工作者群体中… 2026/7/15 19:40:47
2026年高考,邵阳这些口碑好的高考复读学校,你知道几个? 高考是人生的重要转折点,对于一些考生来说,复读是实现梦想的二次机会。在邵阳,有不少口碑良好的高考复读学校,其中邵阳湘郡铭志学校高复部尤为突出。下面就为大家详细介绍一下这所学校以及复读需要关注的要点。一、湘郡铭志学校高… 2026/7/15 19:40:47
kucx实战指南:5个步骤集成不同通信库的完整方案 kucx实战指南:5个步骤集成不同通信库的完整方案 【免费下载链接】kucx ucx provides a unified communication interface to choose between different underlying communication libraries. 项目地址: https://gitcode.com/openeuler/kucx 前往项目官网免费… 2026/7/15 19:38:46
PilotGo-plugin-container与其他容器监控工具对比:为什么它更适合你? PilotGo-plugin-container与其他容器监控工具对比:为什么它更适合你? 【免费下载链接】PilotGo-plugin-container PilotGo container plugin to maintain and monitor container cluster. 项目地址: https://gitcode.com/openeuler/PilotGo-plugin-con… 2026/7/15 19:38:46
UVa 11724 Evaluate the Expression 题目描述 根据给定的 BNF\texttt{BNF}BNF 文法,一个数学表达式由变量(小写字母 a 到 z)、运算符 和 * 以及括号 ( ) 组成,运算遵循常规的优先级规则:括号优先,乘法优先于加法。要求给每个变量赋一个正整数… 2026/7/15 19:38:46
行星减速机的工作原理是什么?从齿轮运动关系到减速比计算 一、行星齿轮机构的组成 标准行星齿轮机构主要包括: 太阳轮; 行星轮; 内齿圈; 行星架。 太阳轮位于机构中心。 多个行星轮围绕太阳轮均匀布置,行星轮内侧与太阳轮外啮合,外侧与内齿圈内啮合。 行星轮通过轴… 2026/7/15 0:03:00
阅读Java开源框架源码的心得分享! 前几日闲来无事有幸看到了一位博主分享自己阅读开源框架源码的心得,看了之后也引发了我的一些深度思考。我们为什么要看源码?我们该怎么样去看源码? 其中前者那位博主描述的我觉得很全了(如下图所示),就不做… 2026/7/15 0:03:00
【LINUX】驱动 【LINUX驱动】【字符设备】【中断】【Platform】【网课 设备树】【GPIO】【PINCTRL】【INPUT】【IIC】【SPI】【网络驱动】【屏幕驱动】【一 设备树】【二 内核模块编译】【三 基本驱动框架】【四 Platform总线设备驱动框架】【五 驱动子系统】【六 综合】 2026/7/15 0:07:01
Git reset 与 revert 深度对比:5个关键差异与 3 种典型应用场景 Git Reset 与 Revert 深度对比:5个关键差异与3种典型应用场景在团队协作开发中,代码版本管理如同行走钢丝——一步失误可能导致整个项目陷入混乱。作为Git进阶用户,你是否曾在深夜面对错误的提交束手无策?是否在强制推送后收到同事… 2026/7/13 8:31:55
GitHub 学生包申请避坑:5个常见失败原因与开发者工具调试方案 GitHub 学生包申请技术排障指南:5个高频失败场景与开发者工具实战方案第一次尝试申请GitHub学生包时,我盯着屏幕上那个不断转圈的加载动画整整15分钟,最终只等来了一行冰冷的错误提示。这可能是许多开发者共同的经历——明明按照教程操作&… 2026/7/14 18:25:04
冒烟测试用例设计规范:5%-10%覆盖率下的3类核心场景与执行标准 冒烟测试用例设计的黄金法则:5%-10%覆盖率下的精准筛选策略在快节奏的敏捷开发环境中,冒烟测试作为质量保障的第一道防线,其重要性不言而喻。当测试资源有限而时间紧迫时,如何从海量测试用例中精准筛选出那关键的5%-10%࿰… 2026/7/14 5:09:41