如何修改初始SDK工程 | 《平头哥剑池CDK快速上手指南》第四章-阿里云开发者社区

开发者社区> 平头哥芯片开放社区> 正文
登录阅读全文

如何修改初始SDK工程 | 《平头哥剑池CDK快速上手指南》第四章

简介: 根据第一章节的内容,my_solution目前是根据初始组件化工程而来,这里需要根据SmartL平台的内容,对当前SDK工程进行必要的更新和修改。

3.1 新增一个开发板组件

在SmartL_SDK节点下新增一个SmartL_Board的开发板组件。

image.png

然后右击工程视图的SmartL_Board节点,点击Add Source Folder选项,选中已经存在的代码目录,点击OK,此时将开发板组件的代码完全导入到新建的组件中了。
右击开发板组件SmartL_Board,在配置选项中,完成组件的编译配置:
1 在Compiler选项Global Config中,配置开发板组件需要提供给外部的头文件搜索路径;然后配置Debug Level也要配置包含调试信息的选项。

image.png

2 在Linker选项卡中配置使用的链接描述文件。

image.png

【备注】关于链接描述文件,solution、board、chip类型的组件的配置窗口的Linker选项卡中都可以配置,CDK会按照solution > board > chip的优先级,选择合适的链接文件使用。
在本例中,CDK会使用board组件配置的gcc_csky.ld文件作为链接描述文件。

3.2 更新当前的芯片组件

芯片组件的更新,主要包含芯片外设驱动的代码的编写,如果没有现成代码,需要逐个添加,编写代码,如果存在驱动代码,可以右击SmartL_Chip组件节点,选择Add Source Folder,将芯片组件需要包含的内容添加到芯片组件中。
本例中,将SmartL_Chip组件使用的csi_core接口和驱动代码,通过Add Source Folder的方式添加到芯片组件中。

image.png

完成源代码的添加以后,需要将使用的头文件路径配置到芯片组件配置对话框中的Compiler选项卡中。

image.png

由于我们添加的芯片组件代码中,包含了CPU的初始化和启动逻辑,所以,我们把之前SmartL_Chip组件包含的默认提供的芯片初始化的代码逻辑删除。

image.png

SmartL的SDK的硬件部分已经完成。

3.3 增加两个硬件无关的common组件

此外,我们还有两个代码模块需要添加,一个是RTOS的kernel部分,另外一个是一些工具函数。两部分的添加逻辑类似,这里介绍RTOS的kernel的添加。
右击my_solution工程节点,选择Create a Common Package选项,选择Clone from为,然后输入组件名称,点击OK

image.png

完成创建以后,工程视图会出现Packages节点,该节点表示直接被solution工程依赖的组件。该节点下面包含了刚刚创建出来的组件。

image.png

然后右击该节点,选择Add Source Folder,将需要添加的代码加入到组件中。然后在组件配置中的Compiler Tab中配置需要提供的全局头文件搜索路径。

image.png

至此,工程依赖的组件的添加和修改工作完成。

3.4 更新当前solution工程

对于工程本身,也是一个solution类型的组件,这里我们添加一些solution组件需要的代码,由于这些代码包含了main函数,所以,我们需要将工程默认的main函数所在的文件删除。
右击工程,通过New Folder创建新的目录,通过Add an Existing File添加已经存在的某个源文件。
然后根据solution具体的编译需要,在工程节点的配置窗口中,对Compiler、Linker等选项卡中的内容进行配置。

image.png

【备注】如果想要了解这些选项卡中的每个字段的节点的含义,在界面显示该节点时,点击Help按钮,就会直接显示配置含义。
至此,完成了主要代码的编写和工程编译的配置工作。

3.5 调试和Flash配置

调试相关配置,SmartL包含了Flash区间的调试,需要将工程配置窗口Debug选项卡中的ICE Settings子窗口中的Download to Flash勾选。

image.png

这样,工程就可以在Flash区间进行调试了。
对于Flash的配置,需要在工程配置窗口的Flash选项卡中进行配置,其中Options for Target Deriver区域需要配置Flash烧写的操作。

这里SmartL使用Erase Sectors的擦除方式,并在烧写完成进行Verify验证。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
平头哥芯片开放社区
使用钉钉扫一扫加入圈子
+ 订阅

芯片开放社区(Open Chip Community 简称OCC),是平头哥芯片基础设施的云端载体,提供开发中心、创芯空间、技术部落等互动版块,汇聚海量应用资源,助力芯片合作伙伴构建软硬融合的芯片生态。面向芯片企业,OCC以应用驱动芯片精准定义、以全栈技术支撑芯片敏捷开发;面向开发者,OCC以芯片生态降低IoT开发门槛、以1520体系加速IoT产品落地。

官方博客
官网链接