如何修改初始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验证。

相关文章
|
9月前
|
芯片
平头哥芯片CDK无法编辑的原因
平头哥芯片CDK无法编辑的原因
110 1
|
12月前
|
物联网 开发工具 开发者
玄铁RISC-V处理器入门与实战-平头哥RISC-V 工具链-剑池CDK开发工具
玄铁RISC-V处理器入门与实战-平头哥RISC-V 工具链
277 1
|
12月前
|
开发工具 芯片 开发者
|
开发工具 Perl
VIVADO2022 sdk 工程创建流程
正点原子uart历程复现,csdn博客 本人搬运
247 0
《平头哥剑池CDK快速上手指南》电子版地址
《平头哥剑池CDK快速上手指南》电子书
169 0
《平头哥剑池CDK快速上手指南》电子版地址
《平头哥剑池CDK快速上手指南》电子版下载地址
《平头哥剑池CDK快速上手指南》电子书
250 0
《平头哥剑池CDK快速上手指南》电子版下载地址
|
3小时前
|
JavaScript Java Maven
云效产品使用常见问题之android sdk 构建出aar后,上传到私有maven仓库失败如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
3小时前
|
安全 开发工具 Android开发
几个Flutter常见诊断错误与解决Android toolchain - develop for Android devices X Unable to locate Android SDK
几个Flutter常见诊断错误与解决Android toolchain - develop for Android devices X Unable to locate Android SDK
437 0
|
7月前
|
API 开发工具 Android开发
解决 Android App 上架 Google play后 ,签名变更,第三方sdk无法登录
解决 Android App 上架 Google play后 ,签名变更,第三方sdk无法登录
153 0
|
3小时前
|
开发工具 Android开发
Android获取SDK的版本信息
Android获取SDK的版本信息
46 0