当前位置: 首页 > news >正文

嵌入式远程加载linux系统

文章目录

  • 准备工作
  • 配置uboot环境变量
  • bootargs命令分析
  • bootcmd命令分析
    • 内存地址映射表
    • 内存分布解析
  • 网络加载Linux系统的方式不会影响MMC设备原有的Linux系统
  • 适合于linux系统移植调试场景

准备工作

  • 准备uImagestm32mp157a-fsmp1a.dtb、和rootfs.tar
  • 安装配置tftp和nfs服务环境
  • rootfs.tar解压到/nfs/rootfs,uImagestm32mp157a-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/nfsnfsroot=192.168.9.120:/nfs/rootfs,proto=tcp,nfsvers=3rw clk_ignore_unusedconsole=ttySTM0,115200 /init=/linuxrcip=192.168.9.210 setenv bootcmd tftp 0xc2000000 uImage\;tftp 0xc4000000 stm32mp157a-fsmp1a.dtb\;bootm 0xc2000000 - 0xc4000000 saveenv
  • 重启,自动加载系统
FSMP1A>reset

bootargs命令分析

setenv bootargs root=/dev/nfs nfsroot=192.168.9.120:/nfs/rootfs, proto=tcp, <----使用TCP协议 nfsvers=3 <----使用第三个版本 rw <-------------读写权限 clk_ignore_unused <---------忽略未使用的时钟源 console=ttySTM0,115200 <----控制台与波特率 /init=/linuxrc ip=192.168.9.210 <----开发板的IP
  1. console=ttySTM0,115200:指定系统控制台为ttySTM0,波特率为115200。
# ls /dev/ttySTM0/dev/ttySTM0
  1. /init=/linuxrc:指定初始化进程为/linuxrc
# ls /linuxrc/linuxrc
  1. ip=192.168.9.210:设置设备的IP地址为192.168.9.210
# ipaddr1: lo:<LOOPBACK,UP,LOWER_UP>mtu65536qdisc 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_UP>mtu1500qdisc 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 forever

bootcmd命令分析

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 linux736186461113:44 uImage|0x705548 0xC4000000-0xC2000000=0x2000000>0x705548 +--------+--------+-----------------+....|uImage||stm32mp157a.dtb|....+--------+--------+-----------------+ 0xC2000000 0xC4000000
http://www.jsqmd.com/news/422232/

相关文章:

  • 2026知网新规下论文降AI指南:5款国内外降低AIGC率工具深度实测
  • 包含免费降AI教程:2026知网新规下的5款降低AIGC率工具深度实测
  • 嵌入式Linux系统启动流程
  • 【2026知网新规】如何有效降低论文AI率?5款国内外降AIGC工具实测与教程
  • 接入智能家居,Home Assistant简介
  • 引导程序uboot
  • @anthropic-ai/claude-code 交互,及常用命令清单
  • 配置ftfp服务和nfs服务
  • 2026年1月文章一览
  • 嵌入式Linux映像文件组成
  • 嵌入式Linux系统移植
  • why Latin letters never play well。
  • 东方博宜OJ 1152:求n个数的最大值和最小值 ← 数组
  • Eisai推出肾癌患者数字化支持平台
  • 学术写作必备工具指南:详解六种基于AI技术的智能论文引用标注方法
  • 8款论文写作工具提供自动目录生成和内容优化功能,大幅提升研究效率
  • 如何获取微信公众号的 Access Token
  • 智能论文写作工具整合目录自动生成与内容优化,助力研究更高效省时。
  • JIPB项目文章|DAP-seq助力解析大豆转录因子在种子含油量中的调控作用
  • 字符串作业
  • WPF引导定位软件-定位纠偏(带角度)
  • 基于springboot计算机科学拔尖学生培养基地系统
  • AI自动化文档生成工具-Mintlify简介
  • 基于springboot计算机岗位推荐系统
  • 德尔泰(Delta)宏观研判:穿透360《头号玩家》的底层收割黑盒,数字资产主权危机与法理确权路径
  • AI自动化文档生成工具-Mintlify实操
  • 基于springboot课外学习生活活动平台
  • Blender-MCP服务源码6-Blender插件运行
  • 2026-02-28 闲话
  • 基于springboot课程管理系统