雷竞技电竞平台Dialog半导体客户支持-英特尔十六进制文件 https://support.dialog-semiconductor.com/resource-keywords/intel-hex-file DA14580引导加载程序未完成 https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-%E2%80%93-software/da14580-bootloader-not-completing
论坛:
Dialog Smartbond Bluetooth低能耗–软件摘要字段标签隐藏的字段类型文本“>

您好,

我正在尝试使用DA14580出厂时提供的引导加载程序来加载我的代码(稍微修改过的DSPS central),我“几乎”成功了…

在一个开发工具包专家身上使用DA14580\u CB\u PXI\u QFN48模块,我测试了Keil项目及其生成的十六进制文件在各个方面都能按预期工作。

我现在正在给一个未编程的DA14580通电(上面的设置),将UART连接到GPIOA.4和GPIOA.5,并在其引导加载过程中与DA14580通信。在应用说明AN-B-001之后,我可以在UART上看到STX=0x02,
,我的回复是SOH=0x01,LEN\u LSB=0x00,LEN\u MSB=0x40。然后我得到ACK=0x06,开始向DA14580发送代码字节。

但是,我没有得到一致的CRC返回,如果我给出最后一个ACK=0x06,什么也没有发生

实际上,用示波器查看UART引脚可以发现GPIOA.4,DA14580 UART TX正在释放,并在代码字节传输过程中浮动。

我有点不确定的一点是十六进制文件转换为代码字节。我编写了一个C程序,它将sps_host.hex
转换成一个C头文件,其中包含一个const uint8\u t the code[16000]数组。有一件事我不知道如何处理,那就是在hex文件中有一些空白;ie“英特尔十六进制”文件格式指定每行16个代码字节的起始地址。但是我的sps_host.hex文件有4个代码区域,它们之间有3块不同长度的空白。使用SmartSnippets工具箱的OTP图像工具,我加载sps\u host.hex文件,并可以看到如何在hex字段中用“--”符号表示
空格。在我的转换程序中,我只是用“0”(零)填充这些字节。
另外,sps\u host.hex文件包含15360个字节,而我的程序用零填充的总长度高达16000个字节。

我感到非常卡住,希望您能给我一些提示,告诉我该怎么办?

BR
罗杰

关键词:
设备:
2017年5月17日星期三19:48:17+0000 是的 36899 athttps://support.dialog-semiconductor.com https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-%E2%80%93-software/da14580-bootloader-not-completing#comments