瑞昱RTL8763E软件入门

1,软件框架

GAP:提供蓝牙相关接口给 Application 使用,同时反馈蓝牙的各种状态。

Framework:负责音频通路,经典蓝牙 Profile,系统管理等。

Platform:包括 OTA,USB,Flash,FTL,Charger 等。

2,任务

RTL8763EW 使用 FreeRTOS 操作系统。内建 timer task,idle task,upper stack task,lower stack task。 Watch 应用自建 app task,hub task,gui task,communicate task。

3,app task

app task 实现的功能包括:

1)通过 gap 处理 BT,BLE 相关状态。gap_handle_msg 会处理 upper stack 发送的消息,BLE 的数据收 发等会回调至 app 创建 service 时注册的读写接口,BT 的各个 profile 及状态信息则会由 Framework 处理并 将相关信息回调给 app。

2)用户应用层自由实现的对蓝牙,音频等行为的控制,包括广播开关,搜索连接耳机设备,播放音 乐等。参考 watch_handle_io_message。

4,hub task

watch 应用通过 hub task 来管理各个外设,用户可参考其做法,也可自行实现相关功能。Hub task 中处理各外设的上层消息,将外设与 gui task 或 app task 串联起来。例如按键事件可通过 hub task 处理后,发送 对应的消息给到 gui task,由 gui task 根据当前界面情况响应对应的行为。 hub task 也将底层 driver 部分与上层进行分离,方便替换不同外设。上层消息处理主要放在 hub_xxx.cd 的文件中,driver 层 code 主要放在 module_xxx.c 的文件之中,替换外设时,用户只需要对应替换初始化, 读写数据一类的接口部分即可。

5,gui task

gui 的刷新由触摸,按键,定时器及其他 app 行为触发。界面刷新前,用户会根据当前行为更新所在 界面的各个控件的信息。gui core部分根据各控件的类型位置等信息,在framebuffer中进行绘制。Framebuffer可以为内部 ram,也可为 psram。为节省 ram 资源,一整帧 framebuffer 会被拆分为多个 section,分段绘制 并同步通过 8080 或 qspi 接口送至屏幕。使用 psram 时,则会先分段更新到psram,再经 psram 直接整帧送至屏幕。

5,communicate task

communicate task 负责 BLE 的数据发送管理,根据当前发送数据命令格式进行数据打包并通过蓝牙协 议栈发送出去。客户一般使用自有的蓝牙数据交互格式,该 task 可作为发送方式的参考,也可自行实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值