常见问题以及解答 | 《平头哥剑池CDK快速上手指南》第六章

问题1

Package Path是否可以设置多个?
回答:可以。在New SOC Project对话框中,Package Path只允许设置一个,工程设置完成以后,可以在工程节点右击,选择Packages path setting,就可以设置多个Package Path,并且可以设置每个Package Path的优先级,CDK根据优先级去查找、使用组件。

问题2

为何工程视图有代码文件,但是CDK没有编译该文件?
回答:确认该文件是否正确添加到CDK的编译规则中。目前,CDK识别组件源文件的编译与否,是在组件对应的package.yaml文件中的source_file节点,正常情况下,CDK不建议用户去手动修改该yaml文件,用户通过工程视图,Add Source Folder,Add an Existing File,Add a new File等操作中,CDK会自动更新该节点。如果遇到问题中提及的情况,可以直接检查一下该文件是否在yaml文件的source_file节点中,如果没有,可以根据yaml语法规则,手动添加进去,然后重新打开CDK即可。

问题3

Flash下载需要下载的内容不仅仅是工程elf文件本身,怎么将额外的内容下载到目标中?
回答:工程配置的Debug、Flash选项卡中,包含了Init File的配置:

常见问题以及解答 | 《平头哥剑池CDK快速上手指南》第六章

该文件会在烧写工程elf文件之前被执行,文件规则可以参考用户文档,即上图中点击Help即可查看。
该脚本download命令支持Flash的区域的烧写,支持的文件类型有elf、hex和bin三种:

【elf格式和hex格式】
download [verify=yes/no]
:格式说明,根据下载的文件类型,这里填写elf或者ihex
[verify=yes/no]:选择是否对download的文件进行verify操作;可选,如果不写,则默认使用工程配置中的Flash配置中的Verify选项的值;
:文件名称,支持$(ProjectPath)表示工程根路径。

【bin格式】
download bin [verify=yes/no] address=hex number
[verify=yes/no]:选择是否对download的文件进行verify操作;可选,如果不写,则默认使用工程配置中的Flash配置中的Verify选项的值;
address:设置bin文件烧录的起始地址,必须为16进制数据;
:文件名称,支持$(ProjectPath)表示工程根路径。

问题4

如何支持Flash区域的调试,如何自动的设置硬断点?
回答:在工程配置的Debug选项卡中的ICE Settings子选项卡中,勾选了Download to Flash,即开启了Flash区域调试的功能,同时,CDK中设置的断点默认情况下都是硬断点。
常见问题以及解答 | 《平头哥剑池CDK快速上手指南》第六章

问题5

上传组件提示“组件名已经其他账户xxx”的错误提示?
回答:组件名是稀缺的,如果一个组件名被某个账号使用,那么其他账户将无权限使用该组件名。解决方式:修改本地组件名,重新上传。

问题6

组件工程在调试目标中运行,并在终端输出运行错误信息以后,希望能够通过CDK attach到调试目标,直接查看出现错误的现场,应该如何操作?

回答:按照如下操作方式进行:
1 工程视图打开出现问题的组件工程的工程配置窗口,在Debug选项卡中,将Load Application to Target取消勾选,然后Init File不要勾选,最后,Perform Reset after Load也不要勾选;

常见问题以及解答 | 《平头哥剑池CDK快速上手指南》第六章

2打开ICE或Remote ICE的Settings窗口,确保Connect方式为Normal,并且不要勾选Reset after connect;

常见问题以及解答 | 《平头哥剑池CDK快速上手指南》第六章

3 点击OK,然后点击启动调试按钮,就可以直接attach到调试目标,在CDK的调试界面上查看各种需要的现场了。

问题7

遇到烧写显示成功,但是程序没有正常启动的情况,如何去检查错误?
回答:按照如下的检查步骤,逐个检查:

常见问题以及解答 | 《平头哥剑池CDK快速上手指南》第六章

1 查看方案工程配置窗口的Flash选项卡中的配置是否正确设置。

1 确认Program选项是否勾选,只有勾选了Program,点击下载或调试按钮,才会进行Flash的烧写操作。
2 确认Flash算法文件是否选择正确,具体配置规则,可以参考【2.4 配置算法文件到SDK工程】章节的配置方式检查。
3 如果前面检查确认无误,需要按照【问题6】描述的方法,attach到烧写显示成功以后的嵌入式设备中,然后将预期的Flash的区域的数据dump出来,与本机的镜像内容进行diff,查看具体的烧写错误的内容区域。

上一篇:透视盒马:新零售操作系统的秘密


下一篇:阿里巴巴副总裁、阿里云新零售事业部总经理肖利华:双十一的客户增长故事