1, 方法论
1.1 STM32 F10XXX中文参考手册:包含寄存器的详细信息,技术参考手册;
1.2 Cortex-M3 权威指南(中文版):对底层及ARM架构的分析,包含部分底层汇编说明;
1.3 Cortex-M3 技术参考手册:如名;
1.4 STM32F10xxx Cortex-M3 编程手册:软件开发层完整的寄存器编程说明;
1.3 芯片数据手册:电气特性,引脚说明,复用重映射引脚等;
1.4 正点原子开发板:资料详尽;
2 STM32固件库:STM32F10x_StdPeriph_Lib_V3.5.0
2.1 主要包含了Cortex-M3的内核代码、进入内核的代码、flash芯片的寄存器堆栈配置;
为ST官方提供的标准库,将底层寄存器操作封装成API函数,函数符合CMSIS标准的格式;固件包内的源码同时提供了使用例程;
ST官方提供了两个库版本,一个是标准的固件库,另外一个是HAL库;HAL是14年推出的,并且逐渐开始取代标准库;
2.2 Cortex-M3内核的代码架构;
CMSIS全称Cortex-M3 software interface standard,是API接口标准;以下为STM32芯片的core cm3内核的代码架构示意图;
3 新建KEIL5工程
keil界面设置:edit->configuration-> editor-> [Encoding:GB2312] [Tabsize:4]->其他酌情设置;
双击变量,ctrl+F >> 可以在当前文件中查找该变量;
3.1 磁盘新建文件夹,包含CORE,USER,FWLIB ;从固件库复制文件进来;
3.1.1 CORE目录:<core_cm3.c> <core_cm3.h> <...hd.s启动文件>...
3.1.2 USER目录:<system_stm32f10x.c系统时钟寄存器,宏定义等> <stm32f10x_it.c中断> <main.c>...
3.1.3 FWLIB目录:<一类外设对应一个.c文件> <stm32f10x_gpio.c> <stm32f10x_i2c.c>...
3.2 keil5新建工程,映射到3.1节文件夹,添加文件;
3.2.1 project -> new project -> 命名后保存在USER夹中->此时建立完成了keil5工程的框架;
3.2.2 target右键->manage project items -> add group -> add file;(顺便也加了.h文件进来方便查看)
3.3 设置固件库的启动文件的宏定义,头文件的路径,生成hex文件(../USER/objects/),生成bin文件;
3.3.1 target右键 -> options for target -> C/C++ -> Define: < STM32F10X_HD,USE_STDPERIPH_DRIVER >;
3.3.2 target右键 -> options for target -> C/C++ ->Include Paths添加头文件目录(keil不会递归查找);
3.3.3 target右键 -> options for target -> output -> √ create HEX file;
3.3.4 target右键 -> options for target -> user -> <after build/rebuild> √ Run #1 -> 输入如下格式路径:
D:\MDK5\SetupFile\ARM\ARMCC\bin\fromelf.exe --bin -o E:\STM32_F1\CreateDemo\USER\Objects\createDemo.bin E:\STM32_F1\CreateDemo\USER\Objects\createDemo.axf
3.4 软件仿真:通过软件仿真查看寄存器数值,执行代码;
3.4.1 target右键-> options for target -> Debug
->[• use simulator]
-> [左边的dialog DLL :DARMSTM.DLL ] [左边的parameter:-pSTM32F103ZE]
-> [右边的dialog DLL :TARMSTM.DLL ] [右边的parameter:-pSTM32F103ZE]
3.4.2 菜单栏 debug-> start/stop debug session
4 零散知识
(1)复用表示一个IO口有多个外设功能,通过复用来选择IO口的外设功能;
(2)重映像就是重映射;就是把一个IO口的功能映射到另一个IO口上去;
(3)1ul << 18 表示将无符号长整形的1左移18位,即第18位置1;
原文:https://www.cnblogs.com/caesura-k/p/12782223.html