原博在新浪博客发表了,由于新浪博客对源代码插入显示不太完善,所以搬家在这里
基本上,任意一种MCU,只要点亮灯,就代表已经搭建好编译环境及烧录工具了,
这里我将主要介绍怎么搭建HR8P506这颗M0的开发环境及如何点亮第一颗LED.
首先我使用的开发环境是Keil5.12a,芯片的板子是我自己画的一个最小系统板,调试下载工具是Jlink V8,本来板子搭载了一个JlinkOB,但是发现这个芯片支持不是很好,无奈还是拿出压箱底的V8出来用了.
废话不多说,下面介绍开发环境的搭建,
首先安装Keil5,这个网上很多介绍,不用过多说明.
安装好后点击Pack,我们要安装Hr8P506能用的pack.
打开keil ,点击安装pack.
但是,keil原厂的pack竟然没有东软载波的芯片,怎么办~~~是不是就不能开发了?
我们知道HR8P506的内核是Cortex-M0,所以这里就算没有这颗芯片也是可以的,我们只需要安装Arm下面的Cortex-M0下面的pack就好了.如图
好了,安装好pack,理论上现在已经可以开发HR8P506这个芯片了,为什么还是理论上呢,因为现在能编译,还不能debug....
下一步,安装东软载波原厂给的keil插件
安装的文件夹一定千万要记得是keil5的安装目录,切记切记.
然后一直next下去就好了.
OK,至此,全部编译使用环境已经安装结束,下面,我们来建立第一个工程,
前方多图杀猫....
首先,,,准备必要文件...
建立项目文件夹,再新建三个文件夹,分别是CMSIS.LIB,还有USER
其中CMSIS放ARM的库文件及一些原厂给的文件,
LIB就放东软载波给的库.
USER就放一些我们自己的文件就好了.
当然这只是我自己的风格而已,,,大家也不必一定按照这个格式来.......
把库文件MDK_StartUp文件夹里面的startup_HR8P506.s复制到工程文件CMSIS目录下,
把库文件CMSIS文件夹里面所有文件复制到工程文件夹CMSIS目录下,
把库文件Library文件夹里面所有文件复制到工程文件夹LIB目录下.
废话又多了,具体的,,,参照工程文件就好了,,,,,,
好了,现在可以打开keil了.
新建工程
将工程保存在我们刚才新建的工程目录下.
选对相应的型号,,,,如果说上面那一栏你选不到EastSoft,,,那说明你的Keil插件没有安装好.
点击OK
弹出个窗口问我们需不需要加载芯片初始文件,,,因为刚才我们的文件目录下已经有这个文件了,这里点否.
在工程栏建立三个组,与我们刚才建的文件夹名字是一样的,然后把对应文件夹的文件全部加载进来..
好了,官方给的文件都加进来了.
新建文件,保存为main.c,保存到工程目录USER下.
同样的方式新建文件main.h.
把刚才新建的两个文件,main.c,main.h放进Keil 的USER组里面.
好了,至此所有文件操作就完成了,.
点击魔法棒,设置工程选项.
勾上生成hex文件.
点击include paths后面的加载目录键,增加头文件加载地址,
把我们刚才工程目录下的三个文件都加载进来...注意,,,,Lib我们要加载到具体的Include目录,,,
设置debug工具
提示这个芯片Jlink不认识,,,怎么办,点OK.,
选Cortex-M0,点击OK就行,不用怀疑,就这么粗暴.
选SW接口,点击确定就成.
然后设置FLASH下载方式,,,只要芯片选对,把Reset And Run勾上就好了,
至此,Keil也配置完成了,终于可以松一口气了,,,
#include "main.h"
void Delay(unsigned int x)
{
unsigned int y;
while(x--)
for(y=100;y>0;y--);
}
int main(void)
{
GPIO->PBDIR.Word = 0x00;
GPIO->PBODE.Word = 0x00000000;
GPIO->PBFUNC0.Word = 0x00000000;
GPIO->PBDATABRR.Word = 0x000000001;
while(1)
{
GPIO->PBDATABRR.Word = 0x00000003;
Delay(0xfff);
}
}
#ifndef _MAIN_H_
#define _MAIN_H_
#include "HR8P506.h"
#include "lib_config.h"
#include "system_HR8P506.h"
#endif
把main.c和main.h添加这几行代码,我们只是要点灯而已,有这几段代码就好了...不要理会那些红色的XXX,,,,,
眼尖的同学已经看出来了,我这是直接寄存器操作,,,为什么前面还要添加一大堆库文件进来,,
咳咳,同学我也是为了你好,,,,我们现在不用库文件,以后肯定会用的,.,.,,,,,
我已经迫不及待要编译了!!!!!!!!
一键触发编译....
恭喜您,你收获了8个Error,1个Warinning.
不要慌,,,
基本上所有错误都出自InitRam.c这个库文件,,,为什么这个文件这么多错误文件官方还要放进来,,,这个要后期再核实了,,,现在我们要做的就是把它删除了!!!,没错,就是这么粗暴,就是这么任性,.,,
再编译........
OK,.,,成功了!!!!
硬件连接好,,
点击DownLoad按键,下载完成,板子上的LED已经开始闪烁了有木有,,,
恭喜你,现在你已经入门HR8P506这颗Cortex-M0单片机了.
工程文件:http://pan.baidu.com/s/1sl2c3aX
Demo板在淘宝上线了,点击打开链接
QQ交流群:122047279