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

嵌入式相关基础

一.常见的芯片类型

1.微控制器(MCU)

(1)STM32

主频(MHz)内核Flash(Kbytes)Ram(Kbytes)封装ADC channels

DAC

channels

SPI
STM32F407ZG168ARM Cortex-M4f1024192LQFP1442423
STM32F407ZE168ARM Cortex-M4f512192LQFP1442423
STM32F407VE168ARM Cortex-M4f512192LQFP1001623
STM32F103ZE72ARM Cortex-M351264LQFP1442123
STM32F103C872ARM Cortex-M46420LQFP481002

(2)RA6M5

RA6M5的晶振为24MHz,拥有2MB的代码闪存

2.系统级芯片(SoC)

(1)I.MX6ULL

I.MX6ULL是一款基于ARM Cortex-A7内核的高性能应用处理器,采用ARMv7-A架构,主频可达900MHz。

(2)RZ/G2L双核A55芯片

(3)RK3588

3.数字信号处理器(DSP)

4.现场可编程门阵列(FPGA)

5.应用特定集成电路(ASIC)

二.指令集

1. RISC

2. CISC

二.架构

1.ARM架构

1)

ARMv7架构

ARM架构寄存器包括31个通用寄存器和6个状态寄存器,

2)通用寄存器组
R0-R3传递参数与返回值这些寄存器主要用于传递子程序的参数以及存放函数的返回值。在子程序调用之间,它们可以被用于任何用途,且被调用的函数在返回之前不必恢复这些寄存器的原始值。
R4-R11局部变量存储这些寄存器通常用于保存函数的局部变量。如果一个被调用的函数使用了这些寄存器,那么它在返回之前必须恢复这些寄存器的值,以便调用者能够在返回后继续使用未改变的值。
R12内部调用暂存器ip这个寄存器作为子程序间的scratch寄存器,主要用于过程链接胶合代码中。在过程调用之间,可以将它用于任何用途,并且被调用的函数在返回之前不必恢复它的值。
R13栈指针sp这个寄存器用作栈指针,指向当前的栈块限制或它的上面,用于临时数据的存储等。它不能被用于其他用途,并且在退出被调用的函数时,其内存储的值必须与进入时的值相同。
R14连接寄存器lrR14寄存器也被称为连接寄存器,主要用于保存子程序以及中断的返回地址。如果您保存了返回地址,则可以在调用之间将R14用于其他用途,但程序返回时要恢复其原始值。
R15程序计数器PCR15是程序计数器,它总是包含下一个要被执行的指令的位置。由于ARM采用了流水线机制,当正确读取了PC的值后,该值为当前指令地址加8个字节,即PC指向当前指令的下两条指令地址。

2.MIPS架构

MIPS架构以其简洁和高效的RISC设计闻名。RISC定义了一种处理器设计的范式,而MIPS是这种范式下的一个具体产品

3.x86架构

x86架构由英特尔公司开发,因其强大的兼容性和广泛的软件支持而在全球范围内得到广泛使用。这种架构的处理器能够运行多种操作系统,包括Windows和Linux。

4.PIC架构

PIC微控制器因其低成本和低功耗特性而广受青睐,在简单的嵌入式应用中得到广泛应用。

5.RISC-V架构

三.内核

Cortex-M3
Cortex-M4
Cortex-M7
Cortex-A7
Cortex-M33
Cortex-A55

四.STM32,PC端Linux和嵌入式中Linux的启动流程

五. PC端Linux和嵌入式端Linux

1.引导加载程序

PC端Linux系统通常不使用U-Boot作为引导加载程序,而PC端常用的是GRUB或LILO这样的引导加载程序。接下来详细讲述一下U-Boot:

U-Boot目录分布

arch/该目录包含了针对不同处理器架构的特定代码和配置文件,例如arch/arm/目录包含了针对ARM架构的代码
board/该目录包含了各种嵌入式开发板的配置文件和支持代码,每个开发板通常有一个对应的子目录
common/该目录包含了通用的U-Boot代码和功能,适用于多个处理器架构和开发板
configs/该目录包含了不同开发板的配置文件,可以根据需要选择合适的配置文件进行编译和定制。
doc/该目录包含了 U-Boot 的文档和说明,包括使用手册、开发指南等。
drivers/该目录包含了硬件设备驱动程序,用于支持各种外设和接口,如串口,网络,存储等
include/该目录包含了U-Boot的头文件,定义了各种数据结构,宏和函数原型
tools/该目录包含了一些辅助工具和脚本,用于编译,烧录和调试U-Boot
configs/该目录包含了各种开发板的配置文件,可以根据需要选择合适的配置文件进行编译和定制
MakefileU-Boot的主要Makefile,用于编译和构建U-Boot

这只是 U-Boot 目录结构的一些常见示例,实际的目录结构可能会因版本和配置而有所变化。在 U-Boot 的源代码中,可以找到更详细的目录结构和文件。

U-Boot启动引导过程

U-Boot 的引导启动过程包括上电初始化、加载 U-Boot、U-Boot 初始化、命令行界面、加载操作系统和启动操作系统等步骤

http://www.lryc.cn/news/375668.html

相关文章:

  • 无线麦克风推荐哪些品牌?一文读懂家用无线麦克风哪个牌子好!
  • 构建SOA架构时应该注意的问题
  • 动手学深度学习(Pytorch版)代码实践 -深度学习基础-13Kaggle竞赛:2020加州房价预测
  • 编程输出中间变量:深度解析与实战应用
  • 冒泡排序、选择排序
  • 嵌入式实训day6
  • 产品经理是青春饭吗?终于有了答案!
  • FPGA - 数 - 加减乘除
  • 软件性能测试之负载测试、压力测试详情介绍
  • 科研辅助工具
  • 亿达中国武汉园区入选“武汉市科技金融工作站”及“武汉市线下首贷服务站”
  • Docker配置阿里云加速器(2续)
  • 我用chatgpt写了一款程序
  • Python实现逻辑回归与判别分析--西瓜数据集
  • 课时154:项目发布_手工发布_手工发布
  • 鸿蒙开发 一 (四)、ArkTS开发 --UI篇
  • 影音发烧友必入:高清先生M8 8K蓝光播放机使用体验8K播放器
  • 【34W字CISSP备考笔记】域1:安全与风险管理
  • Camtasia Studio 2024软件下载附加详细安装教程
  • 人工智能(AI)与机器学习(ML):塑造未来的技术引擎
  • post为什么会发送两次请求详解
  • MySQl基础入门⑯【操作视图】完结
  • Android Root全教程
  • 对yoloV8进行标签过滤来实现行人检测
  • 论文阅读笔记:Towards Higher Ranks via Adversarial Weight Pruning
  • 目前常用的后端技术
  • windows如何查看硬盘类型(查看磁盘类型)(查看是固态硬盘ssd还是机械硬盘hdd)(Windows优化驱动器——媒体类型)
  • Java学习 (一) 环境安装
  • **args和**kwargs是什么?
  • 【STM32】GPIO简介