How to setup pskey to csr-bc4 chip

2024-02-04 11:38
文章标签 csr setup chip pskey bc4

本文主要是介绍How to setup pskey to csr-bc4 chip,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

1.

设置bcsp的baud rate,网上查了一下需要 bccmd

只能重新cross compile bluez-4.18,增加--enable-bccmd选项
./configure --host=arm-xscale-linux-gnu --prefix=/usr/arm-xscale-linux-gnu --disable-audio --enable-test --enable-debug --enable-bccmd

生成bccmd命令

 

2.新建blue_core4.psr

编辑并拷贝到板子上
// PSKEY_ANA_FTRIM
&01f6 = 0025
// PSKEY_ANA_FREQ
&01fe = 0004

// PSKEY_HOST_INTERFACE
&01f9 = 0001
//CSR_PSKEY_HOSTIO_MAP_SCO_PCM
&01AB = 0001
// PSKEY_UART_BAUDRATE
&01BE = 0EBF    //将baud 率设置成921600
// CSR_PSKEY_H_HC_FC_MAX_SCO_PKT_LEN
&0012 = 00F0
// CSR_PSKEY_HOSTIO_MIN_UART_HCI_SCO_SIZE
&01AE = 003C
// CSR_PSKEY_LOCAL_SUPPORTED_FEATURES
&00EF = FE3F 7E8F 1998 8000
// PSKEY_UART_CONFIG
&0205 = 0006

 

3.在板子上运行

#reset_bt_signal
#insmod bluetooth.ko
#insmod hci_uart.ko
#insmod l2cap.ko
#insmod rfcomm.ko

#./bccmd -t bcsp -d /dev/ttyS1 psload blue_core4.psr
Initialization timed out

出错

 

4.

查代码csr_bcsp.c
line 87
//cfsetospeed(&ti, B38400);
默认baud rate改成
cfsetospeed(&ti, B115200);

 

5.

再运行

#./bccmd -t bcsp -d /dev/ttyS1 psload blue_core4.psr
这次成功了
#./hciattach -s 921600 ttyS1 bcsp 921600
BCSP initialization timed out

 

#./bccmd  -t bcsp -d /dev/ttyS1 psread
发现pskey的值根本没有设置进去

加log 到csr_bcsp.c 中将每一次读写操作都打印出来
发现pskey设置后没有进行 warm reset

加上-r 选项使pskey load成功后,csr 芯片自动warmreset 使设置有效.

#./bccmd  -t bcsp -d /dev/ttyS1 psload -r blue_core4.psr
# ./hciattach -s 921600 ttyS1 bcsp 921600
BCSP initialization timed out
还是不行

 

查blue-core4 手册发现PSKEY_ANA_FTRIM 和 PSKEY_ANA_FREQ 频率值已经变了,

修改blue_core.psr后如下
// PSKEY_ANA_FTRIM
&01f6 = 001d
// PSKEY_ANA_FREQ
&01fe = 6590
// PSKEY_HOST_INTERFACE
&01f9 = 0001
//CSR_PSKEY_HOSTIO_MAP_SCO_PCM
&01AB = 0001
// PSKEY_UART_BAUDRATE
&01BE = 0EBF
// CSR_PSKEY_H_HC_FC_MAX_ACL_PKT_LEN
&0011 = 0180
// CSR_PSKEY_H_HC_FC_MAX_SCO_PKT_LEN
&0012 = 00F0
// CSR_PSKEY_HOSTIO_MIN_UART_HCI_SCO_SIZE
&01AE = 003C
// CSR_PSKEY_LOCAL_SUPPORTED_FEATURES
&00EF = FE3F 7E8F 1998 8000
// PSKEY_UART_CONFIG
&0205 = 0006

 

#./bccmd -t bcsp -d /dev/ttyS1 psload -r ./blue_core4.psr
# ./hciattach -s 921600 ttyS1 bcsp 921600

这下终于OK了

#./hciconfig hci0 reset
#./hciconfig -a

现在blue-core4 运行在了 921600 baud rate  上了.

 

这篇关于How to setup pskey to csr-bc4 chip的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/677368

相关文章

跟我一起玩《linux内核设计的艺术》第1章(四)——from setup.s to head.s,这回一定让main滚出来!(已解封)

看到书上1.3的大标题,以为马上就要见着main了,其实啊,还早着呢,光看setup.s和head.s的代码量就知道,跟bootsect.s没有可比性,真多……这确实需要包括我在内的大家多一些耐心,相信见着main后,大家的信心和干劲会上一个台阶,加油! 既然上篇已经玩转gdb,接下来的讲解肯定是边调试边分析书上的内容,纯理论讲解其实我并不在行。 setup.s: 目标:争取把setup.

DDR的Controller、Channel、Chip、Rank、Bank、Row、Column、Sided、Dimm

目录 概览 1.概览             先从半导体生产开始,生产出来还没切割的叫晶圆(wafer)。切割出来还没封装的叫裸die(bare die)。封装好的叫颗粒(component)。做成内存条后叫模组(module)。下文我们也会按这样的称呼去区分。 2.Controller(内存控制器)         一开始内存控制器在主板上有独立的芯片;在英特尔微处理器

vc++ 2008 Redistributable Setup Error 1935.An error occurred during the ...

如标题提示一般是因为.net 3.5 无法安装造成的。需要安装 .net后就可以正常安装。.net 安装需要开启windows update 服务要不然安装失败。 如果windows update 界面显示为空,或者下载失败。则是服务未开启,开启就行。 保证上图两个服务开启 .net 就可以正常安装。vs 2008 组件也就可以正常安装。

【Get深一度】Win10 Setup will now quit. 系统管理员失去安装和移除软件的权利(求助帖)

1.问题详述 笔者在安装软件的时候无意在任务管理器中叉掉了一个进程,然后 ,悲剧了。。莫名其妙就失去了权限。  2.以安装mathtype为例 没到最后都会弹出一个Setup :  问题手打一遍:You do not appear to have the rights required to install or remove s

vue3 + vite + setup语法糖使用minIO上传文件

前言:需要使用minio-js插件,原生minio使用vue2框架 npm i minio-js 源码: minio的部署可参考Windows部署MinIO,搭建本地对象存储服务_minio windows部署-CSDN博客 注意初始化与作为参数中的 bucketName 需要一致,部署本地minio后需要创建bucket <script setup>import { ElMessa

openssl RSA 密钥(key)、证书签名请求(csr)、证书(cer)的生成和例子

1. RSA 密钥(key)、证书签名请求(csr)、证书(cer)的生成顺序 2. 具体操作 a. 生成 RSA 密钥(私钥) openssl genrsa -aes256 -out ca.key 2048 b. 生成证书签名请求(csr) # C-----国家(Country Name)# ST----省份(State or Province Name)# L----城市(

Java后端服务端渲染与客户端渲染:SSR与CSR的权衡

Java后端服务端渲染与客户端渲染:SSR与CSR的权衡 大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 服务端渲染(SSR)与客户端渲染(CSR) 在Web应用开发中,服务端渲染(SSR)和客户端渲染(CSR)是两种主要的页面渲染方式,它们各自有不同的优势和适用场景。 服务端渲染(SSR) 服务端渲染指的是在服务器上生成完整的HTML内容,然后将其发

Flutter 初识:Chip控件

Flutter Chip控件小结 Chip属性解析示例 InputChip属性解析示例 ChoiceChip属性解析示例 FilterChip属性解析示例 ActionChip属性解析示例 在 Flutter 中,Chip 是一种用于显示简洁信息的组件。它通常用来展示标签、属性、短的文本片段等,并可以包含可选的删除按钮或其他图标。本文将详细介绍 Chip 控件及其各种类型和使用

vue3 setup基本使用

1. 基本概念 在 Vue 3 中,setup 函数是在组件创建之前调用的,用于初始化组件的响应式数据、计算属性、方法等。setup 函数返回的对象会作为组件的上下文提供给模板,模板中可以直接访问返回的属性和方法。 <template><div><p>{{ message }}</p><button @click="increment">Increment</button></div></t

ChIP-seq项目文章 | Adv Sci转录因子FOXK1通过驱动小管上皮细胞糖酵解促进慢性肾脏疾病

在慢性肾脏疾病(CKD)进展过程中,肾小管上皮细胞(TECs)经历了从脂肪酸氧化到糖酵解的能量相关代谢转变。然而,这种糖酵解爆发的机制尚不清楚。2024年7月31日,武汉大学王惠明教授团队和湖北民族大学刘伦志教授团队在Advanced Science(IF:14.6)上在线发表了题为“Forkhead Box Protein K1 Promotes Chronic Kidney Disease b