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

相关文章
创建制作SDK的静态库工程
创建制作SDK的静态库工程
65 1
平头哥芯片CDK无法编辑的原因
平头哥芯片CDK无法编辑的原因
174 1
VIVADO2022 sdk 工程创建流程
正点原子uart历程复现,csdn博客 本人搬运
402 0
《平头哥剑池CDK快速上手指南》电子版地址
《平头哥剑池CDK快速上手指南》电子书
211 0
《平头哥剑池CDK快速上手指南》电子版地址

热门文章

最新文章

  • 1
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    5
  • 2
    【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
    18
  • 3
    CompreFace:Star6.1k,Github上火爆的轻量化且强大的人脸识别库,api,sdk都支持
    20
  • 4
    【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
    7
  • 5
    【Azure Developer】编写Python SDK代码实现从China Azure中VM Disk中创建磁盘快照Snapshot
    5
  • 6
    【Azure Storage Account】利用App Service作为反向代理, 并使用.NET Storage Account SDK实现上传/下载操作
    16
  • 7
    剑池CDK开发工具介绍 | 《平头哥剑池CDK快速上手指南》第一章
    10
  • 8
    2022云栖精选—平头哥在 RISC-V 软件生态的探索和实践
    1
  • 9
    【平头哥CB6121 BLE及BLE Mesh评估板试用】BLE MESH灯控开箱测评
    6
  • 10
    产品干货 | 平头哥剑池CDK 更新重磅来袭!三大亮点速看,邀你参与体验赢好礼
    2
  • 1
    【Azure Storage Account】利用App Service作为反向代理, 并使用.NET Storage Account SDK实现上传/下载操作
    16
  • 2
    【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
    48
  • 3
    CompreFace:Star6.1k,Github上火爆的轻量化且强大的人脸识别库,api,sdk都支持
    42
  • 4
    【Azure Developer】编写Python SDK代码实现从China Azure中VM Disk中创建磁盘快照Snapshot
    23
  • 5
    【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
    34
  • 6
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    164
  • 7
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    170
  • 8
    【01】完整开发即构美颜sdk的uni官方uts插件—让所有开发者可以直接使用即构美颜sdk的能力-优雅草卓伊凡
    77
  • 9
    AutoTalk第十三期-应知必会的自动化工具-阿里云SDK支持策略(一)
    59
  • 10
    自动化AutoTalk第十期:应知必会的自动化工具-阿里云SDK
    59
  • AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等