How to download Firmware to DA14580 BLE chip

23个帖子/ 0新
Last post
shrimanth ramesh
离线
Last seen:5 years 6 months ago
加入:2015-09-15 12:53
How to download Firmware to DA14580 BLE chip

你好,

Here we are working on Android/Linux platform and the MURATA LBCA2HNZYZ-711 BLE module is embedded into to main board.
This MURATA LBCA2HNZYZ-711 BLE module use Dialog's DA14580 BLE chip
The only interface we have to communicate with BLE chip is via UART TX/RX lines from our processor (imx6 - freescale ).
We configured the UART interface in Linux/Android platform (processor side) and now we need to configure the BLE chip using firmware.

Can you please share/guide us regarding below details:
-Which firmware we need to use ?
- 我们如何将固件下载/配置固件到BLE芯片?任何用于Linux平台的工具/应用程序?
-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.

Thanks
虾R

Device:
mhv_dialog.
离线
Last seen:2个月1周前
工作人员
加入:2013-12-06 15:10
你好,

你好,

请验证您已在UM-B-001中定义的UART连接了UART,STEP 2,4,5或6http://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.

UART引导加载程序序列非常直。您的主机需要打开(或重置)DA14580并等待它传输STX(0x02)字符。在此之后只需遵循上述文档的表5。

shrimanth ramesh
离线
Last seen:5 years 6 months ago
加入:2015-09-15 12:53
谢谢mhv_dialog,

谢谢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.

We also understood steps to download firmware from link you shared (Table 5).

-But please can you share firmware file required to be flashed to DA14580 to bringup MURATA LBCA2HNZYZ-711 BLE
-Also Can you share any application code available for Linux platform to download firmware

Note: We got one application code in the github linkhttps://gist.github.com/blindman2k/d1bef6a60ccf383b095,但它不是在c语言中。因此,如果您共享一些应用程序以在C语言中下载固件,则非常有用

rgds.

GumpYang
离线
Last seen:4 days 16 hours ago
加入:2014-05-20 07:38
这是一个UART开发

这是一个用下载工具python的UART开发,在我的电脑可以执行,请参阅。
这是一份用python开发的uart download tool,在我的电脑上可以执行,请您参考

hardy.chen
离线
Last seen:1 year 10 months ago
加入:2015-03-13 04:20
你好,

你好,

我也有趣的是通过基于Linux OS的环境闪烁SPI Flash(或事件OTP)的替代方案。
对话可以提供这样的替代方案。

从GitHub上的示例到虾,它似乎从主机PC使用直接控制到SPI闪存(不是通过DA14580)。但这也是制造时冲洗固件的思考。

fh_dialog.
离线
Last seen:1 month 1 week ago
工作人员
加入:2013-12-06 15:12
你好Hardy

你好Hardy

我们的工具将在Linux操作系统中闪烁到SPI闪光灯中。

问候

hardy.chen
离线
Last seen:1 year 10 months ago
加入:2015-03-13 04:20
嗨,对话团队,

嗨,对话团队,

Well noted.

但我正在尝试实施2个协议,以满足我的需求。
I suppose that 1) implementation of booting from serial interface (referring to 6.2 of AN-B-001) AND 2) SPI Flash command supported by 'flash_programmer' utility on target could be a try for my purpose.

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 USE_UART
#pragma arm section zidata = "non_init"
uint8_t gpio_port; // __attribute__((部分(“non_init”)))));
uint8_t gpio_pin;// __attribute__ ((section ("non_init")));
uint8_t port_sel;// __attribute__ ((section ("non_init")));
#pragma arm section zidata
#else

....<>

#ifdef DEVELOPMENT_MODE // To use the debugger, define it and set the UART_PIN_PAIR according to board configuration (periph_setup.h)
port_sel = UART_PIN_PAIR;
#endif
--

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(hight_address == 8)
{
Headerbuffer[6]= (unsigned char) (0xfF&(headersize>>8));
Headerbuffer[7]= (unsigned char)(0xfF&headersize);
spi_flash_write_data(标题缓冲,0,8);
spi_flash_write_data(p,hive_address,size);
}
--
别的

shrimanth ramesh
离线
Last seen:5 years 6 months ago
加入:2015-09-15 12:53
你好,

你好,

We want to flash firmware to SysRAM of DA14580.

Can you please share/guide us regarding below details:
- 需要闪烁到DA14580所需的固件文件,以将Murata LBCA2HNZYZ-711 BLE培养
可用于Linux platfor——任何应用程序代码m to download firmware to DA14580 through UART

Thanks

shrimanth ramesh
离线
Last seen:5 years 6 months ago
加入:2015-09-15 12:53
你好,

你好,

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

用于开发应用程序代码,我们遵循表5中给出的步骤http://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)

我们用于下载的固件文件在以下文件夹DA14580_581_583_SDK_3.0.10.1 \二进制文件\ da1458x \ prod_test / prod_test.hex。
Its Size is 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

MT_dialog
离线
Last seen:2个月1周前
工作人员
加入:2015-06-08 11:34
你好shrimanth ramesh,

你好shrimanth ramesh,

没有其他有效的适当固件。您必须下载bin文件,而不是.hex文件。您可以编译Prod_test项目,并从Out目录中拍摄.bin文件或将.hex文件转换为.bin文件。

Thanks MT_dialog

shrimanth ramesh
离线
Last seen:5 years 6 months ago
加入:2015-09-15 12:53
Thanks MT_dialog,

Thanks MT_dialog,

现在我们能够通过UART成功将Prod_test.bin文件下载到DA14580芯片。
还从主机处理器(IMX6)发送0x06(ACK)到DA14580芯片。

But we have following doubts:
- 是否必须从主机端(IMX6)编程SYS_CTRL_REG寄存器,或者它将通过DA14580芯片本身完成吗?
- 从Linux / Android平台级别测试BLE的过程是什么,检查固件是否适当?是否有任何应用?
- 是否有用于DA14580芯片的Android的LIBBT-供应商HAL代码,通过HCI命令传达B / W Bluedroid堆栈和下芯片固件

rgds.

shrimanth ramesh
离线
Last seen:5 years 6 months ago
加入:2015-09-15 12:53
你好

你好

Please can anyone help on below issues:

But we have following doubts:
- 是否必须从主机端(IMX6)编程SYS_CTRL_REG寄存器,或者它将通过DA14580芯片本身完成吗?
- 从Linux / Android平台级别测试BLE的过程是什么,检查固件是否适当?是否有任何应用?
- 是否有用于DA14580芯片的Android的LIBBT-供应商HAL代码,通过HCI命令传达B / W Bluedroid堆栈和下芯片固件

Thanks

MT_dialog
离线
Last seen:2个月1周前
工作人员
加入:2015-06-08 11:34
你好remesh,

你好remesh,

- Sys_ctrl_reg是寄存器由DA控制,如果您使用外部Proccessor进行工作,您可以在以下目录\ DA1458x_sdk_5.0.2.1 \ da1458x_sdk \ 5.0中查看SDK中的Proximity Monitor的参考设计。2.1 \ projects \ host_apps \ windows \ proximity \ monitor您也可以查看此问题http://support.dialog-semiconductor.com/resource/um-b-010-user-manual-pr....

- 您可以在支持Android或Linux上支持BLE的任何应用程序中测试您的应用程序。

-No i dont think there is such thing.

Thanks MT_dialog

shrimanth ramesh
离线
Last seen:5 years 6 months ago
加入:2015-09-15 12:53
Thanks MT_dialog

Thanks MT_dialog

We used DSPS.apk to test BLE on android.
But when we run that app we are getting ALERT " Please Enable the bluetooth !"
您能解释应用程序(DSPS.APK)如何与DA14580芯片通信。
Is there any documents which explains how application communicates with DA14580 chip.

rgds.

JE_Dialog
离线
Last seen:1 month 1 week ago
工作人员
加入:2013-12-05 14:02
Hello Shrimanth, please see

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

raghuchaitanya....
离线
Last seen:5 years 4 months ago
加入:2015-11-05 08:31
Hello 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]未知的HCI消息类型丢弃此字节0x0
E / BT_H4(3104):H4:无法为传入的HCI消息获取缓冲区。

您能否帮助我们了解上述错误的可能原因。您是否有任何引用android移植指南,该指南介绍了要为移植BLE驱动程序提供所需的更改/修改。

感谢和问候
拉古楚凯塔安

MT_dialog
离线
Last seen:2个月1周前
工作人员
加入:2015-06-08 11:34
你好raghuchaitanya.l

你好raghuchaitanya.l

我想这个问题是,如果使用580,它不支持HCI命令,581确实如此。

Thanks MT_dialog

raghuchaitanya....
离线
Last seen:5 years 4 months ago
加入:2015-11-05 08:31
Hello MT_Dialog,

Hello MT_Dialog,

感谢您的回复。我们正试图在Android 4.4中集成(基于DA14580)Murata BLE模块。在DA14580x软件体系结构指南中,提到“BLE核心协议栈是从Riviera波许可的第三方实现”。

1)这是否意味着BLE堆栈已嵌入模块内部?
2) Can we use the Bluedroid stack ?
3)串行端口服务应用指南仅具有关于闪烁到模块的固件的信息。将固件加载到模块后,我们如何进行操作?
4) Do you have any document that explains the complete integration procedure?

Please help . We are stuck up at this issue for almost two weeks.

问候
拉古楚凯塔安

MT_dialog
离线
Last seen:2个月1周前
工作人员
加入:2015-06-08 11:34
你好raghuchaitanya.l,

你好raghuchaitanya.l,

1)是的,BLE位于ROM中。

2)关于Bluedroid,580不支持HCI命令581确实如此。

3) What do you mean how to proceed after loading the fw to the module, if you want to run the application you can donwload DSPS application and the data flowing from your pc to your android application.

4) There are docs explaining how to use the da580 with an external MCU please have a look in the documents section of the support site, but there isn't a doc about how to integrate the da with android.

Thanks MT_dialog

raghuchaitanya....
离线
Last seen:5 years 4 months ago
加入:2015-11-05 08:31
Hello MT_Dialog,

Hello MT_Dialog,

感谢您的及时回应。你能帮我下面吗?

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.

-How DSPS apk communicates with Dialog Bluetooth application which internally communicates with Dialog Firmware.

问候
拉古楚凯塔安

MT_dialog
离线
Last seen:2个月1周前
工作人员
加入:2015-06-08 11:34
你好raghuchaitanya,

你好raghuchaitanya,

Sorry, but there is no doc or example in doing what you are asking, you can have a look at the external proccessor configuration examples, also as i ve posted in my previous post the 580 doesn't support HCI only 581 does.

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.

Thanks MT_dialog

raghuchaitanya....
离线
Last seen:5 years 4 months ago
加入:2015-11-05 08:31
Hello MT_Dialog,

Hello MT_Dialog,

Thank you. Yes, please send the android source code for the DSPS.apk.

问候
拉古楚凯塔安

MT_dialog
离线
Last seen:2个月1周前
工作人员
加入:2015-06-08 11:34
你好raghuchaitanya,

你好raghuchaitanya,

Mail sent

Thanks MT_dialog