如何创建初始组件化SDK工程 | 《平头哥剑池CDK快速上手指南》第二章

简介: 开发者可以通过本章节中SmartL平台学习SDK的制作过程,展示CDK中制作一个SDK的通用做法,为其他SDK制作人员提供一些使用引导。

二、如何创建初始组件化SDK工程

开发者可以通过本章节中SmartL平台学习SDK的制作过程,展示CDK中制作一个SDK的通用做法,为其他SDK制作人员提供一些使用引导。

SmartL平台的基本资料在OCC的OS平台链接中。本文使用的SDK的源代码,是基于OS平台的旧版本的非组件化的SDK工程,源代码也OCC的E802 SDK链接中。

1 创建初始组件化SDK工程

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工程。

1.2 新建平台相关的组件
这里的芯片和SDK组件都是CDK默认的组件,这里需要创建自己的组件。可以根据当前组件,创建自己平台的组件。
右击my_solution工程节点,弹出菜单中选择Create a new SDK,弹出窗口填写需要的SDK名称,以及使用__SDK_CK802的组件创建自己的新组件。

image.png

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

image.png

1.3 修改链接脚本文件,与平台存储空间相符
根据SmartL平台手册,将默认的LD文件的存储区域修改为与SmartL平台一致的区间。

image.png

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

image.png

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

相关文章
|
10月前
|
Ubuntu 编译器 开发工具
基于Ubuntu Server的YTM32 SDK工程编译
希望这个“烹饪”比喻能帮助你理解SDK工程编译的过程。记住,编程就像烹饪一样,需要耐心,实践,和不断的学习。祝你烹饪愉快!
177 21
|
数据可视化 API 开发工具
影创SDK☀️三、工程默认配置,及基础测试建议
影创SDK☀️三、工程默认配置,及基础测试建议
|
存储 测试技术 开发工具
创建制作SDK的静态库工程
创建制作SDK的静态库工程
289 1
|
芯片
平头哥芯片CDK无法编辑的原因
平头哥芯片CDK无法编辑的原因
297 1
|
物联网 开发工具 开发者
玄铁RISC-V处理器入门与实战-平头哥RISC-V 工具链-剑池CDK开发工具
玄铁RISC-V处理器入门与实战-平头哥RISC-V 工具链
856 1
|
开发工具 芯片 开发者
|
5月前
|
开发工具 Android开发
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
674 11
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
818 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
JavaScript 前端开发 Java
[Android][Framework]系统jar包,sdk的制作及引用
[Android][Framework]系统jar包,sdk的制作及引用
515 0
|
程序员 开发工具 Android开发
Android|使用阿里云推流 SDK 实现双路推流不同画面
本文记录了一种使用没有原生支持多路推流的阿里云推流 Android SDK,实现同时推送两路不同画面的流的方法。
329 7

热门文章

最新文章