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

《全志T3》_嵌入式产品Ubuntu操作系统启动详解一

拿到芯片厂商提供的SDK,我们先来看下有哪些东西

SDK目录

1. brandy:Bootloader目录
2. buildroot-201611:工具链、依赖和生产最终烧录包
3. doc:参考文档
4. linux-3.10:操作系统
5. tools:用到的工具
整个工程编译依赖“build.sh"脚本,具体使用可以查看脚本。

启动步骤

  1. BROM 阶段:机器上电后,执行固化在 BROM 里面的引导程序,依次遍历 sd/mmc 卡、nand 和 spinor 等支持的启动介质,找到第一个支持的介质后,从固定位置读入 Bootloader 的 Boot0 到 SRAM,然后跳到 SRAM 执行。

  2. Bootloader 阶段:Bootloader 分为 Boot0 和 Boot1 两部分。Boot0 负责初始化 DRAM,加载 Boot1 到 DRAM;Boot1 进行系统调频,将 CPU 的频率调到用户在 sys_config1.fex target 段配置的 boot_clock,然后加载 U - Boot 到 DRAM。

  3. U - Boot 阶段:U - Boot 引导内核分为两个阶段,第一阶段关闭 I/D cache 和 MMU,重定位 U - Boot 到最高地址;第二阶段有完整的 C 环境,执行平台相关的初始化,初始化存储设备,初始化 fastboot 和 android recovery 等。

  4. 内核启动阶段:调用一系列函数完成处理器信息查找、页表创建、MMU 和 Cache 初始化等操作,最终启动用户空间的 init 进程,完成设备初始化以及外设及其驱动程序的加载和初始化。

http://www.dtcms.com/a/209246.html

相关文章:

  • 云存储迁移遇瓶颈?大文件跨平台传输加速指南
  • 亚马逊搜索代理: 终极指南
  • 双击重复请求的方法
  • JFace中MVC的表的单元格编辑功能的实现
  • Java与Go差别在哪
  • Prompt Tuning:轻量级微调与反向传播揭秘
  • el-dialog 组件 多层嵌套 被遮罩问题
  • 每日Prompt:虚拟世界游
  • 【笔记】JetBrains 数据迁移与符号链接操作
  • Halcon计算点到平面的距离没有那么简单
  • 【Oracle】创建公共数据连接
  • 分布式事务之Seata
  • 【MATLAB代码】扩展卡尔曼滤波估计pmsm的位置误差
  • 如何评估物联网框架的交互体验?
  • 五分钟图解Diffusion扩散模型
  • Qt 的多线程
  • JVM—Java对象
  • Vue3中reactive响应式使用注意事项
  • 港口危货储存单位主要安全管理人员考试题
  • Android正则表达式
  • 技术文档:SINAMICS S120 变频器搭配 GRJ9000S 系列 EMC 电源滤波器
  • 教育行业课件共享难题:大文件分发效率优化方案
  • 【Java高阶面经:消息队列篇】22、消息队列核心应用:高并发场景下的解耦、异步与削峰
  • 龙虎榜——20250523
  • 继续对《道德经》第57章至第81章进行数学形式化建模
  • 今日打卡,Leetcode第四题:寻找两个正序数组的中位数,博主表示就会sorted
  • 若依 Plus 自定义字典的使用
  • 如何设置名称服务器
  • 2025年5月软考系分论文预测
  • 【解决】GIT空文件夹不被追踪导致的分支污染