Hi,
这里我们在Android/Linux平台上工作,MURATA-LBCA2HNZYZ-711ble模块嵌入到主板中。
This MURATA LBCA2HNZYZ-711 BLE module use Dialog's DA14580 BLE chip
我们必须与BLE芯片通信的唯一接口是通过我们处理器(imx6-飞思卡尔)的UART TX/RX线路。
We configured the UART interface in Linux/Android platform (processor side) and now we need to configure the BLE chip using firmware.
请分享/指导我们以下细节:
-Which firmware we need to use ?
-How we can download/configure firmware to BLE chip? Any tool/application available for Linux platform ?
-Is there any details available related to Android( In Google, some of the products are using LBCA2HNZYZ-711 chip-sets in there Android products) configurations/bringup.
谢谢
Shrimanth R
Device:
Hi,
Please verify that you have connected the UART as defined in Table 1, step 2,4,5, or 6 of UM-B-001http://support.dialog-semiconductor.com/resource/b-001-da14580-booting-serial-interfaces.The standard way to boot load firmware from an external source via UART is alo described in that document. If you have not connected the UART as defined above, your only option is to burn a secondary boot-loader into OTP via J-Link, which would allow you to define any pin combination on the DA14580 as boot loader pins.
The UART boot loader sequence is pretty straight forward. Your host needs to power on (or reset) the DA14580 and wait for it to transmit a STX (0x02) character. After this simply follow table 5 of the above referenced document.
谢谢MHv_dialog,
We are able to understand the UART connection b/w DA14580 & host processor (imx6).
From the board schematics we understand that UART Lines from processor(imx6) is directly connected to MURATA LBCA2HNZYZ-711 BLE module. So from hardware point UART connection is fine.
我们还了解了从您共享的链接下载固件的步骤(表5)。
-但请你能分享固件文件需要闪存到DA14580到bringup MURATA LBCA2HNZYZ-711 BLE吗
-Also Can you share any application code available for Linux platform to download firmware
注意:我们在github链接中得到了一个应用程序代码https://gist.github.com/blindman2k/d1bbef6a60ccf383b095, But its not in C language. So it will be very usefull if you share some application to download firmware in C language
Rgds
Shrimanth
This is a UART development with download tool python, in my computer can perform, please refer to。
这是一份用python开发的uart download tool,在我的电脑上可以执行,请您参考
Hi,
I'm also interesting in the alternative of flashing SPI flash (or event OTP) through Linux OS based environment.
It would be great that Dialog can provide such alternative.
To Shrimanth, from the example on github, it seems to use direct control to the SPI flash (not via DA14580) from host PC. But this is also kind of thought of flushing firmware while manufacturing.
嗨,哈代
Our tool for flashing image into SPI flash in Linux OS is not available yet.
Regards
Hi, Dialog team,
Well noted.
But I'm trying to implement 2 protocols for fulfilling my needs.
我想1)实现从串行接口引导(参考AN-B-001的6.2)和2)目标上的“Flash\u programmer”实用程序支持的SPI Flash命令可以是我的尝试。
Two question out from source code of 'programmer.c'
Q#1 what would be the default 'port_sel' when DEVELOPMENT_MODE is not defined.
--
#ifdef使用UART
#pragma arm段zidata= "non_init"
uint8_t gpio_port;// __attribute__ ((section ("non_init")));
uint8\u t gpio_pin;//__属性(节(“非初始化”));
uint8_t port_sel;// __attribute__ ((section ("non_init")));
#pragma arm段zidata
#其他
....<>
#ifdef DEVELOPMENT\u MODE//要使用调试器,请定义调试器并根据线路板配置(periph\u setup.h)设置UART\u引脚对
端口选择=UART引脚对;
#结束
--
Q#2 What the 'size' shall I put for the first command of 'ACTION_SPI_WRITE', I don't quite understand the purpose of following code with protocol defined at section 6.3 of AN-B-001 regarding to the definition of 'Code length MS byte' and 'Code length LS byte' in table 7.
--
headersize = size+8;
if (starting_address==8)
{
Headerbuffer[6]= (unsigned char) (0xfF&(headersize>>8));
Headerbuffer[7]= (unsigned char)(0xfF&headersize);
spi_flash_write_data(Headerbuffer, 0, 8);
spi_flash_write_data(p,starting_address, size);
}
--
else
Hi,
我们想把固件闪存到DA14580的系统内存中。
请分享/指导我们以下细节:
-Firmware file required to be flashed to DA14580 to bringup MURATA LBCA2HNZYZ-711 BLE
-任何可用于Linux平台的应用程序代码都可以通过UART将固件下载到DA14580
谢谢
Shrimanth
Hi,
We are able to develop the application code on Android Platform for downloading firmware from host processor (imx6) to MURATA LBCA2HNZYZ-711 BLE (DA14580 chip) through UART
For Developing the APP code, we have followed steps as given in Table 5 ofhttp://support.dialog-semiconductor.com/resource/b-001-da14580-booting-s...document.
But we are getting 0x15 (NACK) when we send 0x01(SOH) & length of code to be downloaded 0x37 (LSB) & 0xD3 (MSB)
The firmware file we used to download is in following folder DA14580_581_583_SDK_3.0.10.1\binaries\da1458x\prod_test/prod_test.hex.
它的尺寸是54.1公里
The Size of SRAM is 42K, If we reduce the lenght of code to be downloaded, we are getting 0x06 (ACK)
So we are doubting on the firmware file.
Could you please share the proper Firmware file for MURATA LBCA2HNZYZ-711 BLE
塞纳克斯
Shrimanth
Hi shrimanth ramesh,
There is no other valid proper firmware. You have to download the bin file, not the .hex file. You can either compile the prod_test project and take the .bin file from the out directory or convert the .hex file to a .bin file.
谢谢MT_dialog
谢谢MT_dialog,
Now we are able to download prod_test.bin file to DA14580 chip successfully through UART.
Also sent 0x06(ACK) from host processor(imx6) to DA14580 chip.
但我们有以下疑问:
-Do we have to program SYS_CTRL_REG registers from host side(imx6) or will it be done by DA14580 chip itself ?
- t是什么he procedure to test the BLE from Linux/Android Platform level, to check whether the firmware is proper or not? Is there any application available?
-Is there any libbt-vendor HAL code for android for DA14580 chip, which communicates b/w bluedroid stack & lower chip firmware via HCI commands
Rgds
Hi
Please can anyone help on below issues:
但我们有以下疑问:
-Do we have to program SYS_CTRL_REG registers from host side(imx6) or will it be done by DA14580 chip itself ?
- t是什么he procedure to test the BLE from Linux/Android Platform level, to check whether the firmware is proper or not? Is there any application available?
-Is there any libbt-vendor HAL code for android for DA14580 chip, which communicates b/w bluedroid stack & lower chip firmware via HCI commands
谢谢
Shrimanth
Hi remesh,
-The SYS_CTRL_REG are the registers are controlled by the da if you are workiing with an external proccessor you can take a look at the reference design of the proximity monitor in the SDK at the following directory \DA1458x_SDK_5.0.2.1\DA1458x_SDK\5.0.2.1\projects\host_apps\windows\proximity\monitor you can check this alsohttp://support.dialog-semiconductor.com/resource/um-b-010-user-manual-pr....
-You can test your application in any application that supports BLE on android or LInux.
-No i dont think there is such thing.
谢谢MT_dialog
谢谢MT_dialog
We used DSPS.apk to test BLE on android.
但是,当我们运行该应用程序时,会收到警报“请启用蓝牙!”
Can you explain how Application(DSPS.apk) communicates with DA14580 chip.
是否有任何文件说明应用程序如何与DA14580芯片通信。
Rgds
Shrimanth
Hello Shrimanth, please see the user guide for DSPS : this contains all the details.
http://support.dialog-semiconductor.com/resource/um-b-038-user-manual-di...
BR JE_Dialog
你好JE_Dialog,
We are working on i.MX6 Sololote Android platform and the MURATA LBCA2HNZYZ-711 BLE module(based on Dialog's DA14580 BLE chip ) is interfaced via UART. We are able to load the prod_test.bin firmware successfully when the Bluetooth is enabled through the Android UI, but we are unable to proceed further. The logcat shows the following messages after the firmware is loaded successfully.
I/bt_hci_bdroid( 3104): Inside bt_hc_worker_thread function HC_EVENT_TX
E/bt_h4 ( 3104): [h4] Unknown HCI message type drop this byte 0x0
E/bt_h4 ( 3104): H4: Unable to acquire buffer for incoming HCI message.
Can you please help us to understand the probable cause of the above error. Do you have any Reference Android porting guide that describes the required changes/modifications to be done for porting BLE drivers.
谢谢& Regards
Raghu Chaitanya
Hi raghuchaitanya.l
I suppose that the issue is that, if you are using 580, it does not support HCI commands, the 581 does.
谢谢MT_dialog
你在这里
Hello MT_Dialog,
谢谢for your reply. We are trying to integrate the (DA14580 based) Murata BLE module in Android 4.4 . In the DA14580x software architecture guide, it is mentioned that " The BLE core protocol stack is a third party implementation licensed from Riviera Waves " .
1) Does this mean that the BLE stack is already embedded inside the module ?
2) 我们能用蓝机器人吗?
3) The serial port service application guide has the information only about flashing the firmware to the module. How do we proceed after loading the firmware to the module ?
4) Do you have any document that explains the complete integration procedure?
请帮忙。我们在这个问题上纠缠了将近两个星期。
Regards
Raghu Chaitanya
你好raghuchaitanya.l,
1) Yes the BLE is located in ROM.
2) About the Bluedroid the 580 doesn't support HCI commands the 581 does.
3) 如果你想运行这个应用程序,你可以加载DSPS应用程序,数据从你的pc流到你的android应用程序。
4) 有文件解释了如何使用带有外部MCU的da580请查看支持站点的文档部分,但没有关于如何将da与android集成的文件。
谢谢MT_dialog
Hello MT_Dialog,
谢谢for your prompt response. Can you please help me with the following ?
How we can map the Android Native Bluetooth Application (From Android Settings -> Bluetooth(ON/OFF)) to Dialog 14580 chip communication. Because Android Native Bluetooth App communicates with Android Bluetooth state Machine, which bind with Android Bluedroid stack which uses libbt HAL interface to communicate with UART interface.
Bluetooth Native App -> Android Bluetooth State Machine -> Android Bluetooth Stack -> Libbt Vendor -> UART interface - > Bluetooth Chip Firmware.
-DSPS apk如何与Dialog Bluetooth应用程序通信,该应用程序内部与Dialog固件通信。
Regards
Raghu Chaitanya
你好raghuchaitanya,
很抱歉,但是没有文档或示例来执行您所要求的操作,您可以查看外部处理器配置示例,正如我在上一篇文章中所发布的那样580不支持HCI只有581支持。
About the dsps the application, it uses a custom profile to push uart data into the android application, plase have a look to the DSPS application note for more info on this. Also, if you are interested i can sent you the android source code for the DSPS.
谢谢MT_dialog
Hello MT_Dialog,
非常感谢。是的,请发送DSPS.apk的android源代码。
Regards
Raghu Chaitanya
你好raghuchaitanya,
已发送邮件
谢谢MT_dialog