二、如何创建初始组件化SDK工程
开发者可以通过本章节中SmartL平台学习SDK的制作过程,展示CDK中制作一个SDK的通用做法,为其他SDK制作人员提供一些使用引导。
SmartL平台的基本资料在OCC的OS平台链接中。本文使用的SDK的源代码,是基于OS平台的旧版本的非组件化的SDK工程,源代码也OCC的E802 SDK链接中。
1 创建初始组件化SDK工程
1.1 新建工程结构简介
菜单栏Project->New SOC Project窗口提供创建一个初始组件化的SDK工程的入口。
在打开的窗口中输入需要的SDK工程名称,Project Type类型选择Solution Package,Package Path设置正确的路径,该路径用来保存工程使用到的组件。
配置完成以后,点击OK,即完成了一个初始的组件化的SDK工程。
整个视图,包含三个部分:
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的组件创建自己的新组件。
点击OK,完成SDK组件创建,然后右击工程视图的SDK组件,选择Create a new package选项,然后弹出的窗口中,填写新建的芯片组件名,SmartL_Chip,并选择__SDK_CK802作为基础组件去创建。
1.3 修改链接脚本文件,与平台存储空间相符
根据SmartL平台手册,将默认的LD文件的存储区域修改为与SmartL平台一致的区间。
CDK默认的LD配置了图形文本修改的方式,如果平台存储区域与默认配置不能匹配(例如超过两段Flash或RAM),那么此时需要根据GCC官方的语法要求,完成对应LD文件的配置。需要注意的地方在于,默认LD文件中的以下符号,不要去随意改动:
这些符号,在组件SmartL_Chip中的src/ck802.c文件中使用到。