亲爱的所有,
我在港口da14581补丁RAM代码da14580,罗不同的内容。
这里whai我直到现在:
1。从为da14581 DA14581_HCI_Release_v.3.110.2.12包
2。uVision项目我从DA1458x_SDK_3.0.6 DA14580散射应用文件
3所示。uVision项目我应用“rom_symdef”每到DA1458x_SDK_3.0.6 DA14580应用
4所示。与修补hciattach装载,我可以上传正确的固件
5。我可以编译没有错误。弗兰克-威廉姆斯上传并执行后,没有HCI回答,所以hciattach超时。
6。实际上,代码执行锁进“rwip_init”如下:
# ifdef RADIO_580
iq_trim_from_otp ();
# endif
/ *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* BLE初始化
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* /
init_pwr_and_clk_ble ();
/ /诊断();
/ / rf_init (&rwip_rf);
/ / SetBits32 (BLE_RADIOCNTL1_REG XRFSEL 3);
#如果UNCALIBRATED_AT_FAB
SetBits16 (BANDGAP_REG BGR_TRIM 0 x0);/ /修剪RET隙
SetBits16 (BANDGAP_REG LDO_RET_TRIM 0 xa);/ /修剪RET LDO
SetWord16 (RF_LNA_CTRL1_REG 0 x24e);
SetWord16 (RF_LNA_CTRL2_REG 0 x26);
SetWord16 (RF_LNA_CTRL3_REG 0 x7);
SetWord16 (RF_VCO_CTRL_REG 0 x1);
SetBits16 (CLK_16M_REG RC16M_TRIM 0 xa);
# endif
/ /初始化BLE堆栈
NVIC_ClearPendingIRQ (BLE_SLP_IRQn);
NVIC_ClearPendingIRQ (BLE_EVENT_IRQn);
NVIC_ClearPendingIRQ (BLE_RF_DIAG_IRQn);
NVIC_ClearPendingIRQ (BLE_RX_IRQn);
NVIC_ClearPendingIRQ (BLE_CRYPT_IRQn);
NVIC_ClearPendingIRQ (BLE_FINETGTIM_IRQn);
NVIC_ClearPendingIRQ (BLE_GROSSTGTIM_IRQn);
NVIC_ClearPendingIRQ (BLE_WAKEUP_LP_IRQn);
> > > rwip_init(错误);
#如果((BLE_APP_PRESENT = = 0 | | BLE_INTEGRATED_HOST_GTL = = 1) & & BLE_HOST_PRESENT)
patch_gtl_task ();
# endif / / #如果(BLE_APP_PRESENT = = 0 | | BLE_INTEGRATED_HOST_GTL = = 1)
是感谢所有的帮助。
最好的问候,
安吉洛
我分享我的进展,希望他们可以是有用的对于某人来说,也许对话框可以支持我在这一点。
事实上,我看到调试/ uart, arch_main中执行的所有代码。c主循环。
后调用
#如果(BLE_HCIC_ITF)
/ /在分裂模式中,初始化人机交互
hci_init (rwip_eif_get (RWIP_EIF_HCIC));
# endif / / BLE_HCIC_ITF
在rwble。c,我再也不能使用uart进行调试,因为它控制的人机交互层。
所以代码执行,但是没有回复前人机交互命令发送到模块
弗兰克-威廉姆斯刚刚更新。
人机交互部分是目前只能作为对象。
我看到弗兰克-威廉姆斯发送范围,大CRC好id显示,我看到linux发送第一个人机交互命令,TX线4个字节,从模块只有一些ack每一口收到后位。
你好,我们意识到一个问题有关蓝色Z……”原因是BlueZ发送一些人机交互命令为标准而不是祝福控制器这让我们设备混”. .我们正在调查一个补丁,但这是现在需要几周的时间。BR JE_Dialog
你好,很高兴知道,我进步,如果我成功了我就可以发布补丁。
我看到的是:
用示波器我看到有一个UART回答,但2字节,0 x04和0 x10。这就是为什么当前hciattach不显示任何和超时,因为hciattach。c read_hci_event其他字节()预计,至少3参数计数(3字节)。
所以我修改hciattach看看返回代码是:我得到的
115200年bash - 3.2 # .hciattach ttymxc1对话框
下载hci-firmware.bin……
CRC OK (cd)。
发送HCI重置开始前的谈话……
对话框中定义协议:EVT_HARDWARE_ERROR
硬件错误。可能da14581代码,检查一些政策id,或者有可能我的模块损坏吗?与此同时我在另一个测试板。
嗯,hw误差是由于全球“错误”变量未初始化。
似乎我可以发送HCI消息如果排队从主循环应用,但HCI线程/模块本身不回复任何消息我发送。
这似乎是与不同的da14580罗内核代码。
你好,
进步了。
——仍然da14580、da14581代码(DA14581_HCI_Release_v.3.110.2.12)和SDK 3.0, c文件/散射文件结构,并保持da14580 symdefs
——还有,我取代了一些从uart uart功能。c驱动程序
——同样,我添加了人机交互任务的最后一部分跳表,这不是为da14580定义
——同样,原因很神秘依然澄清,我不得不“uart_flow_off_func”在arch_main主循环之前。c函数。
bash - 3.2 #。/ start.sh
下载hci-firmware.bin……
CRC (90)。
发送HCI重置开始前的谈话……
职责:03 0 c
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
人机交互版本:蓝牙核心规范4.0 (0 x06)
警告:模块的半导体制造商不是对话框(0 x0060) ! ! !yabo国际娱乐
人机交互修改:0 x0706
x06模块LMP版本:0
x0706模块LMP sub-version: 0
设备安装完成
bash - 3.2 # hciconfig
hci0:类型:BR / EDR总线:UART
BD地址:00:13:43:0D: 09:83 ACL MTU: 0时上海合作组织MTU: 0时
下来
上海合作组织RX字节:64 acl: 0: 0事件:5错误:0
上海合作组织TX字节:20 acl: 0: 0命令:5错误:0
但仍有一些问题为:
bash - 3.2 # hciconfig hci0
蓝牙:hci0命令0 x1003 tx超时
蓝牙:hci0命令0 x1001 tx超时
蓝牙:hci0命令0 x1009 tx超时
不能初始化设备hci0:连接超时(110)
也许我现在面对你上面提到的问题?
下周将继续。
Reagrds
仍然有进步,
实际上我解决一些uart流控制问题和沟通是正确的。
但似乎固件实际上是无法正确回答“阅读类的装置”命令,
读取和奇怪的MTU值为0。
bash - 3.2 #蓝牙监控版本5.14
=新索引:00:13:43:0D: 09:83 (BR /功能,UART, hci0) 0.657956 (hci0)
bash - 3.2 # hciconfig hci0
<人机交互命令:读当地支持有限元分析. .(0 x04 | 0 x0003)全0 (hci0) 8.186353
> HCI事件:命令完成(0 x0e)满12 (hci0) 8.672730
读取本地支持功能(0 x04 | 0 x0003) ncmd 10
状态:成功(0 x00)
特点:0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00
<人机交互命令:读取本地版本有限公司. .(0 x04 | 0 x0001)全0 (hci0) 8.672877
> HCI事件:命令完成(0 x0e)满12 (hci0) 8.677712
读取本地版本信息(0 x04 | 0 x0001) ncmd 10
状态:成功(0 x00)
人机交互版本:蓝牙4.0 (0 x06) -修订1798 (0 x0706)
LMP版本:蓝牙4.0 (0 x06) -颠覆1798 (0 x0706)
制造商:RivieraWaves S.A.年代(96)
<人机交互命令:读BD ADDR (0 x04 | 0 x0009)全0 (hci0) 8.677804
> HCI事件:命令完成(0 x0e)满10 [hci0] 8.682438
读BD ADDR (0 x04 | 0 x0009) ncmd 10
状态:成功(0 x00)
地址:00:13:43:0D: 09:83(松下电子元件(欧洲)GmbH)
<人机交互命令:读取缓冲区大小(0 x04 | 0 x0005)全0 (hci0) 8.682617
> HCI事件:命令完成(0 x0e)满11 (hci0) 8.687327
读取缓冲区大小(0 x04 | 0 x0005) ncmd 10
状态:成功(0 x00)
ACL MTU: 0 ACL最大数据包:0
上海合作组织MTU:上海合作组织最大数据包:0
<人机交互命令:阅读类的设备(0 x03 | 0 x0023)全0 (hci0) 8.687407
> HCI事件:命令完成(0 x0e)满4 (hci0) 8.691511
阅读类的设备(0 x03 | 0 x0023) ncmd 10
状态:未知的人机交互命令(0 x01)
其他信息:
bash - 3.2 #蓝色/ cd
bash - 3.2 #。/ start.sh
下载hci-firmware.bin……
CRC OK (18)。
发送HCI重置开始前的谈话……
职责:03 0 c
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
人机交互版本:蓝牙核心规范4.0 (0 x06)
制造商:RivieraWaves SAS (0 x0060)
人机交互修改:0 x0706
x06模块LMP版本:0
x0706模块LMP sub-version: 0
设备安装完成
bash - 3.2 # hciconfig hci0
不能初始化设备hci0:无效的请求代码(56)
bash - 3.2 # dmesg | grep蓝色
[0.312654]蓝牙:核心版本2.16
[0.312693]蓝牙:人机交互设备和连接管理器初始化
[0.312705]:蓝牙HCI套接字层初始化
[0.312716]蓝牙:L2CAP套接字层初始化
[0.312737]蓝牙:上海合作组织初始化套接字层
[3.675536]:蓝牙HCI UART驱动程序版本2.2
[3.678705]:蓝牙HCI H4协议初始化
[3.682216]:蓝牙HCI BCSP协议初始化
[3.685916]蓝牙:HCILL协议初始化
[4.653492]:蓝牙RFCOMM TTY层初始化
[4.657130]:蓝牙RFCOMM套接字层初始化
[4.660993]:蓝牙RFCOMM版本1.11
[4.663465]蓝牙:BNEP(以太网仿真)版本1.3
[4.667507]蓝牙:BNEP过滤器:多播协议
[4.671459]蓝牙:BNEP套接字层初始化
[4.675154]蓝牙:HIDP(人机界面仿真)版本1.2
[4.679800]蓝牙:HIDP套接字层初始化
bash - 3.2 # hciconfig -
hci0:类型:BR / EDR总线:UART
BD地址:00:13:43:0D: 09:83 ACL MTU: 0时上海合作组织MTU: 0时
下来
上海合作组织RX字节:640 acl: 0: 0事件:50错误:0
上海合作组织TX字节:200 acl: 0: 0命令:50错误:0
特点:0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00
包类型:DM1《HV1
链接政策:
链接模式:奴隶接受
bash - 3.2 # hciconfig hci0
不能初始化设备hci0:无效的请求代码(56)
好吧,似乎至少现在主要特性工作。
bash - 3.2 # hciconfig -
hci0:类型:BR / EDR总线:UART
BD地址:00:13:43:0D: 09:83 ACL MTU:上海合作组织27:18 MTU: 0时
运行
上海合作组织RX字节:339 acl: 0: 0事件:37错误:0
上海合作组织TX字节:370 acl: 0: 0命令:37错误:0
特点:0 x00 0 x00 0 x00 0 x00 0 x60 0 x00 0 x00 0 x00
包类型:DM1《HV1
链接政策:
链接模式:奴隶接受
bash - 3.2 # hciconfig hci0 leadv
我看到的模块检测到手机。
你好,
我有趣的你如何解决你的问题,我试着做同样的事但实际上行不通。
BR
嗨sbourahla,
我做了许多改变原来“DA14581_HCI_Release_v.3.110.2.12”包中,结束了弗兰克-威廉姆斯PAN1740兼容。
我现在寻找到执照的事情,看看我可以分享uVision项目。
我也在分享之前做更多的测试。
致以最亲切的问候
安吉洛
你好,
在一些试验似乎至少有一些连接问题:
$ sudo gatttool - b 00:13:43:0D: 09:83 -我
[00:13:43:0D: 09:83] (LE) >连接
试图连接到00:13:43:0D: 09:83
[00:13:43:0D: 09:83] (LE) > <人机交互命令:勒创建连接(0 (| 0 x000d)满25 (hci0) 8.243814
扫描区间:60.000毫秒(0 x0060)
扫描窗口:30.000毫秒(0 x0030)
过滤政策:不使用白名单(0 x00)
同行的地址类型:公共(0 x00)
点地址:00:13:43:0D: 09:83(松下电子元件(欧洲)GmbH)
自己的地址类型:公共(0 x00)
最小连接区间:50.00毫秒(0 x0028)
最大连接时间间隔:70.00毫秒(0 x0038)
连接延迟:0 x0000
监督超时:420毫秒(0 x002a)
最小连接长度:0.000毫秒(0 x0000)
最大连接长度:0.000毫秒(0 x0000)
> HCI事件:命令状态(0 x0f)满4 (hci0) 8.248374
勒创建连接(0 (| 0 x000d) ncmd 1
状态:成功(0 x00)
> HCI事件:勒事件(0 x3e)满19元(hci0) 15.921321
LE连接完成(0 x01)
状态:成功(0 x00)
处理:72
角色:大师(0 x00)
同行的地址类型:公共(0 x00)
连接成功
[00:13:43:0D: 09:83] (LE) >同行地址:00:13:43:0D: 09:83(松下电子元件(欧洲)GmbH)
连接时间间隔:70.00毫秒(0 x0038)
连接延迟:0.00毫秒(0 x0000)
监督超时:420毫秒(0 x002a)
主时钟精度:0 x00
@设备连接:00:13:43:0D: 09:83 (1) 0 x0000旗帜
> HCI事件:断开完成(0 x05)满4 (hci0) 16.411320
状态:成功(0 x00)
处理:72
原因:连接超时(0 ()
@设备断开连接:00:13:43:0D: 09:83原因(1)1
似乎最终断开一段时间后到达附近的上司超时。
现在我不知道如果这是一个问题也可见da14581或如果它可以与我修改固件。
有没有与HCI da14581正常工作吗?
问候
安吉洛
你好,
我分享我此时的代码。还是连接不正常工作,断开连接成功后发生。
https://github.com/spectrum70/pan1740-firmware
致以最亲切的问候
安吉洛
你好,我们有客户DA14581与外部微处理器上使用HCI成功。我们有一个内部项目致力于Blue-Z实现我们说话(第三方为我们研究这个)。
你有14581设置测试?你可以14581年重建你的图像和测试。
BR JE_Dialog