开发工具与调试技巧
文章平均质量分 93
工欲善其事,必先利其器。本专栏专注于APM32开发的工具链和调试方法,内容涵盖pyocd、SWD接口应用、内存读取、CMake构建系统、Clion IDE配置、J-Link与DAPLink调试器使用、Makefile编译以及OpenOCD的编译与应用等,旨在提升您的开发效率和问题解决能力。
Geehy极海半导体
珠海极海半导体有限公司(简称:极海半导体),是一家致力于开发工业级/车规级微控制器、高性能模拟与混合信号IC及系统级芯片的集成电路设计型企业。极海半导体团队拥有20年集成电路设计经验和嵌入式系统开发能力,可为客户提供核心可靠的芯片产品及方案,实现准确感应、安全传输和实时控制,助力客户在智慧家居、高端消费电子、工业控制、汽车电子、智慧能源以及通信设施等领域的拓展创新。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
APM32芯得 EP.30 | 一根USB线搞定高速传输与日志打印
本文介绍了如何利用APM32F402芯片的USB OTG功能实现USBCDC虚拟串口输出调试日志的方法。相比传统UART串口,USBCDC具有带宽高、接线简单、可同时支持WinUSB数据传输等优势。通过将设备配置为USB复合设备,可实现一根USB线同时传输数据和输出日志。文章详细说明了printf重定向的实现步骤,包括初始化USBCDC、修改fputc函数、添加缓冲区机制等关键代码。这种方案能有效节省硬件资源,简化调试流程,特别适合数据采集设备等需要同时处理高速数据传输和实时调试的应用场景。原创 2025-08-21 11:29:22 · 853 阅读 · 0 评论 -
APM32芯得 EP.28 | JLink7.70c更高版本驱动添加自定义设备方法
本文详细介绍了在新版JLink驱动中添加官方不支持的设备的方法。与旧版本直接修改安装目录下的 JLinkDevices.xml 文件不同,新版JLink采用了更灵活的中央文件夹管理机制。原创 2025-08-13 18:11:21 · 816 阅读 · 0 评论 -
APM32芯得 EP.27 | 告别IDE,为APM32F411打造轻量级命令行开发工作流
本文介绍了在不使用集成开发环境(IDE)的情况下,通过搭建GCC+Makefile本地编译环境,实现对APM32F411芯片程序的编译和下载。文章详细说明了工具链准备(包括make、GCC和PyOCD工具)、源码选择和配置、Makefile脚本编写等关键步骤。通过命令行操作,成功完成了程序的编译和下载,验证了该方法的可行性。该方法为开发者提供了不依赖IDE的编译下载方案,适用于特定开发场景。原创 2025-07-30 09:47:14 · 1048 阅读 · 0 评论 -
APM32芯得 EP.16 | 一字之差,性能提升5倍 —— 充分发挥APM32F411的FPU潜能
本文介绍了APM32F411微控制器中硬件FPU的应用方法。测试表明,当处理单精度浮点运算时,开启FPU可将200次乘法运算时间从73.48us缩短至16.4us,提升81.67%。关键要点:1)需在Keil中设置"Single Precision"选项启用FPU;2)浮点常量须加"f"后缀以触发FPU加速;3)双精度运算反而会降低性能。实验通过逻辑分析仪和汇编代码对比验证了优化效果,建议在单精度浮点运算场景中开启FPU并正确使用数据类型后缀。原创 2025-06-26 10:01:34 · 734 阅读 · 0 评论 -
APM32芯得 EP.15 | 基于APM32F411的DMA_ADC Handler模式分析及解决
本文分析了APM32F411芯片ADC采集过程中的中断配置问题。在使用DMA_ADC例程时,发现手册要求配置ADC中断,但实际无需中断也能完成连续转换采集。通过复现官方例程发现,当启用ADC中断但未定义中断服务函数时,系统会不断进入默认中断处理程序,导致程序在Handler模式和线程模式间反复切换,最终卡死在未处理的ADC中断中。文章详细解读了DFSR寄存器状态和启动文件中的中断向量表机制,指出问题根源在于未处理中断服务函数引发的死循环现象。原创 2025-06-25 09:45:19 · 980 阅读 · 0 评论 -
APM32芯得 EP.14 | 使用CMake构建APM32工程
本文介绍了使用CMake和MinGW-w64构建APM32嵌入式工程的方法。主要内容包括:1. 环境搭建:安装CMake、MinGW-w64和gcc-arm-none-eabi工具链;2. 编写CMakeLists.txt配置文件,设置编译选项、宏定义、文件路径等;3. 构建工程并生成可执行文件。该方法替代了传统IDE开发方式,实现了跨平台构建,适用于APM32系列MCU开发,最后可通过OpenOCD等工具进行下载调试。原创 2025-06-18 15:20:13 · 799 阅读 · 0 评论 -
APM32芯得 EP.13 | GPIO翻转速度极限在哪里?
本文测试了APM32F103ZE芯片GPIO引脚的最大翻转速度。通过C语言函数、寄存器操作和汇编语言三种方法逐步优化,最终测得最高翻转频率约为24MHz(主频96MHz时)。测试发现C语言函数版本受调用开销限制仅达1MHz,寄存器操作提升至约8MHz但波形不对称。汇编版本优化后实现24MHz稳定输出,但占空比仍不完美。结果说明即使采用最优方法,该芯片GPIO翻转存在约24MHz的物理极限。测试过程详细对比了不同实现方式的性能差异,为开发者提供了GPIO极限性能的参考数据。原创 2025-06-16 09:20:25 · 831 阅读 · 0 评论 -
APM32芯得 EP.11 | 玩点不一样的2,写个能读取APM32F411内存的小程序
本文介绍了使用Python和Tkinter图形库开发APM32F411内存读取工具的实现过程。作者通过pyocd和Geehylink连接开发板,设计了支持字节/半字/字显示格式的GUI界面,采用多线程处理数据读取与UI显示,并实现了内存数据保存为二进制文件的功能。文章详细讲解了设备连接检测、内存缓存管理、进度显示等关键技术点,同时分享了界面布局设计思路。该工具简化了调试过程中的内存数据读取操作,虽然目前功能较基础,但为后续扩展预留了空间。原创 2025-06-11 09:27:57 · 1037 阅读 · 0 评论 -
APM32芯得 EP.08 | 还在用 Keil?这篇手把手教你用 CLion 搭建 APM32 开发环境,体验真正的“优雅”!
本文详细介绍了如何使用 CLion 开发 APM32,并通过 CMake 构建工程,涉及环境搭建、工具链配置、工程导入、编译和调试的完整流程,为开发者提供了高效、优雅的嵌入式开发方法。原创 2025-06-09 10:36:52 · 1108 阅读 · 0 评论
分享