华大(小华)HC32L130工程创建
创始人
2024-05-31 00:53:47
0

一、我们先来认识一下华大驱动库包下的文件功能。注意,华大提供的包是没有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单片机,使用的内核文件都是通用的,这里有两种方法,1、勾选内核组件。2、复制ST库的CORE M0+内核标准文件。本次我们直接选择方法1。

方法1。直接选择KEIL提供的组件。

方法2 。复制ST库的内核标准文件到我们的CMSIS目录下,注意HC32L是M0+内核。

三、添加文件

第一步:创建目录添加文件

APP还没放代码,所以为空闲预留,后续自己可以添加外设驱动放在这里

BSP比如GPIO\timer等等,大家 自己可以放

库文件添加大家根据自己需求来放置,我是去全都添加进去

启动文件

第二步:声明头文件

添加完

第三步:编译优化配置。华大驱动库中断的特点是回调函数调用,而编译器是会优化掉一些认为不用的函数的,所以我们要屏蔽优化回调函数。--keep=*Handler

第四步:输出hex

第五步:细心的同学肯定发现刚刚我们移植的CMSIS目录下的MDK算法文件没有用到,当然你也可以用上。如下,这个文件只要跟你到时候仿真有关系,我们还是添加下,这个具体含义我不太懂。

第六步:我们编译下

编译完有警告与错误,我们先来解决下错误

(1)错误查找解决,这个错误显示是库文件ram.c的类型与头文件的类型不一致,报错的。

从理论上分析官方提供的库不应该有这种错误才是,既然知道错误我们就进行修改,把头文件的类型更换成void,就可以。

修改完,错误没有了

(2)警告排查

说实话这些警告看不出问题所在,后面与官方提佛

上面这个警告表示不会执行到这一句话

上面这个警告表示这个参数超出“int”范围,确实这个1<<31,确实超出这个类型范围

那么回过头看看官方提供的代码,发现官方提供的DEMO没有警告,警告查找发现他默认使用的是编译器6版本。

我们也改成V6版本编译器,重新编译

编译通过,我去查找了V6编译器没招相关有用的资料,如果你们有找到跟我说下,共勉学习下。

我猜测是V6的编译器int类型的范围变成64位了,这样才你能合理解释把

那么到这里,我们整个裸机工程创建结束啦!

四、附录

工程文件

链接:https://pan.baidu.com/s/1Q5tm52aqviDYVa2ODmORiA

提取码:5vt5

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...