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

驱动 (一) Linux 系统移植

一、Linux 系统移植所需文件

  1. uboot:一段逻辑代码,核心功能为初始化硬件外设与加载内核,是系统启动的 “先行官”。
  2. zImage:承担着内存管理、任务管理、多任务间通信、网络管理以及文件系统管理等关键功能,是系统运行的核心软件。
  3. dtb(设备树文件):与内核配合使用,包含硬件信息,为内核识别硬件提供依据。
  4. rootfs(文件系统):实现与用户的交互,涵盖 shell 命令、库文件,且因 Linux 系统 “一切皆是文件”,它还能实现对设备的操作以及内核信息的查看。

二、IMX6ull SOC 资源

IMX6uLL - Mini 平台分为核心板(系统启动必备资源)和底板(外设资源)。

核心板包含:

  • IMX6uLL 芯片:内部有 32K ICache(指令缓存)、32K DCache(数据缓存)、128K L2Cache(指令和数据缓存)、128K SRAM(初始化 DDR 前可使用的无需初始化的内存空间)、96k BotROM(厂家固化的启动代码)。
  • DDR 芯片(512M):内存,掉电数据丢失,但读写速度快。
  • EMMC 芯片(8G):EMMC 分为 EMMC0 和 EMMC1,其中一个是核心板上的 8G EMMC 芯片,另一个是底板 SD 卡(32G)对应的 EMMC。

三、IMX6uLL 启动方式

  • USB 启动:驱动后,需通过 PC 经 USB 传输系统文件给开发板完成启动,适用于硬件平台无系统时的首次启动。
  • SD 卡启动:系统烧录到 SD 卡后由 SD 卡启动,常用于平台代码开发调试或检测硬件平台好坏。
  • EMMC 启动:系统烧录到 EMMC 后由 EMMC 启动,可实现开发板随系统自启动。
  • NAND 启动:暂无法实现,即不能将系统烧录到 Nand Flash 并由其启动。

四、烧录方法

  1. Windows 下烧录到 SD 卡:使用 NXP 的 mfgtool 工具。
  2. Windows 下烧录到 EMMC。
  3. Ubuntu 下烧录到 SD 卡。
  4. Ubuntu 下烧录到 EMMC。
  5. tftp + nfs 网络启动:通过网络传输文件实现启动。

五、IMX6uLL 启动流程

  1. 上电启动,执行 0x0 处的代码,经中断向量表进入复位异常,跳转至对应函数启动。
  2. 执行 IMX6ull 内部 96k 的 BotROM 代码:完成 CPU 信息校验;查看启动方式;依据启动方式寻找可执行代码(IVT + BOOT DATA [uboot.bin] + DCD [DDR 寄存器信息]);BotROM 代码找到 DCD 并初始化 DDR;将 uboot.bin 拷贝到 DDR 中运行。
  3. uboot 阶段:重新设置中断向量表位置(借助协处理器 CP15);初始化串口、网口、EMMC 等硬件外设;加载引导内核启动:uboot 自搬移以腾出内存空间;从 EMMC 查找 zImage 和 DTB 文件(或通过 tftp 从服务器下载)并加载到 DDR;通过 bootz 命令启动内核 zImage;uboot 将文件系统相关参数 bootargs 写入设备树的 choosen 节点;uboot 向内存传参(r0 为固定值、r1 为 CPU ID 号、r2 为设备树内存地址);内核根据设备树信息重新初始化外设;内核找到 choosen 节点查找文件系统位置;内核引导启动文件系统中的内核进程,通过 fork + exec 启动其余所有进程任务,其中包含 shell 终端进程;最终系统启动完成,进入人机交互界面。

六、uboot

功能

  • 初始化硬件外设。
  • 引导启动内核。

工作流程

初始化 i2c、DDR、EMMC、Serial、Net 等;进入人机交互环节:用户输入回车可进入 uboot 系统并输入命令交互;若用户不输入回车,uboot 会执行 bootcmd。

重点问题

  1. Linux 系统移植所需文件及作用:前文 “一、Linux 系统移植所需文件” 已详细说明。
  2. Linux 系统启动流程:前文 “五、IMX6uLL 启动流程” 已详细阐述。
  3. uboot 中 bootcmd 和 bootargs 的含义:bootcmd 是 uboot 默认执行的命令,用于自动引导系统;bootargs 是传递给内核的参数,包含文件系统等相关信息,帮助内核找到并挂载文件系统。
http://www.dtcms.com/a/396796.html

相关文章:

  • 吉林省住房建设安厅网站安全管理wampserver做的网站
  • 邢台做移动网站公司电话我的家乡网站建设模板
  • 导航网站优化做网站像素大小
  • 东莞网站建设哪家专业wordpress头部信息
  • 科普网站建设的支持力度海口网站建设公司哪家好
  • 个人网站模板吧网站建设哪里专业
  • 投稿网站源码网站建设时怎么附加数据库
  • 涿州做网站公司江门公司网站建设
  • 深圳 学习网站天门市城市建设管理局网站
  • 好看的企业网站首页网站不收录
  • 如何做网站呢优化站点
  • 代理怎么做百度快照优化推广
  • 网站更换内容126企业邮箱注册申请
  • 模板建站影响网站的优化排名哪些网站可以免费做产品推广
  • 哪个公司做网站好注册一个500万的公司需要多少钱
  • MATLAB7-数值微积分-台大郭彦甫
  • wordpress查看自己网站的ip量做公司 网站建设价格低
  • 做普通网站价格室内设计公司平面图
  • 做网站等保收费wordpress加导航菜单
  • 宁夏网站建站wordpress图片延时加载
  • 四川建设数字证书网站网站建设微信公众号小程序app
  • 付网站建设服务费记账重庆公司注册服务
  • 网站建设必备重庆市建筑工程造价信息网
  • 360网站卖东西怎么做的建筑公司起名字寓意好的字
  • 域名申请而完成以后怎么做网站庆阳网站设计公司
  • 大连市营商环境建设局门户网站wordpress图像描述
  • 网站建设工作稳定吗龙岗网站建设 公司推广
  • 制作网站规划书卖东西的网站有哪些
  • 网站分析 工具温州网站设计网站建设网站
  • 网站开发思维导图电脑 手机 微信网站开发