一、客户代码架构说明
1.softwawre
该目录下包含历史的release版本,其中有两个特别重要的版本:
release1.09及以前版本,只兼容C版以前的芯片,不能兼容F版,如果想在release1.09版本兼容F版本,打上1.09_patch_v6的patch。
release1.10直接兼容F版及以往的各种芯片。
2.tools
productlinetools收藏以往各种版本的量产工具,尽量采用最新版本的量产工具。
A : 编译环境搭建
- gcc-arm-none-eabi-4_9-2014q4-20141203-win32
- make-3.81
- 在系统变量path添加gcc和make的相关路径
变量值 :C:\GNUARM\4.9\bin;
变量值 :C:\GNUARM\4.9\lib\gcc\arm-none-eabi\4.9.3
变量值 :C:\make-3.81-bin\bin
B:安装烧录工作板的驱动
USB 2.0 TO RS232
3.产线工具的使用
A:用户登陆
用户:1,密码:1,
a1: 基本信息配置窗口
烧录路径务必使用英文,禁止出现中文路径。
a2:
该处的默认校准值只是一个初始值,每个板子的校准值未必一样,需要根据具体的板子来进行具体设置,目前比较常用的校准值为7f、30,确切的校准值最好能使用蓝牙综测仪来查看频偏,再进行具体设置。
另外,也可以使用工厂模式的校准,也能动态校准板子,前提需要我司帮忙调教的精准板。connector地址必须为精准板的bt地址。
如果频偏一般在+-20k以内,则认为该频偏良好,若大于+-70k,软件无法再校准,需要硬件那边修改电路。若使用工厂模式的校准,一般能控制在+-5k以内。
点击开始后,如果不停止的话,可以连续进行程序烧录。若没有拔掉TX和RX线,又想启动板子,需要停止或退出产线工具,否则会连续烧录程序。
二 代码结构说明:
1. 代码结构
2. config目录
一般在config目录下,只需要关注customize.mk,因为这里会决定采用哪种按键,默认为A类控制。
一般而言,可以直接套用best2500i_ibrt的默认设置。
target目录
这里是比较重要,也是客户的差异化设置。
- tgt_hardware.c
GPIO使用切记避开GPIO07,07端口是USB供电专用,不进行任何功能调试。
a.LED的GPIO配置
配置LED的GPIO,第一个GPIO对应蓝灯,第二个GPIO对应白灯。
b.音量键的GPIO配置
FN1对应音量键+,FN2对应音量键-。务必注意的是,该数组只有多少个成员,必须把CFG_HW_GPIOKEY_NUM改为多少。
c.蓝牙信息配置
如果产线工具不更新分区,则默认使用该处的配置信息。
d .电池充电检测判饱GPIO配置
2 .app_status_ind.c
LED的控制全部在函数app_status_indication_set内设置,根据上层传送事件,来调用相应的LED控制。
一般来说,cfg0为蓝灯,cfg1为白灯
level表示当前LED电平状态,为0或1
time表示当前LED电平状态操持时间,以ms为单位
part表示一次操作,一亮一闪为两次操作
parttotal表示操作总次数
startlevel表示初始电平
periodic表示是否需要对以上操作进行周期性操作,若状态不变,则无限循环
app_pwl_setup和app_pwl_start配套使用,把LED灯操作真正写进配置,并生效
3.apps目录
根据config目录的customize.mk来设置按键风格,并在apps.cpp文件内生效。
每种按键都有以下方式的事件触发方式,如:
- power按键:APP_KEY_CODE_PWR
- 音量+按键:APP_KEY_CODE_FN1
- 音量-按键:APP_KEY_CODE_FN2
每种事件均可以设置触发时间,触发时间控制在hal_key.c文件内设置:
附件:BES 安装环境:
windows 平台 安装环境连接:https://share.weiyun.com/ji2RapP2
Windows10 基于Linux 环境 :https://share.weiyun.com/cU9vfJSn
后续章节会更新 UI 控制(LED /按键/充电控制 等)