平头哥芯片开放社区

使用钉钉扫一扫加入圈子

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

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可下载完成版

胡嘞嘞 评论 0

1

回答

1、新建工程结构简介

菜单栏Project->New SOC Project 窗口提供创建一个初始组件化的SDK 工程的入口。

image.png

在打开的窗口中输入需要的SDK 工程名称,Project Type 类型选择Solution Package,Package Path 设置正确的路径,该路径用来保存工程使用到的组件。配置完成以后,点击OK,即完成了一个初始的组件化的SDK 工程。

image.png

整个视图,包含三个部分:

  1. my_solution 工程节点,包含main 文件,以及可以配置的调试初始化脚本和Flash初始化脚本。

  2. __SDK_CK802 名称的sdk 类型的组件,该组件依赖了一个chip 组件。该组件的保存路径是之前新建工程时,配置的Package Path 指定的路径。

  3. __Chip_CK802 名称的chip 类型的组件,该组件包含了CPU 的初始化启动代码,以及链接脚本文件。该组件的保存路径是之前新建工程时,配置的Package Path 指定的路径。

至此,完成了一个初始的SDK 工程。

2、 新建平台相关的组件

这里的芯片和SDK 组件都是CDK 默认的组件,这里需要创建自己的组件。可以根据当前组件,创建自己平台的组件。

右击my_solution 工程节点,弹出菜单中选择Create a new SDK,弹出窗口填写需要的SDK 名称,以及使用__SDK_CK802 的组件创建自己的新组件。

image.png

点击OK,完成SDK 组件创建,然后右击工程视图的SDK 组件,选择Create a newpackage 选项,然后弹出的窗口中,填写新建的芯片组件名,SmartL_Chip,并选择__SDK_CK802 作为基础组件去创建。

image.png

3、修改链接脚本文件,与平台存储空间相符

根据SmartL 平台手册,将默认的LD 文件的存储区域修改为与SmartL 平台一致的区间。

image.png

CDK 默认的LD 配置了图形文本修改的方式,如果平台存储区域与默认配置不能匹配(例如超过两段Flash 或RAM),那么此时需要根据GCC 官方的语法要求,完成对应LD文件的配置。需要注意的地方在于,默认LD 文件中的以下符号,不要去随意改动:

image.png

这些符号,在组件SmartL_Chip 中的src/ck802.c 文件中使用到。

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

胡嘞嘞 评论 0

热门活动

展开