[综合信息] hc32f4a0系列cmake+mingw+pyocd开发第一弹(驱动篇)

[复制链接]
 楼主| nczywq 发表于 2025-2-21 13:05 | 显示全部楼层 |阅读模式
本帖最后由 nczywq 于 2025-2-21 13:07 编辑

驱动源码
  1. https://github.com/nczyw/hc32f4a0-drivers

纯cmake写的,使用方法TopCmakeLists.txt中有详细例程。支持的功能
1:支持3种功能,1:bootloader;2:app;3:normal
2:可以配置为bootloader模式,此模式下flash的前64KB为boodloader空间,其余为app空间
下面是编译及下载成功并运行截图
hc32f4a0示例.png

保证驱动是没有问题,bootloader还在未完成,目前只是半成品,完成后会一并开源出来,目前仓库中已经有了。
这也算是完成了我多年来的心愿,学习嵌入式时,一直用的gcc和arm-none-eabi编译的程序,非常不喜欢keil这样的IDE,几年前就说要用arm-none-eabi来编译,当时是直接写的Makefile,直接写的Makefile发现灵活性太差了,就没有开源出来,也放弃了,今年,打算用cmake来重新构建,发现还是可以成功的,这样跨平台开发,就又多了一种方式,也是我最喜欢的方式

后续计划
1:这次说明写的不够详细,需要有一定cmake基础的人,才能看懂,以后有时候会完善说明
1:bootloader使用SD卡更新程序开发
2:app程序开发

评论

找到同好:也是cmake+gcc+pyocd 纯linux开发  发表于 2025-2-22 09:21
yangxiaor520 发表于 2025-2-21 19:45 来自手机 | 显示全部楼层
这种开发模式适合喜欢纯Linux环境开发的工程师
[鑫森淼焱垚] 发表于 2025-2-21 23:12 来自手机 | 显示全部楼层
楼主高啊
 楼主| nczywq 发表于 2025-2-21 23:41 来自手机 | 显示全部楼层
yangxiaor520 发表于 2025-2-21 19:45
这种开发模式适合喜欢纯Linux环境开发的工程师

非常适合vscode开发的
xionghaoyun 发表于 2025-2-22 08:20 | 显示全部楼层
谢谢LZ 但我觉得keil界面好看
lulugl 发表于 2025-2-22 09:41 | 显示全部楼层
支持楼主的想法与行动,期待楼主大佬成功!
 楼主| nczywq 发表于 2025-2-22 14:23 来自手机 | 显示全部楼层
lulugl 发表于 2025-2-22 09:41
支持楼主的想法与行动,期待楼主大佬成功!

谢谢,其实已经成功了,只是在完善bootloader程序,当年和我一起学习的同学,他们用的mcu都只支持cmake了,连stm32cubemx也添加了对cmake的支持,如果这里有官方,能为他们以后支持cmake做个参考,因为cmake几乎跨了所有平台,代码从github下clone下来就可以随时修改,编译下载,及版本管理。
suncat0504 发表于 2025-2-26 23:14 | 显示全部楼层
佩服楼主的毅力。我是咋方便快速开发就咋来,不想提高学习成本。
地瓜patch 发表于 2025-2-28 12:24 来自手机 | 显示全部楼层
这是高手
Louis-Lou 发表于 2025-6-9 16:40 | 显示全部楼层
你好,谢谢你分享的成果,但我在使用pyocd,daplink, 配置vscode插件cortex-debug,进行调试时,无法在断点处暂停,请求你遇到过吗?有什么解决办法,谢谢。这是我的launch.json文件内容:
{
    "version": "0.2.0",
    "configurations": [
        {
            "cwd": "${workspaceRoot}",
            "type": "cortex-debug",
            "request": "launch",
            "name": "pyocd-dap",
            "servertype": "pyocd",
            "executable": "./build/myproject.elf",
            "runToEntryPoint": "main",
            "svdFile": "${workspaceRoot}/drivers/cmsis/Device/HDSC/hc32f4xx/Source/GCC/svd/HC32F4A0.svd",
            "device": "hc32f4a0xi",
            "toolchainPrefix": "arm-none-eabi"
        },
    ]
}
guijial511 发表于 2025-6-10 08:51 来自手机 | 显示全部楼层
这种开发模式会不会太复杂了
 楼主| nczywq 发表于 2025-6-17 13:24 | 显示全部楼层
guijial511 发表于 2025-6-10 08:51
这种开发模式会不会太复杂了

不复杂啊,同样是全平台,可以用命令行,可以在github上面,使用CI/CD,来自动化编译和发布固件
sj8zw8 发表于 2025-6-23 01:02 | 显示全部楼层
修改链接脚本消除此警告不支持 11 版本以下编译器
9dome猫 发表于 2025-6-30 16:12 | 显示全部楼层
使用 Git 克隆:git clone https://github.com/nczyw/hc32f4a0-drivers.git
直接从 GitHub 下载压缩包。
9dome猫 发表于 2025-6-30 16:13 | 显示全部楼层
3 种运行模式:bootloader(引导加载程序)、app(应用程序)、normal(普通模式)。
远芳侵古道 发表于 2025-6-30 23:33 | 显示全部楼层
Flash 前 128KB 用于 bootloader,其余空间分配给 app。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

83

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部