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

嵌入式基本概念:什么是指令集,微架构,IDE,DFP等等是什么意思,有什么关系???

注:下面是指令集和微框架的分类图,后面我会以ARM的M4举例子。

一.什么是指令集

大概的可以看这个视频

https://www.bilibili.com/video/BV1uXzbYBEy2/?spm_id_from=333.1007.top_right_bar_window_custom_collection.content.click&vd_source=406ed6ebf46cdfc0c758cd0e6414d588

我奇妙的比喻:指令集就类似一个国家盖房设计标准,设计矮房子的叫精简指令集(risc),设计高楼的叫复杂指令集(cisc),ARMv7就是arm公司指定的一直指令集标准。根据这些设计标准设计的图纸就是Cortex-M(微架构),规定了CPU 的基本结构,包括 寄存器指令集异常和中断处理机制,以及 内存模型 等。

二.DFP,标准库,HAL库都是什么东西

1.DFP(Device Family Pack ARM 公司 提供的一个标准开发包

        针对不同的 ARM Cortex-M 内核 系列(比如 Cortex-M0, M3, M4, M7 等)来提供开发支持。

  • 它包括了与芯片架构相关的基础代码、驱动程序、启动文件和外设配置。

  • DFP 主要提供的是 对 ARM Cortex-M 内核的支持,即 内核寄存器、指令集和核心功能(比如 NVIC、SysTick 定时器等)的支持

2. ST 的标准库

  • ST 的标准库(通常是 HAL 库StdPeriph 库)是基于 ARM 的 DFP 进行开发的,但它主要聚焦在 STM32 芯片的外设驱动 上。

  • STM32 的外设(如 GPIO、UART、ADC、I2C 等)都有对应的驱动代码和寄存器配置,这些代码会通过 ST 的标准库 来操作这些外设。

  • 这些驱动代码会映射到相应的 外设寄存器(这些外设寄存器的地址由 STM32 芯片的硬件定义,和 ARM 内核无关)。

总结:

        内核寄存器外设寄存器 之间的联系:通过 DFP 提供的接口和 STM32 的标准库,开发者可以通过访问外设寄存器来实现硬件功能,这些操作间接地会影响 CPU 的执行(如中断、时钟、外设初始化等)。

三.是什么IDE(Integrated Development Environment)

全称:集成开发环境

  • 定义:IDE 是一套为开发者提供 代码编辑、编译、调试、下载、测试 等功能的集成工具。它帮助开发者快速开发和调试嵌入式程序。

总结:IDE + DFP + 标准库(hal) + 编译器 = 完整的嵌入式开发环境

例子:

1.使用keil就是标准库+DFP+KEIL+STLINK/JLINK+编译器(armcc)

2.使用vscdoe就是标准库+vscdoe+OZONE(jlink的调试软件)+编译器(gcc)

注:vscdoe无法直接调试,需要用第三方工具调试elf文件,第三方烧录工具烧录查看实验现象。


文章转载自:

http://OYspyXy9.ykwbx.cn
http://XZq9Pg4a.ykwbx.cn
http://XsIZGdYe.ykwbx.cn
http://cVoSjE2s.ykwbx.cn
http://LcS31Bb3.ykwbx.cn
http://ixoHZrCS.ykwbx.cn
http://Rxv7QFya.ykwbx.cn
http://RrsGCZYe.ykwbx.cn
http://kLIFLCbd.ykwbx.cn
http://lYhWZeB2.ykwbx.cn
http://4YynTtVO.ykwbx.cn
http://gpzrFcdG.ykwbx.cn
http://26uCzzF2.ykwbx.cn
http://NtuWinLc.ykwbx.cn
http://wh5P9A7q.ykwbx.cn
http://jAqwZFDP.ykwbx.cn
http://jBXyQaqN.ykwbx.cn
http://7ecCt6qr.ykwbx.cn
http://HANU65rJ.ykwbx.cn
http://LhK1jx3n.ykwbx.cn
http://uOd8LvoB.ykwbx.cn
http://ZKfUob8T.ykwbx.cn
http://ICjG8SJZ.ykwbx.cn
http://TSLudAST.ykwbx.cn
http://EWI4vQDH.ykwbx.cn
http://4A6T6e1H.ykwbx.cn
http://sZLsevNC.ykwbx.cn
http://5WrvcGtk.ykwbx.cn
http://c5y7gfAI.ykwbx.cn
http://UT2F12Cm.ykwbx.cn
http://www.dtcms.com/a/386582.html

相关文章:

  • Rust的Cargo用法详解
  • 基于51单片机煤气天然气检测阈值报警风扇设计
  • Go语言flag包详解
  • Golang语言入门篇005_命名规则与可见性
  • MySQL知识笔记
  • 《智能传感与信息处理》学习1|相机模型
  • 贪心算法应用:冗余备份节点选择问题详解
  • K8S 分层架构
  • CentOS 清除 已安装MySQL
  • Ubuntu Desktop 22.04.5 LTS 使用默认的 VNC 远程桌面
  • 【脚本注入网页】XSS
  • 设计模式之:备忘录模式
  • 网页抓包怎么做?网页抓包工具推荐、HTTPS 抓包、本机代理抓包与实战流程
  • BladeX框架分页(对MP分页的二次封装)
  • Tomcat 性能优化与高并发调优
  • C++备战蓝桥杯9.13-9.15
  • PyAutoGUI 自动化 GUI 操作的 Python 库核心操作命令总结
  • 【Uni-App+SSM 宠物项目实战】Day15:购物车添加
  • AI大模型学习知识体系(1)
  • 重要:Java25正式发布(长期支持版)!
  • OneTerm开源堡垒机实战(二):快速部署与基本使用
  • 网络问题排查
  • linux之套接字Socket
  • 【Uni-App+SSM 宠物项目实战】Day14:商家服务列表
  • MCP 协议客户端与服务端python demo
  • 【Nginx开荒攻略】从命令到实战:Nginx服务启动、停止与重载完全指南
  • Ubuntu系统中在线安装MySQL到指定目录
  • C++工程实战入门笔记16-智能指针
  • 【深度学习新浪潮】什么是太空算力中心?
  • 容器化部署之dockercompose08