开发者社区> 问答> 正文

如何修改初始SDK 工程?

已解决

如何修改初始SDK 工程?

展开
收起
詹姆斯邦德00 2022-07-04 15:42:35 729 0
1 条回答
写回答
取消 提交回答
  • 推荐回答

    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 文件作为链接描述文件。

    2、更新当前的芯片组件

    芯片组件的更新,主要包含芯片外设驱动的代码的编写,如果没有现成代码,需要逐个添加,编写代码,如果存在驱动代码,可以右击SmartL_Chip 组件节点,选择Add SourceFolder,将芯片组件需要包含的内容添加到芯片组件中。

    本例中,将SmartL_Chip 组件使用的csi_core 接口和驱动代码,通过Add SourceFolder 的方式添加到芯片组件中。

    image.png

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

    image.png

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

    image.png

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

    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

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

    image.png

    4、更新当前solution 工程

    对于工程本身,也是一个solution 类型的组件,这里我们添加一些solution 组件需要的代码,由于这些代码包含了main 函数,所以,我们需要将工程默认的main 函数所在的文件删除。

    右击工程,通过New Folder 创建新的目录,通过Add an Existing File 添加已经存在的某个源文件。

    然后根据solution 具体的编译需要,在工程节点的配置窗口中,对Compiler、Linker 等选项卡中的内容进行配置。

    image.png

    【备注】 如果想要了解这些选项卡中的每个字段的节点的含义,在界面显示该节点时,点击Help按钮,就会直接显示配置含义。

    至此,完成了主要代码的编写和工程编译的配置工作。

    5、调试和Flash 配置

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

    image.png

    这样,工程就可以在Flash 区间进行调试了。

    对于Flash 的配置,需要在工程配置窗口的Flash 选项卡中进行配置,其中Options for Target Deriver 区域需要配置Flash 烧写的操作。

    image.png

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

    以上内容摘自《平头哥剑池CDK快速上手指南》电子书,点击https://developer.aliyun.com/topic/download?id=1072可下载完成版

    2022-07-04 16:31:30
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
问答排行榜
最热
最新

相关电子书

更多
从 SDK 到编解码:视频直播架构解析 立即下载
跨平台的云服务SDK需要什么 立即下载
一个跨平台的云服务SDK需要什么 立即下载