华大(小华)HC32L130工程创建
华大(小华)HC32L130工程创建
一、我们先来认识一下华大驱动库包下的文件功能。注意,华大提供的包是没有M0+内核标准文件的,(HC32L130 是M0+)ST提供的驱动库包是有的,就是CORE文件夹。
第一步:创建文件夹目录
具体这个创建文件夹目录的含义可以看STM32工程创建理论篇
第二步:将华大提供的driver文件内容(这些文件是从华大驱动库包)复制到HC32L130x_FWLib
第三步:将内核相关的文件从commom和KEIL的烧录算法文 复制到CMSIS。注:common文件是IAR和KEIL通用。
第四步:将source文件下的内容拷贝过来到USER。IAR和KEIL通用。IAR和KEIL通用。
第五步:随便找一个例程将其添加启动文件复制至starup
二、在KEIL5创建工程
第一步:安装芯片支持包,可以到华大官网下载对应的芯片MDK支持包的既可
第二步:创建新工程
输入名称,点击保存到Projiect文件下
第三步:选择对应的芯片包对应的芯片型号(前提我们要小华官网先下载对应的MDK芯片支持包,下载下来双击安装即可)
勾选内核标准组件。注意,华大驱动库包是没有提供标准内核文件的(但ST提供的DEMO驱动包基本有内核文件,好像只有M4才没提供),不论是华大还是ST单片机,使用的内核文件都是通用的,这里有两种方法,1、勾选内核组件。2、复制ST库的CORE M0+内核标准文件。本次我们直接选择方法1。
方法1。直接选择KEIL提供的组件。
方法2 。复制ST库的内核标准文件到我们的CMSIS目录下,注意HC32L是M0+内核。
三、添加文件
第一步:创建目录添加文件与.c文件
APP还没放代码,所以为空闲预留,后续自己可以添加外设驱动放在这里
BSP比如GPIO\timer等等,大家 自己可以放
库文件添加大家根据自己需求来放置
第二步:将编译修改成5 设置编译器5 (5比较稳定)
第三步:细心的同学肯定发现刚刚我们移植的CMSIS目录下的MDK算法文件没有用到,当然你也可以用上。如下,这个文件只要跟你到时候仿真有关系,我们还是添加下,这个具体含义我不太懂。
第四步:输出hex打勾
第五步:声明头文件同时还要在配置中勾选支持C99模式:
第六步:编译优化配置。华大驱动库中断的特点是回调函数调用,而编译器是会优化掉一些认为不用的函数的,所以我们要屏蔽优化回调函数。--keep=*Handler
第五步:输出hex
第六步:细心的同学肯定发现刚刚我们移植的CMSIS目录下的MDK算法文件没有用到,当然你也可以用上。如下,这个文件只要跟你到时候仿真有关系,我们还是添加下,这个具体含义我不太懂。
第六步:主函数编辑
我们从官方提供的DEMO复制一个GPIO的主函数的内容到我们工程的主函数上
编译完下
有警告
(1)回车添加新行解决
另外说明几个库存在的警告问题
(1)如果有添加ram.c,这个错误显示是库文件ram.c的类型与头文件的类型不一致,报错的。
从理论上分析官方提供的库不应该有这种错误才是,既然知道错误我们就进行修改,把头文件的类型更换成void,就可以。
修改完,错误没有了
(2)如果有添加adc.c库文件
上面这个警告表示不会执行到这一句话,有这一句警告
上面这个警告表示这个参数超出“int”范围,应该是认为是有符号位int ,如果是无符号位的int应该就不会报错
那么回过头看看官方提供的代码,发现官方提供的DEMO没有警告,警告查找发现他默认使用的是编译器6版本。
所以要想去除这个警告,要么更改为编译器6 ,要么自己不取管这个警告就可以,目前公司还是用5编译器,主管表示编译器6还不是跟稳定兼容。
所以还是用编译器5 ,警告我们就先忽略就可以
如果我们也改成V6版本编译器,重新编译,则无警告
那么到这里,我们整个裸机工程创建结束啦!
四、附录
工程文件
链接:https://pan.baidu.com/s/1ZOnC9oFXpbOnATARrSVvRQ
提取码:p9yn
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)