keil5安装以及STM32安装以及程序编辑
一、MDK5安装和STM32安装
1、MSDK5安装包以及STM32安装包
安装包来自于老师与同学的分享,相信大家在网上也很容易找到,这里就不提供链接啦!安装包这是个样子的:
2、MDK5安装步骤
(1)打开下载好的安装包,找到文件mdk_510.exe文件,双击。
(2)打开后直接点击next即可。
(3)勾选“I agree to all terms…”,然后点击next即可。
(4)点击Browse,选择自己想要安装的路径,再点击next即可。
注意:路径下不能出现中文,不然会出现问题嘞!
(5)填写注册信息,前面三项随意填写,邮箱需要正确填写,填写完成后,点击next。
(6)这一步就开始安装了,等待吧!
(7)我的电脑管家比较严格,啥都问,如果你们也有,点击安装就行了。
(8)安装完成后,点击Finish即可。
(10)它会自动弹出一个页面,不用慌张,点击ok就好。
到这一步MDK5就安装完成了,如果有问题,大家互相交流。
3、STM32安装步骤
(1)之前的安装包里面有以下三项,分别点击,下面以第一个为例。
(2)点开后,会出现以下页面,点击next即可。
(3)在这里就开始安装了,小等一会。
(4)安装完成以后点击Finish,后面两个文件也是这样哦。
(5)到了第三个文件,点击出现问题,没关系,在这里跟大家解释一下。这个框里面说不支持这个“1.4.0”的架构版本,只能支持到“1.2”,对于初学者,已经足够,我们可以不用安装,所以直接点确定就好。
到这一步,STM32也已经安装完成了。
二、注册MDK5
1、关闭电脑防火墙(Windows10系统)
(1)在桌面找到“此电脑”,鼠标右键点击,再点击属性,找到控制面板主页。
(2)按照以下图片顺序一次设置即可。
2、关闭电脑病毒和威胁防护(Windows10系统)
(1)在桌面“开始”里面找到设置,点击出现以下页面,收索Windows就自动弹出想要的选项,点击即可。
(2)按照以下图片顺序一次设置即可。
注意:在这里准备工作已经完成,如果不关闭,电脑会把注册程序当成垃圾文件删除,会导致后面操作无法完成!
3、正式进行注册
(1)以管理员身份运行已经安装好的keil5软件,点击File,选择License Management,将CID的代码复制好。
(2)将复制好的CID粘贴到相应位置处,Target选择ARM,再选择Prof.Developers Kit(Plus),再点击Generate,会生成一串字符,复制下来。
(3)将生成的字符串复制到New License ID Code(LIC),再点击Add LIC,就会显示成功哦。
注意:如果失败,请注意是不是以管理员身份运行!
到这里注册也已经完成。
三、在keil5下用STM32编辑简单程序
1、建立工程
(1)打开keil5软件,找到project,选择New μVision Project。
(2)将新建工程的名字输入进去,并选择自己想要储存的路径。
2、编辑程序
(1)点击file下的New按键,创建一个空文件,将以下代码复制进去。
#define PERIPH_BASE ((unsigned int)0x40000000)
#define APB2PERIPH_BASE (PERIPH_BASE + 0x10000)
#define GPIOA_BASE (APB2PERIPH_BASE + 0x0800)
#define GPIOB_BASE (APB2PERIPH_BASE + 0x0C00)
#define GPIOC_BASE (APB2PERIPH_BASE + 0x1000)
#define GPIOD_BASE (APB2PERIPH_BASE + 0x1400)
#define GPIOE_BASE (APB2PERIPH_BASE + 0x1800)
#define GPIOF_BASE (APB2PERIPH_BASE + 0x1C00)
#define GPIOG_BASE (APB2PERIPH_BASE + 0x2000)
#define GPIOA_ODR_Addr (GPIOA_BASE+12) //0x4001080C
#define GPIOB_ODR_Addr (GPIOB_BASE+12) //0x40010C0C
#define GPIOC_ODR_Addr (GPIOC_BASE+12) //0x4001100C
#define GPIOD_ODR_Addr (GPIOD_BASE+12) //0x4001140C
#define GPIOE_ODR_Addr (GPIOE_BASE+12) //0x4001180C
#define GPIOF_ODR_Addr (GPIOF_BASE+12) //0x40011A0C
#define GPIOG_ODR_Addr (GPIOG_BASE+12) //0x40011E0C
#define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)<<5)+(bitnum<<2))
#define MEM_ADDR(addr) *((volatile unsigned long *)(addr))
#define LED0 MEM_ADDR(BITBAND(GPIOA_ODR_Addr,8))
//#define LED0 *((volatile unsigned long *)(0x422101a0)) //PA8
typedef struct
{
volatile unsigned int CR;
volatile unsigned int CFGR;
volatile unsigned int CIR;
volatile unsigned int APB2RSTR;
volatile unsigned int APB1RSTR;
volatile unsigned int AHBENR;
volatile unsigned int APB2ENR;
volatile unsigned int APB1ENR;
volatile unsigned int BDCR;
volatile unsigned int CSR;
} RCC_TypeDef;
#define RCC ((RCC_TypeDef *)0x40021000)
typedef struct
{
volatile unsigned int CRL;
volatile unsigned int CRH;
volatile unsigned int IDR;
volatile unsigned int ODR;
volatile unsigned int BSRR;
volatile unsigned int BRR;
volatile unsigned int LCKR;
} GPIO_TypeDef;
#define GPIOA ((GPIO_TypeDef *)GPIOA_BASE)
void LEDInit( void )
{
RCC->APB2ENR|=1<<2; //GPIOA ????
GPIOA->CRH&=0XFFFFFFF0;
GPIOA->CRH|=0X00000003;
}
//????
void Delay_ms( volatile unsigned int t)
{
unsigned int i,n;
for (n=0;n<t;n++)
for (i=0;i<800;i++);
}
int main( void )
{
LEDInit();
while (1)
{
LED0=0;
Delay_ms(500);
LED0=1;
Delay_ms(500);
}
}
此代码引用大佬“farsight1”的“最简单的STM32入门教程----闪烁LED”
“farsight1”博主还有很多优秀文章,大家可以多多关注!
(2)在工程视图窗找到Source Group 1,右键点击,选择“Add Existing Files…”。
(3)找到Options for Target,进行设置。
(5)设置output,点击Greate HEX File,再点击Debug,选择Use Simulator,再在Use后面选择ULINK2/ME Cortex Debugger。
3、调试查看
(1)点击Build和Rebuild,观察结果。
build结果:
rebuild结果:
(2)点击Debug,选择start/stop Debug Session。
(3)点击Step、Step over、Step out等按键,观察程序。
(4)退出点击Debug,选择start/stop Debug Session即可。
四、总结
以上程序和模块的安装已经完成,演示了简单编辑程序,本人是一名初学者,通过博客的形式记录下来,其中不免有步骤或语言的错误或不严谨,在过程中也遇到许多问题,大家可以互相交流。