CDK 调试窗口配置参考
1、Debug配置
1)Use ICE。使用仿真器,请选择ICE。
2)Stop at
main。进入debug模式后,代码直接运行并停在main()。
3)Soft
Reset。软复位内容由CPU决定。目前APT所有芯片的软复位内容都为0xabcd1234。
4)Perform Reset after
Load。进入debug模式后,执行一次复位操作。
2、ICE configuration
在Debug界面点击Settings会进入ICE Configuration。如下图。
1)ICE
Clock。ICE的时钟设置建议不超过芯片上电后运行的最慢时钟的1/4。
2)Enable debug print。参考“如何使用CDK的serialpane"。
3)Reset
After Connect。连接上后进行软复位操作。
4)Update。查看调试器和芯片的连接情况。
5)Download to
Flash。进入调试模式前,把代码download到芯片Flash内。
如果您的电脑使用了如360之类的杀毒软件,除了在安装过程中允许CDK的操作之外,安装之后,必须将整个CDK安装目录加入到杀毒软件的白名单区。
在一些工程中,存在一些条件编译(如下图)。
当多个文件同时需要这个条件编译的时候,可以通过设置全局条件编译统一管理。
有时候build后会出现下列错误,提示某些函数没有被定义。但在CDK环境下,却可以通过goto implementation定位到。
出现这个提示,说明不是函数声明的问题,而是连接器没有找到对应函数的目标文件。
这时候,您需要就检查
1、link type。确保选中了“start-group"
2、包含这个函数的文件加入工程的方式。
如果只是把文件copy到工程目录,即使reload all project,这个文件对工程来说仍然可能是不可见的。您需要通过工程视图右键“Add an Exsiting File” 或者 “Add Source Folder”。
3、查看相关函数是否被宏定义包裹。
如果是,需要对相应的宏进行定义。
根据CDK的提示信息,列举如下:
1、如果CDK提示如下,说明您的的仿真器没有和PC连接。
2、如果CDK提示如上,说明您的仿真器没有和芯片连接。
请检查:
● 仿真器和芯片的物理连接是否稳定。
● 芯片供电是否正常。
● 对于一些有多组SWD口可以选择的芯片,请检查实际连接的SWD口是否和user option中的设置一致。
● 芯片的SWD口有没有被误改为非SWD功能。如果您曾经连接成功,而后失败,很可能是这种情况
3、如果CDK提示如上,说明您的仿真器处于非正常状态。通常可以通过复位仿真芯片或是给仿真器重新上电解决。
4、如果CDK提示如上,CDK编译正常,但不能Debug。说明您的仿真器连接是正常的,但杀毒软件把CDK的仿真bin文件清除了,要恢复且把杀毒软件清除选项配置不要清CDK相关文件才行。
提示找不到flash 算法,如下图所示。
您需要做两个操作。
● Flash Management,将对应芯片的Flash算法加入到CDK的库中。
● 点击CKD菜单栏中的“Flash” -> "Flash Management..." -> "Add" 选择代码库文件目录下 “..FLASHDOWNAPT32F102_FLASHDOWN.elf ” 文件。注意:此示例是添加APT32F102的Flash文件,如果是其他系列产品操作流程一样。
=》
● 选择工程所用到的Flash 算法。
● 点击CKD菜单栏中的“Project” -> "Open Active Project Options..."(或者点击Project View栏中的快捷按钮),在Project Settings对话框中点击“Flash” ->"Add",弹出对话框选中"apt32f102"点击“Add”再点“OK”退出,重新编译即可通过。
当调试器提示 校验失败时,
您可以尝试:
1、重新下载
2、尝试flash erase
3、检查是否加载了正确的flash算法文件。
如果上述尝试都不成功,请更换芯片。
正常情况下,开发板通电后状态如下图。
现将led指示状态说明如下。
1、蓝灯常亮:仿真芯片空闲。
2、蓝灯闪烁:仿真芯片busy。
3、蓝灯不亮,上方红灯闪烁,指示错误。此时,检查
● 电脑是否同时连接两块开发板。这样会有冲突。
● 电脑是否处于开机状态。
4、右侧芯片端红色灯亮:芯片供电正常。
驱动代码更新后,工程视图中会出现红色的问号。如下图所示。这是因为驱动代码的版本号更新了。
解决方法:
1、switch SDK,选择最新版本。
2、Reload All Projects
CDK支持两种形式的串口通信。可以用来做为简单的调试输出和输入。
形式 | 占用芯片串口资源 | 需要CPU支持 | 输出 | 输入 | 非调试界面使用 | |
1 | Debug(print) | 不占用 | 依赖 (CK801支持,CK802不支持) | 支持 | 不支持 | 不行 |
2 | Uart # | 占用,需要将芯片UART口通过串口USB转接板连接到PC | 不依赖 | 支持 | 支持 | 可以 |
使用方法如下:
1、Debug(print)
● Enable debug print
● 工程配置Compiler tab下加入Define "DBG_PRINT2PC=0;" 或者去掉这个define。
● 打开view
2、Uart #
● 工程配置 Compilertab下加入Define "DBG_PRINT2PC=1;"
● 打开view(同Debugprint)
● 配置串口(COM口,波特率等)