admin管理员组文章数量:1537955
2024年6月17日发(作者:)
Eclipse + Keil MDK 3.5 STM32 软件模拟LED
跑马灯开发入门
本人原来一直做JavaEE开发,最近想转到嵌入式开发,经过多方了解,先后
了解了ARM7/9,最后选定从Cortex‐M3入手学习,目前市面上Cortex‐M3核的
开发板大部分都是意法半导体STM32系列MCU,就以STM32来入门学习,也因
为一直做JavaEE开发,对eclipse IDE 开发环境比较熟悉,并且用起来比较顺手,
其基于eclipse的C/C++开发工具也很出色,其在后面陆续介绍。之所以要
eclipse+MDK是要用eclipse强大的C开发功能和Keil的调试功能各自的优点。这
也是最近学习所得。
1、 开发环境搭建:
其开发环境包括eclipse和MDK 开发环境,下面是具体软件的获取和安
装方法:
Java环境:eclipse是基于java的开发平台,首先系统要安装了Java虚拟机
(JRE),到官网下载JRE:
/javase/downloads/ ,
入图中下载即可,然后默认安装即可。
Eclipse IDE for C/C++ Developers:然后下载eclipse C/C++ IDE,地址是:
/downloads/ 注意要下载windows版的。
只需要下载
Eclipse IDE for C/C++ Developers (68 MB),该包已经集成
了C/C++插件的,把下载的压缩包接压到任何目录即可,运行解压目录中的
,然后指定其工作区(WorkSpace)目录即可。
Windows下面GCC编译器:适用于Eclipse IDE for C/C++ Developers常用
的GCC编译器有Cygwin和MinGW,这里使用Cygwin,以下下载地址:
ftp://mcu123:mcu123@ftp:///upload_上传目录
/freertos/cygwin_osdev_
/sourceforge/j/ji/jinix/cygwin_osdev_
或者
/project/?group_id=201649&package_i
d=277469&release_id=651579
以上提供的Cygwin的其GCC版本都是最新版4.3.3,也可以下载其他的
但大部分gcc都是3.4的,在本文的使用中其并无影响,这里只使用Eclipse IDE
for C/C++ Developers开发功能和Keil的ARM编译器和调试功能。
下载后安装,其Cygwin安装方法及介绍网上很多,这里不作介绍。
Keil MDK 3.5:mdk可以到官网下载,
/update/?P=MDK&V=3.40&S=8RMWF‐6C6NZ‐
7NEAU‐SPL3R‐D9AMF‐GAGIC 也可以通过其他途径获得,之所以要用MDK3.5
是因为其ARM编译器从3.1更新到了4.0,MDK 3.4是3.1,如果对此无所谓,
也可以适用其他版本的MDK,但一定要用支持Cortex‐M3核的MDK。
Keil最新发布了
µVision4 beta1版本,如果感兴趣也可以下载试一试,MDK3.5中为
µVision3.8
,下载地址:
/download/docs/
2、 构建项目:
运行eclipse安装目录中的启动eclipse,闪屏后提示指定
工作区(WorkSpace)目录,如下图,指定其工作区(WorkSpace)目录,
点击OK即可。
其如何新建项目和使用可以参考我的另外一篇文章《Windows下搭
建ARM开源开发环境》,下载地址
/bbs/?BoardID=28&ID=1255。
在这里不作介绍,也可以google或baidu,这类介绍也很多。
新建一个C project ,选择Hello World ANSI C Project,建立项目(stm32)
后,在工作区目录(如:f:work)中生成了以项目名称命名的文件夹(如:
F:workstm32),项目目录中产生两个文件夹Debug和src,删除src下面
所有文件。
(1) copy MDK 安装目录下面ARMBoardsKeilMCBSTM32目录中
任意例子文件夹(如C:KeilARMBoardsKeilMCBSTM32Blinky)下面的
STM32_Init.(c,h),STM32_Reg.h,
STM32F10x.s四个文件到项目目录src下
面,然后copy STM32库文件library目录到src下面,如下图。
(2) 设置项目路径,项目上点击右键,选择属性,展开第四项C++
Genral ,选择Paths and Symbols > Includes > GNU C ,点击ADD,打开ADD
directory path 对话框,选择Workspace 按钮,依次选择
stm32>src>library>inc ,点击OK,重复以上选择stm32>src,点击OK,最
后Apply 和 OK。如果项目抱错可以不管,不影响编辑器的适用。
(3)新建main.c文件,输入如下内容:
#include
#include "STM32_Init.h" // STM32 Initialization
#define LED 1 // PB5: LED D2
#define DELAY
/**
*延时时间
*/
void Delay(vu32 nCount) {
}
int main(void) {
while (1) {
if (i == 16) {
}
if (i == 0) {
}
isPD = 1;
isPD = 0;
char i = 0;
char isPD = 0;
stm32_Init(); // STM32 setup
for (; nCount != 0; nCount--)
;
400000
}
}
GPIOB->ODR = (LED << i); // switch on LED
Delay(DELAY);
GPIOB->ODR = 0; // switch off LED
Delay(DELAY);
if (isPD) {
}
i++;
i--;
} else {
这个例子是点亮管脚
GPIOB Pin0所接的LED跑马灯demo。
(4)启动MDK,新建项目,项目目录指定为eclipse stm32项目目录
(F:workstm32),不copy启动代码,选择MCU 为STM32F103任意一个,
这里选择STM32F103RB,然后把STM32F10x.s、STM32_Init.c、main.c三
个文件添加到原代码组,如下图:
右击项目,选择Options for Target “stm32” ,进行配置,这里只选择
Debug,其他选都不作配置, Debug中配置仿真器,可以选择软件仿真
或Jlink,ulink等硬件仿真器,选择软件仿真user simulator。
打开STM32_Init.c文件使用Configuration Wizard进行配置,这里将
GPIOB所有管脚都配置为模拟输入(Analog Input),保存。如图中配置:
然后编译,无错误即可以调试。如图 ,启动菜单Debug ‐‐> Start/Stop
Debug Session进入调试模式:
串口。
如下图,Peripherals ‐> General Purpose I/O ‐> GPIOB,打开GPIOB监视
然后点击Debug菜单中run,或按F5,或点击工具栏
中的
视窗口中观察变化。
按钮运行程序,即可在GPIOB监
即可看到代表16位的复选框来回选中模拟LED灯闪烁。
然后修改main代码,在看看效果:
int main(void) {
}
}
if (isPD) {
}
GPIOB->ODR |= (LED << i); // switch on LED
Delay(DELAY);
i++;
GPIOB->ODR &= ~(LED << i); // switch on LED
Delay(DELAY);
i--;
while (1) {
if (i == 16) {
}
if (i == 0) {
}
isPD = 1;
isPD = 0;
char i = 0;
char isPD = 0;
stm32_Init(); // STM32 setup
} else {
3、 Eclipse C/C++编辑器使用的几个技巧:
(1) 使用快捷键Ctrl+Shift+F,可以自动格式化源代码,免去手动格式
化代码的麻烦,代码格式可以在菜单Window >> Preferences >>
C/C++ >> Code Style 中修改或定义,在Window >> Preferences >>
C/C++ >> Editor >> Syntax Cloloring中修改代码高亮色彩。
(2) 使用Alt+/来自动完成或代码辅助,可以在Window >>
Preferences >> General >> Keys 中配置快捷键,默认的自动完成
(Word Completion)快捷键是Alt+/ 修改为Ctrl+Alt+/,此功能不
常用用,而非常强大实用的代码辅助(Content Assist)功能快捷键是
Ctrl+Space,与中文输入法切换冲突,修改为Alt+/,如图使用Alt+/
时的代码辅助功能:
(3) 代码快速定位,安装Ctrl键,鼠标移动到变量名,函数名,结构
名等上面,单击即可快速定位到声明其的位置。
(4) 还有许多强大的特性这里不再介绍,可以参考Eclipse帮助文档。
版权声明:本文标题:Eclipse + Keil MDK 3.5 STM32 软件模拟LED 跑马灯开发入门 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1718621851a702822.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论