没有合适的资源?快使用搜索试试~ 我知道了~
恒玄BES平台方案5年工作经验分享
1 下载量 179 浏览量
2024-05-20
11:09:10
上传
评论 1
收藏 56.73MB DOCX 举报
温馨提示
试读
393页
作者2019年-2024年一直从事BES平台type-c耳机,蓝牙tws耳机,蓝牙立体声耳机,蓝牙手表等开发,附件一共391页作者五年工作笔记,含有BES3303P,3001SP,BES2300系列,BES2500系列,BES2600系列,BES2700系列等多系列开发踩坑,有需要的请自己下载。
资源推荐
资源详情
资源评论
BES 平台软件系统架构-------ghl
1
BES 平台 SDK 文件结构
apps:上层应用代码,包括初始化和各种 UI 功能设计
config:与代码相关的宏开关,客户差异化管理,包括 GPIO/LED/PROMPT,并且可根据不同
的芯片型号或者应用场景选择不同的工程
include:系统相关的头文件
out:编译输出文件
platform:平台相关,包含芯片型号相关配置,驱动,hal(硬件抽象层),系统运行入口 main
rtos:系统内核代码
scripts:编译、链接脚本
services:服务层代码,包括 bt,audio,ota 等等
tests:测试相关代码
thirdparty:第三方库
utils:公共模块代码,比如加密/校验算法,fifo,链表等等
BES 平台软件系统架构-------ghl
2
BES 上机引导程序
BES 平台大部分采用了 RTX 的内核,ibrt1305 使用的是 rtx5,芯片架构是 ARM 系,使用了 ARM
的 CMSIS_RTOS API 接口,方便于内核更换和移植代码。
程序从 rtx_cm_lib.h 里面的_main_init()开始的,里面包含了内核初始化,堆栈设置,线程任
务 main 的创建,开启内核。
_main_init()函数以绝对的物理内存地址定义在内存开始段中,上电直接运行,这段便是上机
引导程序。
如开机 log 最前端,上机引导需要几百毫秒时间
BES 平台软件系统架构-------ghl
3
BES 平台软件系统架构-------ghl
4
Mian()函数
mian 函数是程序执行的起点,BES 平台也不例外,第一个线程 os_thread_def_main 就是 main
(),main()函数在 main.cpp 文件中。
然后再是 debug 端口的初始化 (一把我们用 debug=1)默认开启 UART0 RX 的 打印输出。
在 uart 初 始 化 完 成 后 会 打 印 输 出 当 前 软 件 、 芯 片 、 flash 分 区 大 小 等 一 些 信 息
hal_trace.c 中:
BES 平台软件系统架构-------ghl
5
打印输出大致如下 :
[18:35:14.391]CHIP=best1305
[18:35:14.391]KERNEL=RTX5
[18:35:14.391]CRASH_DUMP_SIZE=0
[18:35:14.391]AUD_SEC_SIZE=0x10000
[18:35:14.391]USER_SEC_SIZE=0x1000
[18:35:14.391]FACT_SEC_SIZE=0x1000
[18:35:14.391]NV_REC_DEV_VER=2
[18:35:14.391]FLASH_BASE=0x38000000
[18:35:14.391]FLASH_SIZE=0x400000
[18:35:14.391]OTA_CODE_OFFSET=0x28000
[18:35:14.391]CRC32_OF_IMAGE=0x00000000
[18:35:14.391]BUILD_DATE=Mar 10 2021 18:21:32
[18:35:14.391]REV_INFO=:best2500i_JBL_T230
[18:35:14.391]
[18:35:14.391]
[18:35:14.391]------
[18:35:14.391]METAL_ID: 0
[18:35:14.391]------
随后 软件运行会判断当前 flash 实际大小与软件定义是否匹配,如果软件定义的 flash size
超过芯片自带 flash 大小,就会打印输出
“Wrong FLASH_SIZE defined in target.mk!”
“FLASH_SIZE is defined as 0x20000 while the actual chip flash size is 0x40000” 随后死机。
如果 flash 无异常 后续就会启动 硬件 IO 配置和模拟输入输出 IO 配置
BES 软件的第一条线程,main 线程。
随后 跑入 app_init
剩余392页未读,继续阅读
资源评论
泸州市软件开发者
- 粉丝: 77
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功