原创 CW32充电检测仪-双向直通版使用Keil编译下载问题及解决

2024-11-28 11:04 145 0 分类: MCU/ 嵌入式 文集: CW32

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

1.焊接数码管,阅读文档,下载程序资料

我焊接的数码管效果图如下,我是将数码焊接到元器件的同一面了,这样整个检测仪的背面没有任何元件。

fig:

文档链接:https://dwi41yhz703.feishu.cn/docx/A3hCd6gBkoi15LxE8NWcy3UknRg

先从这个文档的第二章下载CW32充电检测仪的程序。我下的是最新的,最后那个。

fig:

2.安装PACK包

fig:

在下载到固件代码后,需要先安装muc的pack包,pack包在对应工程代码目录的\IDEsupport\MDK目录下。双击*.pack后缀名的文件,按提示直接next安装完成。

fig:

3.编译问题

安装完pack包后,直接重新编译出现好多这样的错误如下:


Rebuild started: Project: project
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'E:\Keil_v5\ARM\ARMCC\Bin'
Rebuild target 'Project'
assembling startup_cw32l010.s...
compiling seg.c...
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.
    #error Unknown compiler.
..\USER\src\seg.c: 0 warnings, 1 error
.
.省略11个雷同错误
.
compiling cw32l010_systick.c...
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.
    #error Unknown compiler.
..\..\Libraries\src\cw32l010_systick.c: 0 warnings, 1 error
".\Objects\project.axf" - 13 Error(s), 0 Warning(s).
Target not created.
Build Time Elapsed:  00:00:03

错误提示未知的编译器,因为工程默认使用编译器版本5的编译器编译。

fig:

如果这里改成6版本的编译器编译,虽然能编译通过,但是下载程序后发现程序运行是不正常的。

fig:

这个问题我想着是不是使用了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即可,没有这个版本的需要提前下载安装好。

fig:

然后编译的结果如下:


Rebuild target 'Project'
compiling system_cw32l010.c...
assembling startup_cw32l010.s...
compiling main.c...
compiling interrupts_cw32l010.c...
compiling seg.c...
compiling ADC.C...
..\USER\src\ADC.C(14): warning:  #177-D: variable "i"  was declared but never referenced
        unsigned int i;
..\USER\src\ADC.C(65): warning:  #1-D: last line of file ends without a newline
  }
..\USER\src\ADC.C: 2 warnings, 0 errors
compiling flash.c...
compiling cw32l010_sysctrl.c...
compiling cw32l010_gpio.c...
compiling cw32l010_btim.c...
compiling cw32l010_adc.c...
compiling cw32l010_flash.c...
compiling cw32l010_systick.c...
compiling ntc.c...
linking...
Program Size: Code=7356 RO-data=692 RW-data=108 ZI-data=2124  
".\Objects\project.axf" - 0 Error(s), 2 Warning(s).
Build Time Elapsed:  00:00:13

4.烧录问题

编译0错误,可暂时忽略告警,然后下载程序,我使用的是JLink下载,在调试器配置页面,遇到了这样的错误提示"The selected device "CW32L010F8" is unknown to this version of the J-Link software"。

fig:

这里我是直接点这个错误提示的OK按钮,然后弹出一个选择目标芯片的对话框。我这里是直接选择Cortex-M0+如下图。

fig:

然后重新下载,解决了这个下载的问题。

5.功能演示

最终的功能演示如下,会依次显示电流、电压、功率、温度、呼吸灯。

fig:

作者: axushilong, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-295363.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论0条评论)

登录后参与讨论
我要评论
0
0
关闭 站长推荐上一条 /2 下一条