Hi,
在这里,我们正在研究Android / Linux平台,默塔拉特LBCA2HNZYZ-711 BLE模块嵌入到主板中。
This MURATA LBCA2HNZYZ-711 BLE module use Dialog's DA14580 BLE chip
我们必须与BLE芯片通信的唯一接口是来自我们处理器的UART TX / RX线路(IMX6 - Freescale)。
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所需的固件文件,以便将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_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_t gpio_pin; // __attribute__((部分(“non_init”)))));
uint8_t port_sel;// __attribute__ ((section ("non_init")));
#pragma arm部分zidata
#别的
....<>
#ifdef development_mode //使用调试器,定义它并根据电路板配置(periph_setup.h)设置UART_PIN_PAIR
port_sel = uart_pin_pair;
#万一
-
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的Sysram。
您能否分享/指导我们关于以下详情:
-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-semicondiondiond.com/resource/b-001-da14580-booting ...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.1k
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
Thnaks.
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 ?
-什么是程序测试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 ?
-什么是程序测试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-semicondiondiondum/resource/um-b-038-user-manual-di ...
BR JE_Dialog
Hello 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)我们可以使用Bluedroid堆栈吗?
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)如果要运行应用程序将FW加载到模块后,您将如何继续操作,如果要运行应用程序,可以将DSP应用程序和从PC流到的Android应用程序流中流出的数据。
4)有DOCS解释了如何使用外部MCU使用DA580请查看支持站点的文档部分,但是如何使用Android集成DA的文档。
谢谢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如何与对话框蓝牙应用程序与对话框固件进行通信。
Regards
Raghu Chaitanya
嗨拉古基泰扬,
对不起,但没有任何文档或榜样在做你要问的内容中,你可以看看外部proccessor配置举例,也是因为我在我上一篇文章中发布了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
嗨拉古基泰扬,
邮件发送
谢谢MT_dialog