25 Star 15 Fork 7

合宙Luat / luatos-soc-2023

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

CSDK for ABCDEGF

Github Actions

注意:使用前请详细阅读readme的每一句话,不要跳过!!!

重要!!!特别注意!!!!!

重要!!!特别注意!!!!!

重要!!!特别注意!!!!!

由于芯片原厂对编译改动较大,新补丁会导致部分芯片无法ota,所以后续底层patch与bsp相关底层新功能将在luatos-soc-2024仓库进行更新维护,此仓库将仅进行修复影响产品使用的bug(如需要底层原厂patch的可能将无法解决),所以如果还未进行开发请直接使用新仓库,如果还未量产也请尽快迁移新仓库以免影响ota!!!对迁移用户我们也在新仓库提供了迁移文档(非常简单,仅需修改编译文件,几分钟就可完成迁移以便您可以顺利迁移),对此造成影响深感抱歉~

重要!!!特别注意!!!!!

重要!!!特别注意!!!!!

重要!!!特别注意!!!!!

本代码库在2023.12.27执行过重置histroy的操作,如果无法pull,请重新clone本代码库

注意:对于之前使用luatos-soc-2022仓库开发的项目代码无法直接复制到luatos-soc-2023编译使用,查看本仓库demo的xmake.lua进行修改并参考主库csdk api进行修改才可使用!!!

使用前须知!!!

  1. 强烈推荐使用git来下载本代码库, 不会命令行操作git可以用 tortoiseGit
  2. 本CSDK底层是没有AT指令的,不存在"调用某某AT指令"的情况
  3. 由于依赖luatos主库,所以要在 luatos-soc-2023 所在同级目录 clone LuatOS 仓库,否则编译报错
  4. 本项目使用xmake构建,就算不熟悉lua和构建也能直接上手使用,几乎不会在构建上花费您的时间,但如需自定义的一些操作请先查看下相关api
  5. 请留意, 本代码库使用的GCC版本与 luatos-soc-2022 库是不一样的, 无法更换,同样也不要擅自更改编译工具链

文档中心

介绍

CSDK for ABCDEGF, 适用于所有基于ABCDEGF的合宙模组, 包括衍生型号及海外型号:

  • Air780EP
  • Air780ET
  • Air780EL

目录说明

  • PLAT 打包好的sdk, 含协议栈, 部分源码, 头文件, 打包工具
  • project 项目文件, 每个不同的项目代表不同的demo或者turnkey方案
  • xmake.lua 主编译脚本, 一般不需要修改

编译说明

  1. 安装xmake, Windows安装时注意选取加入PATH. xmake下载地址:https://github.com/xmake-io/xmake/releases windows下载系统对应的xmake-x.x.x-win32.exe或者xmake-x.x.x-win64.exe安装即可. 建议使用最新版.

    注意:环境变量需重启电脑生效

    注意:如果网络无法下载github等地址,采用下面的本地地址下载,后续更新xmake也会同步更新下方地址!!!

    本地下载地址: https://pan.air32.cn/s/DJTr?path=%2F%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7

    linux和macos安装请自行参考,但并不建议,因为macos无法打包,并且Luatools只支持windows 安装教程: https://xmake.io/#/guide/installation

  2. 如果编译example的话在本代码库的根目录执行build.bat example进行编译,注意:默认编译ec718p,如需编译ec718sec716s需要自行修改build.bat中的CHIP_TARGET变量 其他设置参考 build.bat中的注释说明

    不建议使用linux编译,Luatools不支持linux,下载调试依然需要windows !!!

    linux下编译参考 windows的build.bat脚本, 先使用环境变量export PROJECT_NAME=example设置项目,其他的使用 xmake f --chip_target=xxx --lspd_mode=xxx --denoise_force=xxx 进行统一配置,最后执行xmake编译即可

    更多配置/编译自行参考 https://xmake.io

  3. 生成的binpkg位于out目录, 日志数据库文件位于PLAT目录

加入入口函数

  • 加入头文件common_api.h

  • 类似于void main(void),但是可以任意名字,不能有入口参数和返回参数,同时允许多个入口

  • 通过INIT_HW_EXPORT INIT_DRV_EXPORT INIT_TASK_EXPORT这3个宏修饰后,系统初始化的时候会调用function,不同的宏涉及到调用顺序不同

  • 大优先级上INIT_HW_EXPORT > INIT_DRV_EXPORT > INIT_TASK_EXPORT

  • 这3个宏有统一用法INIT_HW_EXPORT(function, level),其中function就是入口函数,level是小优先级,填"0","1","2"...(引号要写的),引号里数字越小,优先级越高。

  • INIT_HW_EXPORT一般用于硬件初始化,GPIO之类的,可以没有

  • INIT_DRV_EXPORT一般用于外设驱动初始化,初始化外部器件之类的,打开电源,提供时钟之类的,可以没有

  • INIT_TASK_EXPORT一般用于初始化任务,用户代码基本上都是跑在任务里,原则上必须有

加入自己的项目

  1. project新建目录,目录名称和项目名称一致,目录下新建xmake.lua,内容仿照着example写,核心是TARGET_NAME必须和项目名称一致
  2. 代码路径当然不是限制的,在SDK的任何目录,甚至电脑上的其他地方,前提是你会改project里xmake.lua内的源码路径
  3. 根目录执行build.bat 你的项目名称

在SDK外存放项目文件的编译方法

注意:这需要构建单独兼容,不会及时更新所以可能会出现一些问题(移芯构建会用到一些特殊配置操作,一些头文件要构建时候特殊配置),所以任何时候都不推荐使用此方法,可能会有问题却无法第一时间反映出来

假设项目路径是 F:\example_test , 目录结构如luatos-soc-2023\project\example一样,测试可将luatos-soc-2023\project\example复制到F:并更名为example_test

编译方式:

build.bat中的PROJECT_DIR解注释并修改为你的外部项目路径

rem you can set your outside project
set PROJECT_DIR=F:\example_test

随后执行build example_test即可

恢复到默认项目查找逻辑, 将上面PROJECT_DIR恢复注释即可

rem you can set your outside project
rem set PROJECT_DIR=F:\example_test

授权协议

MIT License

MIT License Copyright (c) 2023 OpenLuat & AirM2M Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

2024年4月后只修复严重BUG,请尽快将项目迁移到luatos-soc-2024 展开 收起
C 等 4 种语言
MIT
取消

发行版 (1)

全部

贡献者

全部

近期动态

加载更多
不能加载更多了
C
1
https://gitee.com/openLuat/luatos-soc-2023.git
git@gitee.com:openLuat/luatos-soc-2023.git
openLuat
luatos-soc-2023
luatos-soc-2023
master

搜索帮助