主要观点总结
本文介绍了安信可星闪模组的开源SDK环境搭建、新建工程、编译与烧录以及验证结果的步骤和注意事项。包括SDK获取环境搭建、新建工程、编译与烧录流程,以及运行出错说明、注意事项和免责声明。
关键观点总结
关键观点1: 安信可星闪SDK开源
安信可星闪SDK终于开源,小伙伴可以进行二开,即不满足AT的情况下进行二次开发。
关键观点2: 环境搭建和新建工程
需要获取SDK环境并进行搭建,然后新建工程,包括复制demo工程并修改相关文件,修改CMakeLists.txt和config.py文件。
关键观点3: 编译与烧录流程
通过插件进行编译和烧录,包括选择编译、清除编译结果和烧录,以及配置烧录端口和波特率。
关键观点4: 验证结果和注意事项
介绍如何验证结果,包括SDK绑定说明、运行出错说明、注意事项和免责声明。
正文
年初安信可星闪模组亮相
除了对于购买的期待外
不少小伙伴关注的点是
能二开吗?
二开吗?
开吗?
......
在历经几个月后,
不少小伙伴感到失望,并表示“遥遥无期了”
(喂,谁说的,站出来!
)
好了!这次!!!
大家心心念念的星闪 SDK 终于开源了,不满足 AT 的情况下可以进行二开了~~
那本次给大家带来
安信可星闪开源版 SDK
的环境搭建和新建工程。我们
推荐的开发方式是 VsCode+ 插件的形式
,简单好用。(
需要有一丢丢动手能力——安装 VsCode 和部分软件依赖包),开始整活!
在 SDK 目录下的 application 中我们可以看到有一个 demo 的工程,该工程为默认编译的工程。既然要新建工程,我们直接 copy 原来的 demo 工程在一个目录下,并且改名为 helloworld,一同将里面的文件名称也改为我们熟悉的 helloworld.c 和 helloworld.h。
依旧简简单单修改一下.c 和.h 的头文件和宏规范。
为了区分 demo 文件,我们把 Log 打印的内容改成 HelloWorld。
注意,工程入口函数统一为 axk_main,也就是熟知的 main 函数。
本工程只是创建了两个任务循环执行。
然后改一下
工程下的 CMakeLists.txt
,把工程命和已有的.c 文件添加进去。
把 application 目录下的 CMakeLists.txt
,使用 add_subdirectory_if_exist 添加工程。
最后,改一下 build\config\target_config\bs21\config.py 目录下,ram_component 数组的内容。将我们的工程名添加进去。
到此为止我们的工程就搭建完成了。
点击插件,在对应的 SDK 下可以选择编译,清除编译结果,还有烧录。
点击 Build,进行编译。出现 SUCCESS 代表编译成功。
工程配置中配置好对应的烧录端口。也可以改烧录波特率。
点击 Upload,出现 Connecting, please reset device...后按下开发板的 RST 按键。等待进度条完成。
烧录完成后注意断电复位!插拔 VCC 或者 USB 供电线。
星闪 SDK 目前处于半开源状态,只开放函数接口供用户使用,基于这些接口,你完全可以使用星闪的各种资源。如果需要更多资源,请联系
安信可科技
。签署保密协议之后,SDK 的所有源码都会开放。
目前,星闪开源 SDK 只适用于安信可 Ai-BS21 系列模组,包括:Ai-BS21-32S、Ai-BS21-32S-Kit、AiPi-SLE-Dongle。如果不是在安信可出货的模组,将不会运行本 SDK 编译出来的固件。
Github
https://github.com/Ai-Thinker-Open/Ai-BS21_SDK.git
Gitee
https://gitee.com/Ai-Thinker-Open/Ai-BS21_SDK.git
问题解释
SDK 做了绑定之后才开放,这就意味着大家手中的星闪模组或者开发板将不能使用 SDK,因为出厂固件不带绑定信息,导致 SDK 校验失败,导致固件烧录无法运行的情况。
解决方法
我们已经开发了一个绑定信息写入固件,运行固件之后会在模组的内部写入固定的绑定信息,大家只需要烧录一次之后,就能使用 SDK 进行开发。
固件下载地址:
https://docs.ai-thinker.com/_media/init_sdk_fw.zip
上述提到的固件写入的是固定的绑定信息,这就意味着大家目前手中的开发板运行了上述固件之后,绑定信息都是一样的。当然,非安信可生产的星闪(芯片为 bs2821)产品也可以通过这个固件来使用本 SDK,但是这种情况不适合商用!
免责声明
我司不对因用户将本软件应用于其他厂商模组而导致的任何直接、间接、附带、特殊、衍生性或惩罚性的损害负责,包括但不限于数据丢失、业务中断、设备故障、经济损失等。
我司不保证本软件在其他厂商模组上的性能、稳定性、安全性和准确性。用户应自行评估和承担使用本软件的风险。
如果用户在使用本软件过程中遇到问题,我司将仅对使用我们公司模组的用户提供技术支持和售后服务。对于使用其他厂商模组的用户,我司不承担任何技术支持和售后服务的责任。