打印
[STM32]

STM32 CUBE开发学习贴

[复制链接]
1732|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
吴放|  楼主 | 2018-6-11 11:57 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
沙发
吴放|  楼主 | 2018-6-11 12:01 | 只看该作者
主要是通过阅读《STM32库开发实战指南》进行学习,但是书中的开发方式主要是通过标准库开发,与CUBE开发方式有差异,需要自己改动一些程序。不过《STM32库开发实战指南》还是比较推荐,写的很好。

使用特权

评论回复
板凳
吴放|  楼主 | 2018-6-11 12:09 | 只看该作者
该书已上传21IC网的资料库,等审核通过,就将链接贴过来,不需要积分哦!

使用特权

评论回复
地板
吴放|  楼主 | 2018-6-11 12:09 | 只看该作者
全书分为四个部分,第一部分是库开发初级篇,嵌入式工程师成长之路和库的了解和GPIO的学习。
第二部分是库开发中级篇,讲解外设使用;
第三部分是库开发高级篇,各个外设的实战演练,如MP3等,属于项目实战;
第四部分是库开发系统篇,这是嵌入式系统开发的必经之路,讲解uC/OS最新版本在STM32中的移植。

使用特权

评论回复
5
吴放|  楼主 | 2018-6-11 12:16 | 只看该作者
第一部分:库开发初级篇
1、嵌入式职业规划
如果职业规划是系统架构师,需要熟悉整个嵌入式领域,能够协调不同领域的开发工程师进行项目开发。
1) 适应使用固件库的开发方式,加强运用C语言的能力,建立工程意识;
2) 熟悉Cortex-M系列芯片架构,了解CMSIS标准,熟悉STM32的总线架构;
3) 掌握I2CSPISDIOCANTCP/IP等各种通信协议。

嵌入式知识结构.png (187.01 KB )

嵌入式知识结构

嵌入式知识结构

嵌入式职业道路.png (212.84 KB )

嵌入式职业道路

嵌入式职业道路

使用特权

评论回复
6
吴放|  楼主 | 2018-6-11 12:28 | 只看该作者
2、STM32固件库
STM32库是由ST公司针对STM32提供的函数借口,即API。开发者可调用这些函数接口来配置STM32的寄存器。库是架设在寄存器与用户驱动层之间的代码,向下处理与寄存器直接相关的配置,向上为用户提供配置寄存器的接口。
CMSIS标准
ARM公司出售其芯片技术授权,ST公司与其他芯片生产商如TI,负责设计的是在内核之外的部件,被称为核外外设或片上外设、设备外设。如芯片内部的模数转换外设ADC、串口UART、定时器TIM等。
内核和外设,类似于PC上的CPU与主板、内存、显卡、硬盘的关系。
因为基于Cortex的系列芯片采用的内核都是相同的,区别主要为核外的片上外设的差异,为解决不同芯片厂商生产的Cortex微控制器软件的兼容性问题,ARM与芯片厂商建立了一个CMSIS标准(cortex Microcontroller software Interface standard)。
CMSIS标准中最主要的是CMSIS核心层,它包括:
内核函数层:其中包含用于访问内核寄存器的名称,地址定义,主要有ARM公司提供;
设备外设访问层:提供片上的核外外设的地址和终端定义,主要有芯片厂商提供。
(类似于板级的配置层,有板级开发者提供,提供板级的外设定义)
针对STM32F10x库,关于内核和外设的库文件主要有以下内容:
(1)Core_cm3.C文件
该文件的作用是为采用Cortex-M3核设计SOC的芯片商设计的芯片外设提供一个进入CM3内核的接口。
(2)System_stm32f10x.c文件
devicesupport文件夹下的是启动文件、外设寄存器定义和中断向量定义层的一些文件,由ST公司提供。该文件的功能是内置系统时钟和总线时钟。
(3)stm32f10x.h文件
   Stm32f10x.h是非常底层的文件。包含STM32寄存器地址和结构体类型定义。
(4)启动文件
   启动文件是任何处理器在上电复位之后最先运行的一段汇编语言。
(5)STM32F10x_stdperiph_driver文件夹
   该文件夹下有incsrc两个文件夹,属于CMSIS的设备外设函数部分。Src里面是每个设备外设的驱动程序,这些外设是芯片制造商在cortex-M3核外加进去的。这两个文件夹中还有一个很特别的misc.c文件,在配置中断时,我们必须把这个文件添加到工程中。
(6)stm32f10x_it.cstm32f10x_conf.h文件
   Stm32f10x_conf.h文件可以配置是否使用断言编译选项。

寄存器和库开发对比图.png (95.02 KB )

寄存器和库开发对比图

寄存器和库开发对比图

内核和外设的关系.png (111.01 KB )

内核和外设的关系

内核和外设的关系

CMSIS架构.png (187.82 KB )

CMSIS架构

CMSIS架构

库各文件之间的关系.png (284.9 KB )

库各文件之间的关系

库各文件之间的关系

使用特权

评论回复
7
吴放|  楼主 | 2018-6-11 12:31 | 只看该作者
虽然CubeMX开发方式简化了开发过程,但是了解库开发的理念可以帮助理解CubeMX开发的代码,同时对于修改CubeMX程序和进行嵌入式开发有很大的帮助。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

28

帖子

1

粉丝