江西求做网站,陕西省西安市网站建设公司,深圳app开发定制公司,西安网站建设方案维护文章目录 一、单片机简介二、Cortex-M系列介绍三、初识STM32四、STM32原理图设计五、搭建开发环境六、STM32初体验七、MDK5使用技巧 一、单片机简介 单片机是什么#xff1f; 单片机#xff1a;Single-Chip Microcomputer#xff0c;单片微型计算机#xff0c;是一种集成电… 文章目录 一、单片机简介二、Cortex-M系列介绍三、初识STM32四、STM32原理图设计五、搭建开发环境六、STM32初体验七、MDK5使用技巧 一、单片机简介 单片机是什么 单片机Single-Chip Microcomputer单片微型计算机是一种集成电路芯片。 下面是电脑与单片机的对应关系 单片机的特点 体积小5mmx5mm功耗低mA级集成度高IO、TIM、AD、DA使用方便C、Debug拓展灵活IIC、SPI、FSMC 单片机有什么用 仪器仪表电源、示波器、焊台家用电器空调、冰箱、洗衣机工业控制机器人、PLC、电梯汽车电子GPS、ABS、胎压监测 单片机发展历程 了解两种指令集 对比项复杂指令集计算机CISC精简指令集计算机RISC目的为了便于编程和提高存储器访问效率为了提高处理器运行速度指令特点1指令多模式多格式可变2指令的执行需要的时钟周期差距很大3无流水线或流水线程度较低4指令由微代码翻译执行1指令少模式少格式固定2大多数指令只需1个时钟周期3流水线结构4指令直接由硬件执行优点1指令丰富、功能强大2寻址方式灵活1指令精简易于设计使用率均衡2程序执行效率高缺点1指令使用率不均衡2不利于采用先进结构提高性能3结构复杂不利于超大规模集成电路实现1指令数较少功能不及CISC强大2寻址方式不够灵活使用CISC和RISC举例 冯诺依曼结构和哈弗结构的区别 冯诺依曼结构的优点是占用的资源少哈弗结构的优点是执行效率较高。
二、Cortex-M系列介绍 ARM公司只做内核设计和IP授权不参与芯片设计。 ARM架构为什么能风靡全球 低功耗、低成本、高性能支持16/32位双指令集拥有众多合作伙伴 Cortex内核分类及特征 对比项Cortex-A (Application)Cortex-RReal-timeCortex-MMicrocontroller特点高时钟频率长流水线高性能较高时钟频率较长的流水线实时性强时钟频率较低通常较短的流水线超低功耗应用场景移动计算、智能手机、平板电脑、数字电视军工、汽车电子、无线基带、硬盘控制器工控、传感器、消费电子、家用电器、医疗器械
三、初识STM32 STM32是什么 ST意法半导体 MMCU/MPU3232位 STM32命名规则
四、STM32原理图设计 芯片的基本参数STM32F103ZET6 参数范围主频72MHzFLASH512KBSRAM64KB工作电压2.0~3.6V最大电流150mAIO引脚接入电压范围COMS端口-0.3V ~ 3.6V 兼容5V端口-0.3V ~ 5.5V单个IO引脚最大电流25mA STM32F103ZET6引脚分布 STM32引脚类型电源引脚、晶振引脚、复位引脚、下载引脚、BOOT引脚、GPIO引脚。 单片机最小系统 最小系统保证MCU正常工作的最小电路组成单元 电源电路 复位电路 BOOT启动电路 晶振电路 下载调试电路
五、搭建开发环境 常用开发工具 工具名称所属公司说明集成开发环境(IDE)MDKKeilSTM32最常用的集成开发环境简单易用EWARMIAR支持STM32开发用的人少一些仿真器DAPARM开源、免驱、带虚拟串口功能、速度快、廉价STLINKST支持全面、稳定、廉价JLINKSegger稳定、高速、价格贵串口调试助手XCOM正点原子功能多、稳定、简单易用SSCOM丁丁稳定、小巧、简单易用 STM32串口和电脑USB通信示意图
六、STM32初体验 MDK5编译例程 使用MDK5编译例程在Program Size里面有四种数据类型Code、 RO-Data、RW-Data、ZI-Data 数据类型占用Flash or SRAM说明CodeFlash代码RO-DataFlash只读数据一般是指 const 修饰的数据RW-DataFlash and SRAM初值为 非 0 的可读可写数据ZI-DataSRAM初值为 0 的可读可写数据 DAP下载 电路连接 硬件连接 软件配置 配置ST-Link 设置下载算法 开始调试 复位其功能等同于硬件上按复位按钮。相当于实现了一次硬复位。按下该按钮之后代码会重新从头开始执行。执行到断点处该按钮用来快速执行到断点处有时候你并不需要观看每步是怎么执行的而是想快速的执行到程序的某个地方看结果这个按钮就可以实现这样的功能前提是你在查看的地方设置了断点。停止运行此按钮在程序一直运行的时候会变为有效通过按该按钮就可以使程序停止下来进入到单步调试状态。执行进去该按钮用来实现执行到某个函数里面去的功能在没有函数的情况下是等同于执行过去按钮的。执行过去在碰到有函数的地方通过该按钮就可以单步执行过这个函数而不是进入这个函数单步执行。执行出去该按钮是在进入了函数单步调试的时候有时候可能不必再执行该函数的剩余部分了通过该按钮就可以一步执行完该函数的剩余部分并跳出函数回到函数被调用的地方。执行到光标处该按钮可以迅速的使程序运行到光标处其实是挺像执行到断点处按钮功能但是两者是有区别的。断点可以有多个但是光标所在处只有一个。反汇编窗口通过该按钮就可以查看汇编代码可以用来分析程序。Call Stack窗口通过该按钮显示调用关系和局部变量窗口显示当前函数的调用关系和局部变量方便查看对分析程序非常有用。观察窗口MDK5提供了2个观察窗口该按钮按下会弹出一个显示变量的窗口输入你所想要观察的变量/表达式即可查看其值是很常用的一个调试窗口。内存查看窗口MDK5提供4个内存查看窗口该按钮按下会弹出一个内存查看窗口可以再里面输入你要查看的内存地址然后观察这一片内存的变化情况。是很好用的调试窗口。串口打印窗口MDK5提供4个串口打印窗口该按钮按下会弹出一个类似串口调试助手界面的窗口用来显示从串口打印出来的内容。系统分析窗口图标下面有6个选项我们一般用第一个也就是逻辑分析窗口(Logic Analyzer),点击即可调出该窗口通过SETUP按钮新建一些IO口就可以观察这些IO口的电平变化情况以多种形式显示出来比较直观。系统查看窗口该按钮可以提供各种外设寄存器的查看窗口选择对应外设即可调出该外设的相关寄存器表并显示这些寄存器的值方便查看设置的是否正确。 Call Stack窗口查看函数调用关系或局部变量 Watch窗口查看函数首地址或变量值 Memory窗口内存查看窗口 M3/M4/M7内核是小端模式内存的值得倒着读 Peripheral窗口查看寄存器的值 注意事项 仿真时使用MDK的Level 0等级优化 调试停止在断点处时只是内核停止外设会继续运行 断点的设置要有时间观念考虑是否会打断正常通信
七、MDK5使用技巧 编辑器设置 字体和颜色设置 用户关键字设置 代码提示/语法检查 快速定位函数或变量被定义的地方 声明参考文献来源 战舰STM32F103ZET6开发板资源包 Cortex-M3权威指南(中文).pdfSTM32F10xxx参考手册_V10中文版.pdfSTM32F103 战舰开发指南V1.3.pdfSTM32F103ZET6中文版.pdf战舰V4 硬件参考手册_V1.0.pdf