[产品应用] CW32充电检测仪-双向直通版使用Keil编译下载问题及解决

[复制链接]
 楼主| axushilong 发表于 2024-11-28 10:57 | 显示全部楼层 |阅读模式
1.焊接数码管,阅读文档,下载程序资料
我焊接的数码管效果图如下,我是将数码焊接到元器件的同一面了,这样整个检测仪的背面没有任何元件。
9ae72a90e9a4c20df948f2b00e5dd5a2
文档链接:https://dwi41yhz703.feishu.cn/docx/A3hCd6gBkoi15LxE8NWcy3UknRg
先从这个文档的第二章下载CW32充电检测仪的程序。我下的是最新的,最后那个。
9c2c420dbcf292f3fd03d4a614adfbf0
2.安装PACK包
0563520e094e9fe3c9a577700f622e67
在下载到固件代码后,需要先安装muc的pack包,pack包在对应工程代码目录的\IDEsupport\MDK目录下。双击*.pack后缀名的文件,按提示直接next安装完成。
f8350e3a3761c51af075f5fbace3135c
3.编译问题
安装完pack包后,直接重新编译出现好多这样的错误如下:
  1. Rebuild started: Project: project
  2. *** Using Compiler 'V5.06 update 6 (build 750)', folder: 'E:\Keil_v5\ARM\ARMCC\Bin'
  3. Rebuild target 'Project'
  4. assembling startup_cw32l010.s...
  5. compiling seg.c...
  6. E:\Users\P\AppData\Local\Arm\Packs\ARM\CMSIS\6.0.0\CMSIS\Core\Include\cmsis_compiler.h(319): error:  #35: #error directive: Unknown compiler.
  7.     #error Unknown compiler.
  8. ..\USER\src\seg.c: 0 warnings, 1 error
  9. .
  10. .省略11个雷同错误
  11. .
  12. compiling cw32l010_systick.c...
  13. E:\Users\P\AppData\Local\Arm\Packs\ARM\CMSIS\6.0.0\CMSIS\Core\Include\cmsis_compiler.h(319): error:  #35: #error directive: Unknown compiler.
  14.     #error Unknown compiler.
  15. ..\..\Libraries\src\cw32l010_systick.c: 0 warnings, 1 error
  16. ".\Objects\project.axf" - 13 Error(s), 0 Warning(s).
  17. Target not created.
  18. Build Time Elapsed:  00:00:03

错误提示未知的编译器,因为工程默认使用编译器版本5的编译器编译。
75472886246c5dda2763d01d42dde1b6
如果这里改成6版本的编译器编译,虽然能编译通过,但是下载程序后发现程序运行是不正常的。
175db209237179460949ff7693223d74
这个问题我想着是不是使用了CMSIS包的原因导致的,毕竟报错的里面提醒了"E:\Users\P\AppData\Local\Arm\Packs\ARM\CMSIS\6.0.0\CMSIS\Core\Include\cmsis_compiler.h(319): error: #35: #error directive: Unknown compiler."中有"CMSIS\6.0.0",于是我改低了版本,然后使用5版本的编译器编译通过。CMSIS版本具体按照下图提示勾选5.9.0即可,没有这个版本的需要提前下载安装好。
373ddbde59bcbed5b5dd5f826f7bce74
然后编译的结果如下:
  1. Rebuild target 'Project'
  2. compiling system_cw32l010.c...
  3. assembling startup_cw32l010.s...
  4. compiling main.c...
  5. compiling interrupts_cw32l010.c...
  6. compiling seg.c...
  7. compiling ADC.C...
  8. ..\USER\src\ADC.C(14): warning:  #177-D: variable "i"  was declared but never referenced
  9.         unsigned int i;
  10. ..\USER\src\ADC.C(65): warning:  #1-D: last line of file ends without a newline
  11.   }
  12. ..\USER\src\ADC.C: 2 warnings, 0 errors
  13. compiling flash.c...
  14. compiling cw32l010_sysctrl.c...
  15. compiling cw32l010_gpio.c...
  16. compiling cw32l010_btim.c...
  17. compiling cw32l010_adc.c...
  18. compiling cw32l010_flash.c...
  19. compiling cw32l010_systick.c...
  20. compiling ntc.c...
  21. linking...
  22. Program Size: Code=7356 RO-data=692 RW-data=108 ZI-data=2124  
  23. ".\Objects\project.axf" - 0 Error(s), 2 Warning(s).
  24. Build Time Elapsed:  00:00:13

4.烧录问题
编译0错误,可暂时忽略告警,然后下载程序,我使用的是JLink下载,在调试器配置页面,遇到了这样的错误提示。
397f8a0b4a6220d2243cc71a76d7b1f5
这里我是直接点这个错误提示的OK按钮,然后弹出一个选择目标芯片的对话框。我这里是直接选择Cortex-M0+如下图。
b68e5d59c775a4281b5c1f64e81b0b71
然后重新下载,解决了这个下载的问题。
5.功能演示
最终的功能演示如下,会依次显示电流、电压、功率、温度、呼吸灯。
6da47201dc2208051f4ad12df94b0aeb

您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

38

帖子

0

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

5

主题

38

帖子

0

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