打印
[综合信息]

【HC32L136 demo板】+在eclipse上开发环境移植

[复制链接]
13635|50
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 coslight 于 2019-8-15 14:20 编辑

基于eclipse的开发环境建立
       由于一些个人爱好吧,喜欢使用开源的东西来搞开发应用,这里采用eclipse+armgcc+pyocd建立了一套开发环境,自测试完全满足开发到仿真的全部环节,可以替代keil环境。
Eclipse的选取
网址:https://github.com/gnu-mcu-eclipse/org.eclipse.epp.packages/releases
可以根据系统选择最新的版本下载
我下载了

针对64位系统的windows版本。
选取这个版本的好处是,这个eclipse版本内部集成了针对cortex-m系列开发的cdt,我们不用在自己去下载了,而且调试也都安装了非常方便。
编译工具链
网址:https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm
可以选择最新的工具链下载,我这里下载的是zip版的,不用安装解压就可以使用了。
针对华大HC32L136建立一个基本模板
首先,HC32L136是采用arm cortex-m0+内核的处理器,具有64Kflash和8kram。
所以建立工程时,需要选择cortex-m的工程建立
1、 建立工程
打开新建工程

选择“C Projtect”

选择“Hello world ARMCortex-M C/C++ project”,并在光标处输入一个工程名字,这里就叫“hc32l136”,然后下一步

按照图中选择处理器,flash,ram等,主频不关注,其它默认。然后继续下一步。

这里将“DEVICE”更改为“hc32l136”就可以了。下一步,在下一步

选择编译工具的位置,路径包含到bin文件夹,点击完成。工程创建结束。

2、 增加头文件支持
l  复制hc32l136开发包中system_hc32l136.h文件到工程system/include/cmsis下,覆盖又来的文件。
l  将我提供的hc32l136.h文件覆盖到工程system/include/cmsis下;
l  将驱动库中driver/inc下的所有文件复制到工程system/include/hc32l136下;
l  复制base_types.h和ddl_device.h到工程system/include/hc32l136下;

3、 增加C文件支持
l  用hc32l136开发包中system_hc32l136.c,覆盖到工程system/src /cmsis下;
l  用我下面提供的vectors_hc32l136.c,覆盖到工程system/src /cmsis下;
l  将驱动库中driver/src下的所有文件复制到system/src /hc32l136下;
4、 修改部分文件
用我提供的interrupts_hc32l136.c文件,替换system/src /hc32l136下的相关文件

移植到这里,如果没有意外的话,当前这个hello world程序应该可以编译通过了。

Pyocd的安装
通过pyocd来调试目标程序,需要首先执行如下安装步骤:
1、 安装python-3.6以上版本;
2、 执行pip install –U pyocd,安装pyocd;
3、 执行pip install –U libusb,安装libusb的库,pyocd需要使用这个库。
到此pyocd安装完成。

利用pyocd来调试
打开Debug Configurations窗口,并在GDB PyOCD Debugging下面新建一个调试任务。


在右侧选中Debugger栏目。

在pyOCD Setup项中,选定pyocd-gdbserver的路径。
在Board项目中,如果已经连接了HDSC的评估版,应该出现如图中所示的generic-HDSC CMSIS-DAP()项目。
注意:必须勾选Override target,并手动填入hc32l136k8ta
在Other options输入框中,添加 --pack HDSC.HC32L136.1.0.0.pack的完整路径,路径中是否可以包含中文没测试。
到此为止,可以开始仿真了,希望对大家有帮助,不足之处欢迎一起研究。
文中提到的文件 Desktop.rar (18.58 KB)

使用特权

评论回复
沙发
coslight|  楼主 | 2019-8-15 14:27 | 只看该作者
这里的中断函数的名字都在vertors_hc32l136.c中定义出来了,我们只要重新实现一下这个函数体就可以了,这个与原来库中的内容有所不同。

使用特权

评论回复
板凳
smartpower| | 2019-8-15 16:48 | 只看该作者
NB的人生~

使用特权

评论回复
地板
中子家| | 2019-8-16 09:23 | 只看该作者
楼主用的启动文件是哪一个呢

使用特权

评论回复
5
coslight|  楼主 | 2019-8-16 11:33 | 只看该作者
系统中集成的,测试了没啥问题

使用特权

评论回复
6
coslight|  楼主 | 2019-8-16 11:33 | 只看该作者
不能使用keil的,需要使用gcc下面的,通过eclipse创建工程时,起动文件已经创建好了

使用特权

评论回复
7
中子家| | 2019-8-16 17:51 | 只看该作者
coslight 发表于 2019-8-16 11:33
不能使用keil的,需要使用gcc下面的,通过eclipse创建工程时,起动文件已经创建好了 ...

哦,那挺好的,gcc编译的时候启动文件和IAR&MDK下面的启动文件都不一样

使用特权

评论回复
8
coslight|  楼主 | 2019-8-19 10:41 | 只看该作者
中子家 发表于 2019-8-16 17:51
哦,那挺好的,gcc编译的时候启动文件和IAR&MDK下面的启动文件都不一样

大侠有兴趣和测试一下,我这个系统中的中断方面就测试system_tick,其它中断还没有测试

使用特权

评论回复
9
中子家| | 2019-8-19 14:18 | 只看该作者
coslight 发表于 2019-8-19 10:41
大侠有兴趣和测试一下,我这个系统中的中断方面就测试system_tick,其它中断还没有测试 ...

好的,有机会研究一下

使用特权

评论回复
10
xyz549040622| | 2019-8-19 15:54 | 只看该作者
NB的人生不需要解释,美特斯邦威不走寻常路。

使用特权

评论回复
11
coslight|  楼主 | 2019-8-21 08:22 | 只看该作者
xyz549040622 发表于 2019-8-19 15:54
NB的人生不需要解释,美特斯邦威不走寻常路。

兄弟,禁止做广告啊

使用特权

评论回复
12
qcliu| | 2019-9-9 15:52 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
13
tfqi| | 2019-9-9 16:02 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
14
jasonell| | 2019-10-27 10:01 | 只看该作者
很详细的过程,学习了。

使用特权

评论回复
15
凡人8000| | 2019-11-21 15:33 | 只看该作者
我测试了一下,无法MAKE,如下图所示:

是不是这个GCC编译工具缺少MAKE命令

使用特权

评论回复
16
coslight|  楼主 | 2019-11-22 08:05 | 只看该作者
凡人8000 发表于 2019-11-21 15:33
我测试了一下,无法MAKE,如下图所示:

是不是这个GCC编译工具缺少MAKE命令

windows下的make需要你自己下载一个

使用特权

评论回复
17
kkzz| | 2019-11-30 21:59 | 只看该作者
eclipse上开发?   

使用特权

评论回复
18
hudi008| | 2019-11-30 21:59 | 只看该作者
支持keil吗   

使用特权

评论回复
19
lzmm| | 2019-11-30 21:59 | 只看该作者
谢谢分享资料了。  

使用特权

评论回复
20
minzisc| | 2019-11-30 21:59 | 只看该作者
开发难度真的很大。  

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

61

主题

928

帖子

5

粉丝