# hl9-sdk **Repository Path**: rejeee-open/hl9-sdk ## Basic Information - **Project Name**: hl9-sdk - **Description**: This is LoRa SDK for Rejeee HL9 module - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2019-09-10 - **Last Updated**: 2023-05-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # hl9-sdk ## 目录结构 app: 公用应用程序文件,系统启动入口,主要适配不同MCU和不同的RTOS启动 bsp:主板驱动支持文件,放置各种MCU的原始驱动库,及BSP中间层各种接口,如I2C、SPI、RTC、Sleep、ADC、PWM等 kernel:内核相关文件,主要包含通用CMSIS接口和放置各种原始RTOS系统源码 libs:通用库文件,如独立的AT指令集、射频驱动、常用函数工具、FIFO、AES、OTA、加密、CRC(ModBus) net:网络相关,如LoRa、GPRS、NB-IoT、短信、4G等接口定义和MAC协议 projects: 工程相关文件,可放置各种主板、定制化工程 ## 开发环境 最新版本SDK支持Keil和IAR两种编译环境。IAR采用7.7版本,Keil采用5.25,其它版本环境未有时间验证,有更高版本软件请自行移植适配。 相关软件请自行在官网下载和安装: IAR:https://www.iar.com/iar-embedded-workbench Keil: http://www.keil.com/ 仿真器可采用J-Link仿真或IAR支持的相关仿真器,采用SWD接口。 在编译之前请先安装MCU支持包,可从www.hdsc.com.cn官网自行下载,或咨询公司销售和技术支持。 ## 调式说明 本评估板使用MCU仿真的话,需要注意两点。 1. MCU深度休眠时无法使用SWD调式,需要复位芯片以恢复SWD调式口功能进行程序仿真。 2. MCU启动支持BOOT选择开关,对应的端口是PD03,PD03低电平则为运行模式(可仿真调试),高电平为ISP烧录模式。 因此,建议在开发休眠功能之前,确保系统重启后能够仿真烧录(如果是运行即休眠业务逻辑,建议在调式阶段,启动后增加几秒的延时用于调试开发使用) ## 工程说明 例程经过很好的代码封装,模块化耦合度低,main文件为主程序入口。 上述代码中: 采用RTX系统多任务处理,除主任务外,分别AT Task(app_at.c)和Mac Task(app_mac.c)分别处理AT指令和无线收发。 platform为HL9相关外设操作。 ## 二次开发参考 SDK包中集成了 1. AT指令集 2. AT模式软硬件切换方式 3. LoRa无线自动收发操作 4. 休眠无线唤醒 5. 低功耗串口自动唤醒 6. AES 128bit加密 7. Rejeee LPWAN协议 8. ADC采集示例 9. RTX系统接口,方便开发多任务操作 用户可以根据需要增删功能。 具体AT操作,请参考 Rejeee AT指令手册,开发文档手册在目录docs中。 ## 修改记录 ### 2021-02-22 1. 更新MCU库。 2. 增加MCU启动电压判断 ### 2020-07-18 1. 将不存在的GPIO配置为输入下拉,因为新批次MCU内部存在不确定的功耗。 ### 2020-06-01 1. 重命名工程目录为HL9,将RTX从CMSIS中移动到Kernel根目录,以保持与其他RTOS同等级。 2. 调整FNB策略,将退避最小次数限制从4降为1(以模组角色,系统发送至少做1次LBT) 3. 增加Flash读失败的校验次数。 4. 合并127x芯片的优化说明,提升拒止带外信号能力。 5. 优化模组ID和ADDR生成机制。 ### 2019-11-28 1. 增加PWM驱动,以便支持相关外设操作 2. 增加LDR支持上下行配置独立开关(AT指令版本更新) 3. 增加Flash读写检查,校验错误超过5次,则使用默认参数。 4. 修改MCU默认堆栈大小(翻倍) ### 2019-10-15, V1.0.20 1. 增加I2C和RTC驱动,以便支持相关外设操作 2. 增加打印函数接口 3. 固定IAR环境下Flash的操作代码地址位置,防止Flash读写超出芯片32K的限制,相关说明参考HDSC 13X芯片用户手册 4. 增加AT+TXF指令支持,使用户可发送指定频点数据(指定频点并不保存在Flash中,以便灵活使用多种频点发送) 5. 优化串口函数,使其通用化 6. 开放ADC参考源配置,以便支持各种参考源 7. 优化射频操作以便支持多片芯片 ### 2019-07-29, V1.0.18 1. 开放串口分包延时和上下拉配置 2. 调整目录结构以满足更多平台支持 3. 增加AT+FNB指令支持,使用户可配置退避算法重试次数 4. 优化串口函数,使其通用化 5. 增加ADC示例代码采集芯片电压(采用内部1.5V参考) ### 2019-07-16, V1.0.17 1. 修复CAD初始化配置IO口错误问题 2. 调整AT日志打印调用