本页内容 获取匹配的 SDK每台设备写入什么接入已有 FreeRTOS 工程绑定信息怎么保存功能在哪里开启
SDK / FreeRTOS

准备 SDK 与授权

获取接入包,写入设备授权。

接入平台须运行 FreeRTOS,芯片和开发板不限于某一家厂商。本章说明如何取得匹配的 SDK 并写入设备授权。

获取匹配的 SDK

把下面的信息发给接入团队。不清楚架构或编译参数时,提供开发板和工具链名称即可开始确认。

信息 示例
芯片和系统 芯片型号、CPU 架构、FreeRTOS 版本与配置
蓝牙与 Wi-Fi 无线芯片、蓝牙栈名称,是否能开热点
屏幕 1024×600、横屏、RGB565
功能 控车;大屏投屏 + HUD,或无法投屏的小屏 HUD
资源与车辆接口 可用 RAM / Flash,CAN 或串口

SDK 以静态库、公开头文件、示例和文档交付。静态库是预编译代码,需要匹配芯片、系统和编译方式;换平台时重新确认接入包。

每台设备写入什么

在管理后台登记设备型号并签发设备授权,按产线流程写入开发板的专用存储。

材料 用途 load_license 输出
.motolic 这台设备的授权文件 512 字节原始内容
硬件标识 确认授权属于这台设备 最多 64 字符,末尾加 \0
可信公钥 验证授权文件没有被篡改 65 字节 P-256 公钥,首字节 0x04

公钥从 SDK 提供方的可信渠道取得。硬件标识必须与签发时一致。每台设备单独保存授权,不把设备凭据放进通用固件或日志。

接入已有 FreeRTOS 工程

  1. 将接入包的 include 目录加入头文件搜索路径,应用包含 moto_freertos/terminal.h。
  2. 按交付清单链接静态库及其依赖,保持 CPU 架构、编译器 ABI 与 FreeRTOS 配置一致。具体库名、链接顺序和编译选项以目标平台接入包为准。
  3. 实现 moto_terminal_port 的硬件回调,初始化存储、随机源和时钟,再从 FreeRTOS 应用任务创建并启动 SDK。
  4. 用开发板已有工具链编译、烧录。升级工具链、切换芯片或修改关键系统配置后,重新确认静态库兼容性。

完整启动顺序见首次连接。接入包按平台匹配,同一份二进制不能直接用于所有开发板。

绑定信息怎么保存

设备授权说明“这是什么设备”;绑定记录说明“哪个手机拥有控制权”。两者分开保存。

实现 read_pairing、write_pairing,将 SDK 给出的字节原样保存在可掉电保存的存储中,例如 Flash 分区或平台的键值存储。

  • 没有记录时,读取成功并输出长度 0;记录损坏或读取失败时返回错误。
  • 写入必须完整提交,持久化成功后才返回 0。
  • 创建 SDK 前初始化存储;不要在启动失败时直接擦除绑定。

同时提供 random(安全随机数)和 now_ms(线程安全的单调毫秒计时)。若目标接入包已提供某项平台适配,按包内说明复用。

普通断连、重启保留绑定。解除绑定使用 APP 的解绑流程。

功能在哪里开启

后台的设备型号配置决定开放哪些功能;固件负责实现对应驱动。moto_terminal_get_status() 返回的 enabled_capabilities 是当前生效的功能列表。

蓝牙能连上但某个功能不可用时,先核对后台型号配置,再核对固件适配。返回首次连接。