| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 基于Linux的--裸机启动流程 -> 正文阅读 |
|
[系统运维]基于Linux的--裸机启动流程 |
1、裸开发板 --- 7寸 屏幕800*480(32bit) 串口线: CPU: ??? 三星的Exynos4412 ??? 四核的CPU ??? 主频 1.4 GHZ ??? 内部自带:64KB i_ROM(不丢失) ??? 内部再带:256KB i_RAM(丢失) 开发板: ??? 友善之臂的Tiny4412 开发板 开发板的资源:
现在市场上的芯片大部分架构 ??? 一般都是 ARM架构的 ??? ARM:三大系列
A系列的芯片除了芯片的频率高,DSP/解算/AI能力很强,外设是很弱的!它只有一些基本外设,一个SPI ,两个定时器。 裸机:指的是一个没有操作系统的硬件系统! 三个阶段的启动流程?三星自带了一个 IROM——64KB ??? 不是让用户用的,这个空间是芯片厂商他预留给自己用的空间,已经存储了厂商出场的代码,不可访问不可修改,且加密!它把该空间的代码叫做 irom_code,通常把它称为 BL0? 第一个阶段,上电就会自动运行的代码! BL0做了以下操作:(第一阶段运行的是BL0)
??????? 它就会寻找下一阶段代码去运行,从启动的存储介质的特殊位置下载第二阶段代码,运行到 SRAM(256)空间中。使命结束,开始运行第二阶段代码。 ??? * 总结两句话 :BL0 开始各种初始化,BL0 引导出了BL1 BL1 在SD 卡的第一个扇区 ??? *?它做了以下操作:
??? * 因为该阶段的代码也是三星提供的,只提供了一个加密后的二进制文件 BL2阶段:(Uboot--启动文件) ? ? 它在SD卡第17扇区处开始 ? ? BL2做了以下操作:
编译编译一个代码需要编译器! 编译器:将你写的代码转为汇编再转成二进制代码的软件 安装交叉编译工具 安装:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 14:45:13- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |