百问网7天物联网智能家居Day2-学习笔记-嵌入式STM32上手思路和STM32存储结构

一、上手思路

1、上网查芯片型号,了解一些基础概念,之后上官网(意法半导体公司)查找相关资料,主要查看产品规格书(芯片手册),其中包含芯片总体描述,引脚描述,电器特性等;参考手册,用于编写代码是查阅。

2、从零开始学比较费劲,一般建议在淘宝购买相应开发版以及配套资料学习参考,参考资料里一般包含有硬件原理图和一些基础程序代码,通过原理图可以分析硬件(从最小系统开始分析),通过程序代码和参考手册编写程序

二、最小系统

1、最小系统的定义:用最少的电路组成单片机可以工作的系统,一般包含电源电路,时钟电路,复位电路,调试下载电路和启动选择电路。

三、外设和寄存器

1、常见外设以及主要程度,主要通过外设寄存器控制外设

2、存储结构

stm32f103c8t6寄存器地址是重0X0000 0000-0XFFFF FFFF,大小一共是4GB,也就是32位CPU能访问的范围,其中0X0000 0000-0X2000 0000地址范围内,0X0000 0000-0X0800 0000是Flash地址范围,用与存放代码,系统上电后,从Flash里读取代码,0X2000 0000是SRAM地址起始范围,存放代码运行过程中产生的零时数据变量

0X4000 0000是外设地址,其中包括GPIO、串口、DMA等地址,0XE000 0000-0XE010 0000是cortexM3内部外设寄存器地址,如中断向量表、系统滴答时钟寄存器地址都在此范围内

四、操作步骤示例

    举个例子,比如我们想要通过PA1输出高电平使LED灯被点亮,操作步骤如下

1、查看数据手册中的存储结构图,找到PA1对应的GPIO接口的地址范围,查表可知是0X4001 0800-0X4001 0C00

2、根据参考手册查看地址范围为0X4001 0800-0X4001 0C00的详细信息,见下图,该地址范围内有七个寄存器,每一个寄存器作用效果不同,通过控制其中的某个寄存器就可以修改GPIOA不同引脚的输出值,达到控制效果,具体请详细阅读参考手册。

五、单片机的开发方式

1、使用汇编操作寄存器(最开始使用,执行效率高但是编写难度大,移植性低)

2、使用C语言操作寄存器(执行效率中等,但其编写效率低,移植性差)

3、使用库开发,库开发有两类,

一类是标准库(执行效率较低,但编写效率高,移植性一般),发布较早,教程多,缺陷是没有一致性,只针对某一块或者几块芯片,不同芯片可能库函数不一样,移植难,官网现在已经停止更新标准库了。

一类HAL库(执行效率较低,但编写效率高,移植性好),支持所有st芯片,移植性好,现在基本都是用HEL库开发芯片。

六、创建工程

1、自定义创建工程,优点是定制化程度高干净简练,缺点是前期配置难度高,需要一定经验

2、使用STM32CubeMX创建工程,其优点是上手难度低,可视化方便,缺点是按照指定规则编写代码,代码注释多且不能随便删除。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

myplybk

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

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

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

打赏作者

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

抵扣说明:

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

余额充值