1、 软件与版本的选择
需求:支持STLink2或未来的Jlink V7调试接口(因为STM32-SK使用这个接口),能够找到去除软件限制的方法,最好具有中文版帮助和界面,最好带有纯软件仿真
选择:RealView MDK 3.23RPC或者IAR EWARM 4.42A(5版本观望一下)。
2、 RealView MDK 3.23RPC(中国版)安装与去除限制
第一步:执行安装程序完成基本安装,最后选项选择加入虚拟硬件,便于纯软件调试。
第二步:执行软件,点击File-->Licence Manager,复制CID的数据到破解器的CID,其他选项如下图,然后点击Generate。
第三步:复制LIC0的数据到软件的LIC框里面,点击Add LIC。注意添加序列号后Licence Manager会算出这个号对应的有效期,如果到期会显示为红色,需要重新点击破解软件的Generate,再算一个填进去就行了。
第四步:将ST-LINKII-KEIL Driver所需的文件(两个DLL)拷贝到KeilARMBIN下,替换原有文件。
第五步:打开Keil安装目录下的TOOLS.INI文件,在[ARM]、[ARMADS]、[KARM]项目下添加TDRV7=BINST-LINKII-KEIL.dll("ST LinkII Debugger")行,并保存修改。
第六步:打开MDK,在项目的options设置的Debug选项中选择ST LINKII Debugger,同时在Utilities的选项中选择ST LINKII Debugger。
完成以上步骤,就完成了ST-LINKII的相关配置,可以作为调试器开始使用。注意:目前ST-LINKII不支持Flash菜单中的Download和Erase命令,程序在使用Start/Stop Debug Session时自动载入flash中供调试。
3、 IAR EWARM 4.42A安装与破解
第一步:开始/运行…/CMD显示DOS界面,执行iarid.exe>>ID.TXT得到本机ID码,复制这个ID码,再执行iarkg.exe ID码>>Lic422A.TXT,得到一组注册码。
第二步:使用EWARM-EV-WEB-442A.exe(30天限制版,其他版本无法使用第一步中的注册码),执行安装程序完成基本安装,过程中需要添入第一步里面算出来的注册码,可以取消时间限制,但是那一组当中只有一个有效,需要实验。
4、 链接硬件调试程序
RealView MDK:找到一个STM32-SK的基础程序,最好是只关于IO的且与当前板子程序不同,这样在板上就可以看到结果,点击Project/open project。例如GPIO、TIMER(另两个例程是关于串口的,需要连接串口才能够看到运行结果)。
使用“Open Project”打开,然后设置Option里面的linker和Utilities里面的项目为“ST LinkII Debuger”。
编译程序,再使用“Start/Stop Debug Session”来写入程序。
IAR EWARM:与以上相同,找到一个符合条件的例程。打开一个eww工程文件,右键选取Option,在Debuger里面选择“Third-Party Driver”,在“Third-Party Driver”里面添上“$PROJ_DIR$..ddlSTM32Driver.dll”。
使用“Make”或“Rebuild All”来编译程序,点“Debug”就烧写进Flash。使用调试栏里面的“go”等等运行程序。
注:由于目前版本MDK与我手头的ST-LINK-II编程器不兼容,所以后面的所有工作均改用IAR。
关键字:STM32 学前班教程 开发软件
引用地址:
STM32学前班教程之三:让PC工作,开发软件的选择
推荐阅读最新更新时间:2024-03-16 14:31
STM32 IAP相关知识
最近因项目需求要实现STM32的在线升级即IAP功能,先将这几天的学习体会和IAP的具体实现总结出来,分享给大家,希望对同样实现IAP的童鞋有所帮助,文中最后会上传名为STM32_Update.zip的压缩文件里面包含了STM32_App、STM32_MyBoot_V1.0和升级软件STM32_UpdateSoftware的源码文件供大家参考。所有程序都经过测试,可以直接在原子哥的 开发板 上跑,上位机的升级软件大家可以直接打开 STM32_UpdateSTM32_UpdateSoftwareReleaseSTM32_UpdateSoftware.exe来升级,如果需要查看源码请用VS2010打开工程文件。 最终要实现的是: 单片
[单片机]
STM32单片机设置PWM输出完整教程
STM32单片机 PWM 环境: 主机:XP 开发环境:MDK4.23 MCU:STM32F103CBT6 说明: 使用内部8M晶振,倍频到64M供给TIM3定时器,PA6(通道1)上产生640K,50%方波 源代码: 初始化时钟: //初始化RCC时钟 voidinit_rcc(void) { //将外设RCC寄存器重设为缺省值 RCC_DeInit(); //内部晶振使能 RCC_HSICmd(ENABLE); //等待工作稳定 while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY)==RESET); //LSI的启动,提供给看门狗时钟 RCC_LSICmd(ENABLE);//打开LSI w
[单片机]
STM32 输入捕获模式的滤波器设置
一.设置TIMx_CR1的CKD 位,设置时钟分频因子得到fDTS。如下图: 二设置TIMx_CCMR1寄存器的IC1F 位。滤波采样频率和采样次数。如下图 举例:定时器输入时钟频率fCK_INT=72M。CKD =10(B)。IC1F =1111(B)。定时器设置为1通道捕获 fDTS=fCK_IN/4=72M/4=18M 采样频率fSAMPLING = fDTS/32=18M/32=0.5625M 所以滤波的长度=1/fSAMPLING *N=1/0.5625M*8=14.2US。这样捕获通道的滤波器就会滤掉低于14.2us的脉冲干扰 也就是说滤波器会以fSAMPLING的频率采样8次,如果8次都为高电平则确定为上
[单片机]
STM32-USB虚拟串口-学习笔记
USB 用于规范电脑与外部设备的连接和通讯。是应用在 PC 领域的接口技术。 USB 接口支持设备的即插即用和热插拔功能 发展到现在已经有 USB1.0/1.1/2.0/3.0 等多个版本。目前用的最多的就是 USB1.1 和USB2.0,USB3.0 目前已经开始普及。STM32F103 自带的 USB 符合 USB2.0 规范。 USB驱动软件开发 usb_core(移植过程,代码一般不用修改) usb_core.c usb_croe.c 文件,该文件用于处理 USB2.0 协议。 usb_init.c usb_init.c 文件,该文件里面只有一个函数:USB_Init,用于 USB 控制器的初始化,不过对U
[单片机]
STM32如何配置ADC?
1、 系统时钟定义: RCC_Configuration(); 包涵: RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMAx, ENABLE); // Enable DMA clock RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADCx , ENABLE); // Enable ADC1 and GPIOC clock 2、 中断源配置: NVIC_Configuration(); 举例: { NVIC_InitTypeDef NVIC_InitStructure; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); NV
[单片机]
STM32官方标准固件库开发与寄存器开发的区别
一句话概括关系:固件库就是函数的集合,固件库函数的作用就是:向下负责与寄存器直接打交道,向上提供用户函数调用的接口(API)。对于STM32这种级别的MCU,数百个寄存器记起来何谈容易,于是推出了官方固件库,固件库将这些寄存器底层操作都封装起来,提供一套API供开发者使用。大多数情况下,你不需要知道操作的是哪个寄存器,你只需要知道调用哪些函数即可。 对比一下:入下面只需要知道GPIO_SetBit这个函数的使用即可。 寄存器操作: 库函数操作: 任何的处理器,不管多么高级,归根结底都是对寄存器的操作。固件库不是万能的,如果想要把STM32学透,知其然知其所以然,光读STM32固件库是远远不够的。但是如果知识为了完成
[单片机]
STM32低功耗唤醒方式
MCU进入低功耗之后,以极低的功耗维持着系统“活着”,但是醒过来是需要一定条件的,比如定个“闹钟”,按键“按一下”等,目前常用的“正常的”唤醒方式有以下几种: 1、RTC定时唤醒; 2、外部中断唤醒(按键或者通讯唤醒); 3、特殊唤醒引脚唤醒(某些引脚具有专门的唤醒功能)。 下面,我们再来看一看如何通过RTC和外部中断唤醒MCU。 1、RTC定时唤醒 依然是从手册中我们可以看到,所有的RTC时间都可以把MCU从低功耗模式中唤醒: 介绍使用RTC的定时功能实现,定时1S唤醒一次,使用cubemx进行对RTC进行配置: 生成代码的时候,勾选这个选项,可以把不用的引脚配置为模拟输入模式,降低功耗: RTC的配置如图,使能RTC,
[单片机]