当前位置: 首页 > 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 进程,完成设备初始化以及外设及其驱动程序的加载和初始化。

相关文章:

  • 云存储迁移遇瓶颈?大文件跨平台传输加速指南
  • 亚马逊搜索代理: 终极指南
  • 双击重复请求的方法
  • JFace中MVC的表的单元格编辑功能的实现
  • Java与Go差别在哪
  • Prompt Tuning:轻量级微调与反向传播揭秘
  • el-dialog 组件 多层嵌套 被遮罩问题
  • 每日Prompt:虚拟世界游
  • 【笔记】JetBrains 数据迁移与符号链接操作
  • Halcon计算点到平面的距离没有那么简单
  • 【Oracle】创建公共数据连接
  • 分布式事务之Seata
  • 【MATLAB代码】扩展卡尔曼滤波估计pmsm的位置误差
  • 如何评估物联网框架的交互体验?
  • 五分钟图解Diffusion扩散模型
  • Qt 的多线程
  • JVM—Java对象
  • Vue3中reactive响应式使用注意事项
  • 港口危货储存单位主要安全管理人员考试题
  • Android正则表达式
  • WordPress做漫画网站/在线收录
  • 东莞南城做网站/网络营销的实现方式包括
  • 电子商务网站建设与管理感想/营销推广活动策划书模板
  • 南昌做网站要多少钱/百度售后客服电话24小时
  • 免费做相册video的网站/seo人才网
  • 做自己网站彩票/网站流量统计分析的维度包括