ARM开发环境入门(完成一个stm32的简单程序的编译和一个51程序设计及仿真)


前言 MDK5和STM32是什么

1.MDK 是 Microcontroller Development Kit 的缩写,ARM 公司出品,是目前针对 ARM 处理器,尤其是 Cortex-M 内核处理器的最佳开发工具。全球有超过 10万的嵌入式开发工程师使用 MDK。
2.STM32Cube 是 ST 提供的一套性能强大的免费开发工具和嵌入式软件模块,能够让开发人员在 STM32 平台上快速、轻松地开发应用,它包含两个关键部分:
(1)图形配置工具 STM32CubeMX,允许用户通过图形化向导生成 C 语言工程。
(2)嵌入式软件包(STM32Cube 库),包含完整的 HAL 库(STM32 硬件抽象层 API),配套的中间件(包括 RTOS,USB,TCP/IP 和图形),以及一系列完整的例程。


提示:以下是本篇文章正文内容,下面案例可供参考

一、作业目的

1. 安装mdk5软件和stm32包,熟悉mdk开发环境,完成一个stm32的简单程序的编译。安装过程可参考网上或者“STM32底座实验指导书”第1章。示例程序可以参考网上代码,或者“STM32底座实验指导书”第3章的“LED闪烁”。(注意,没有硬件之前,只能做程序的编译和仿真测试,无法下载到硬件上运行)
2. 安装并熟悉Proteus 电路仿真软件,完成一个51程序设计和仿真,可参考:http://m.elecfans.com/article/581557.html

二、WIN10系统下MDK5(V5.25.3.0)及STM32的安装

2.1MDK5下载

可通过官方下载最新版本或笔者通过其它路径下载V5.25版本
提示:MDK5 是收费软件,目前装的是试用版,仅供学习交流使用,不可用于商业用途

2.2MDK5安装

参考安装链接

2.3MDK5注册问题

通过其它路径下载的安装包里会自带一个注册机crack.exe在这里插入图片描述
很多人会在注册的时候出现注册失败的情况,这里需要注意的是,在注册前,需要在windows安全中心-防火墙与网络保护里,关闭域网络、专用网络、公用网络等防火墙。在打开crack.exe和keil前,也需要使用管理员身份运行,才能注册成功。(关于注册过程在安装链接里有详细讲诉)

值得注意的是,通过这种方式的注册期限只能到2020年。
如需注册到2032年,需要下载其它注册机,进行注册。
在此提供一位其它csdn博主的下载路径
提示:该注册机不可商用,仅供交流学习

注册完毕的示例在这里插入图片描述

2.4STM32下载及安装

链接: 官方路径
链接: 其它路径
下载完毕后打开文件直接安装即可

三、MDK开发环境下对stm32简单程序的编译

3.1新建工程

点击项目->新uVision项目
在这里插入图片描述
选择芯片
在这里插入图片描述
选择ok->弹出Manage Run-Time Environment对话框->cancel
完成创建
在这里插入图片描述

3.2创建编译源文件

双击Source Group 1在这里插入图片描述
寻找startup_stm32f10x_hd.s文件(找不到可以在安装路径里直接搜索查看文件位置),注意将下方文件类型改为在这里插入图片描述

在这里插入图片描述
右键Source Group 1点击图中选项在这里插入图片描述
选择C File文件格式,单击add在这里插入图片描述
输入代码在这里插入图片描述
代码展示:

#include<stdio.h>
void SystemInit(void)
{
	printf("Hello World\n");
}
int main(void)
{
	SystemInit();
	return 0;
}

编译在这里插入图片描述
编译成功在这里插入图片描述

四 、Proteus软件下进行51程序设计和仿真

4.1在keil c51里完成流水灯的设计和hex头文件的生成

(在之前的学习中已经对keil c51进行了安装,这里就不介绍keil c51的安装步骤了)

打开keil c51 选择AT89C51芯片,点击OK生成工程在这里插入图片描述
创建新文本在这里插入图片描述
保存文本,通过图中选项加入工程在这里插入图片描述
输入代码
在这里插入图片描述

#include <reg51.h>
#include <intrins.h>

void delay_ms(int a)
{
	int i,j;
	for(i=0;i<a;i++)
	{
		for(j=0;j<1000;j++) _nop_();

	}
}

void main(void)
{
	while(1)
	{
		P0=0xfe;
		delay_ms(50);
		P0=0xfd;
		delay_ms(50);
		P0=0xfb;
		delay_ms(50);
		P0=0xf7;
		delay_ms(50);
		P0=0xef;
		delay_ms(50);
		P0=0xdf;
		delay_ms(50);
		P0=0xbf;
		delay_ms(50);
		P0=0x7f;
		delay_ms(50);
	}
}

点击图中第一个按钮
在这里插入图片描述
选择Create HEX File,再编译一次即可生成hex文件
在这里插入图片描述
成功生成hex文件
在这里插入图片描述

4.2在proteus里绘制流水灯原理图

(在之前的学习中已经对proteus进行了安装,这里就不介绍protues的安装步骤了)

新建工程在这里插入图片描述
绘制流水灯的原理图
在这里插入图片描述
双击AT89C51芯片,在Program File里找到之前保存的hex文件并添加,点击确定在这里插入图片描述

4.3对流水灯原理图进行仿真

左下角第一个按钮开始仿真在这里插入图片描述
仿真过程在这里插入图片描述
在这里插入图片描述

版权声明:本文为metanoiah原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/metanoiah/article/details/108938439