Ubuntu环境搭建华大 HC32f460KETA编译、仿真环境

Ubuntu环境搭建华大 HC32f460KETA编译、仿真环境

  • keywords : hc32f460keta,ubuntu ,eclipse , pyocd ,daplink

近期买了一块华大半导体的HC32F460KETA 的开发板, 官方带的例程、环境搭建说明都是基于MDK的,确实MDK和很好用, 直接导入pack 之后,就可以编译、Debug 仿真,但是如果没有授权的话,有编译文件大小限制, 另外平时使用ubuntu比较多,项目自动编译、测试也需要makefile化,尝试自己搭建了一套 ubuntu下的编译、调试环境。

目前尝试的环境:
win +keli 5 st-link v2 、daplink 均可正常使用
ubuntu20.04 + eclipse + gcc arm toolchain st-link v2 没有配置文件不支持,pyocd 可以支持
ubuntu20.04 手写makefile+gcc arm toolchain 可以编译,但是打出来的hex 文件无法执行, 正在对比eclipse 和makefile的 编译流程。

搭建过程:

1、安装

ubuntu 20.04
下载eclipse for embed cpp ,如果速度慢的话可以选择国内mirror 下载,链接
https://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/2021-12/R/eclipse-embedcpp-2021-12-R-linux-gtk-x86_64.tar.gz&mirror_id=1142

下载gcc-arm-toolchain 我这里选择的 gcc-arm-none-eabi-9-2020-q2-update linux下的 tar.gz
下载地址: https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2020q2/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2

解压缩gcc-arm-toolchain 到 /usr/share/gcc-arm-none-eabi

解压缩 eclipse

ubuntu 安装 pyocd

sudo apt-get install pyocd

系统会自动安装相关组件,
然后看下pyocd 的路径 ,
which pyocd

一般是

/usr/local/bin/pyocd

记下这个地址

插上daplink ,daplink 我买的淘宝上 12.8 包邮的, 虽然用的国产am32f103 的芯片, 但是便宜好用。

项目配置

导入官方例程项目,或者自己新建项目都可以,官方的例程,eclipse 项目文件在gcc目录下, 如
hc32f460_ddl_Rev2.2.0\example\ev_hc32f460_lqfp100_v2\gpio\gpio_output\GCC
到如到 eclipse里之后,设置项目属性
我选择了自建项目比较繁琐, 不推荐

选择 c/c++ build 项, setting 这个页面,然后选择 toolchain 这tab 检查相关设计,尤其是这两个宏定义。

在这里插入图片描述 MPU选项,确认自己的armtoolchain安装位置和实际一致,我是临时扔这里了,最好放到 前面提到的usr目录下在这里插入图片描述buildtools 比arm-toolchain 深一层,在

在这里插入图片描述

配置pyocd,指向安装的目录
在这里插入图片描述
配置pyocd,记得插上daplink

在这里插入图片描述选择SVD文件的位置,配置好之后可以直接看mcu 的寄存器
在这里插入图片描述

其中daplink 和开发板的接线,基本就是平行链接

daplinkhc32f460
rstrst
GNDGND
SCKSCK
SWDSWD
3.3v3.3v

可以愉快的debug了:

在这里插入图片描述

注意要点:

  • 无需让芯片进入到boot模式,(比如你按照stm32的习惯,按 boot+rst 或者短接boot让芯片进入到boot模式)进入到boot模式反而无法进行debug,直接插电就行
  • 不要掉到hc swd 针脚复用的坑里,
 hc32f460系列 PA13\PA14\PB4\PA15 
分别和 SWDIO、SWCLK\nTRST\TDI 
这几个debug用的针脚复用,默认的是SWD 功能,也就是这几个针脚默认用来debug的,而如果开发板led灯是在PB4 上,如果用了 PORT_DebugPortSetting(ALL_DEBUG_PIN,Disable )来设定的话, 等可以点量,但是下次在用st-link进行调试就不行了
此时必须用usb-ttl  使用hdsc工具,删除擦除整个flash 才能恢复
但是如果不改复用的话,灯又点不亮,可以仅禁用RST功能
 PORT_DebugPortSetting(TRST,Disable );
 既可以debug,又不会影响点灯

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值