嵌入式开发入门

文章介绍了嵌入式开发的重要性,特别是STM32在这一领域的应用。STM32F103C8T6芯片被选为学习对象,详细阐述了其系统结构,包括内核、总线系统、内存和外设如FLASH、SRAM、RCC和SDIO。文章还提及了总线结构中的IIC、SPI、CAN等,并解析了STM32的启动配置和最小系统电路。
摘要由CSDN通过智能技术生成

嵌入式

对于嵌入式软硬件开发的一点看法:

  1. 硬件开发作为IT人的就业研究方向,也是不少发烧友、DIY爱好者的兴趣所向
  2. 物联网、人工智能、AIOT也是科技社会发展的必定趋势
  3. 学好嵌入式开发即可作为未来的就业选择,也可以作为兴趣爱好发展自身技能

开发板芯片选择

目前主流的一些芯片、开发板都可作为我们学习嵌入式的选择

  • stm32
  • esp32
  • esp8266
  • 51单片机

以及树莓派、香橙派、Arduino等

目前我的专业也开设嵌入式开发与传感器(基于stm32)课程,所以准备选择学习stm32F103C8T6芯片

1 STM32微控制器结构

1.1 STM32系统结构

系统结构图:image-20230305205030300

STM32主系统主要由四个驱动单元和四个被动单元

四个驱动单元:①内核DCode总线 ②系统总线 ③通用DMA1 ④通用DMA2

四个被动单元:①AHB到APB的桥:连接所有的APB设备 ②内部flash闪存 ③内部SRAM ④FSMC

端口及外设:

①Cortex-M3内核:它是STM32F103的内核,也就是CPU。除掉这个部件,其他部件都是片上外设,注意是片上的,也就是那块我们肉眼所见的芯片里的外设。这个部件可以操纵队列,依靠的是强大的数字运算能力和强大的总线设计。在阵列中,数据的运算都它给来做。

②Bus-Matrix:Bus-Matrix的功能是管理总线。在阵列中,方阵Bus-Matrix作为中建管理,减少了资源的浪费,增加了系统的简洁有序性,降低了信息传输的错误率。

③FLASH:来记载指令和常量。(我们都知道程序下载到Flash里后是掉电不失去的。)

④SRAM:处理变量和堆栈记录,且变量更改方便快速。(我们都知道SRAM是掉电丢失的,但是数据读写真的很快。)

⑤RCC:用于管理外设方阵的作息(在STM32里,我们要使用某个片上外设,都得先开RCC。)

⑥SDIO:Flash和SRAM的能力有限,而SD卡的容量很大,SDIO就是专门用来与SD卡沟通的接口。

1.2 总线结构

嵌入式系统中常见的总线由IIC总线、SPI总线、CAN总线、ISA总线、PCI总线

本芯片中总线系统包括

①ICode总线:该总线将M3内核指令总线和闪存指令接口相连,指令的预取在该总线上面完成。

②DCode总线:该总线将M3内核的DCode总线与闪存存储器的数据接口相连接,常量加载和调试访问在该总线上面完成。

③系统(System)总线:该总线连接M3内核的系统总线到总线矩阵,总线矩阵协调内核和DMA间访问。

④DMA总线:该总线将DMA的AHB主控接口与总线矩阵相连,总线矩阵协调CPU的DCode和DMA到SRAM,闪存和外设的访问。

⑤总线矩阵:总线矩阵协调内核系统总线和DMA主控总线之间的访问仲裁,仲裁利用轮换算法。

⑥AHB/APB桥:这两个桥在AHB和2个APB总线间提供同步连接,APB1操作速度限于36MHz,APB2操作速度全速(72MHz)。

1.3 引脚定义

image-20230305213052375

image-20230305213112090

1.4 启动配置

image-20230305230127565

1.5 最小系统电路

image-20230305230802001

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜小田

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值