【瑞昱RTL8763E】软件架构

一, 系统架构

GAP :提供蓝牙相关接口给 Application 使用,同时反馈蓝牙的各种状态。
Framework :负责音频通路,经典蓝牙 Profile ,系统管理等。
Platform :包括 OTA USB Flash FTL Charger 等。

 

二,任务

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

 

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。

 

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的文件之中,替换外设时,用户只需要对应替换初始化,读写数据一类的接口部分即可。

 gui task

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

communicate task 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值