DA14580 DSPS演示应用来自Flash

5个帖子/ 0新
最后一篇
Steffen T.
离线
最后一次露面:3年10个月前
加入:2016-02-18 10:31
DA14580 DSPS演示应用来自Flash

你好,

我们正在使用带有Pan1740 Beacon连接到它的Pan1740 Beabon的对话程序Pro开发套件。

我们有Demo DSPS代码(DA1458x_DSPS_V_5.150.2)如文档所描述的“UM-B-038 DA14580串行端口服务参考Application_v2.0.pdf”中所述运行
当代码直接加载到程序员时,它可以正常工作。

现在我们想从Pan1740灯座上的外部闪存(精确类型:mx25v2006e)启动代码。
我们可以使用外部程序员编程闪存。

问题:
我们如何修改UVISION Studio内的构建设置,以便输出直接编程到Flash?
(输出.hex文件包含0x20000000的偏移量,即内部SRAM地址,正如我所理解的那样。
但是,通过这种偏移,闪光灯无法编程,因为它地址远远超过闪光灯的字节。)
是否只能在.hex文件中只能改变偏移量,或者如果我们想直接将输出写入闪存文件所需的项目是必要的其他更改?

谢谢您的帮助!

关键词:
设备:
mt_dialog.
离线
最后一次露面:5个月2周前
职员
加入:2015-06-08 11:34
嗨Steffen T,

嗨Steffen T,

您可以使用智能片段直接将.hex文件直接刻录到Flash中,只需在Flash程序员中提供.hex文件并点击刻录。智能片段将运行Hex2bin并将.bin输出刻录到闪存的​​零地址,它将删除.hex文件的原始偏移,并开始从零中写入闪光灯。

谢谢mt_dialog.

Steffen T.
离线
最后一次露面:3年10个月前
加入:2016-02-18 10:31
你好,

你好,

谢谢你的快速答案。我知道Smart Scippet工具及其闪存功能,但它似乎没有与我们的董事会正常工作。
因为这是另一个主题(可能是硬件主题),我不会在这个线程中介绍一下。

但你的答案给了我解决方法:
1.删​​除十六进制文件中的偏移线
2.手动使用Hex2Bin
3.从零开始将垃圾箱写入Flash

如果此程序有问题,请纠正我。

只有问题可以确定:
我想也可以删除0x2000的开始地址。

Steffen T.
离线
最后一次露面:3年10个月前
加入:2016-02-18 10:31
你好,

你好,

我必须为此主题添加问题:

我们能够编程闪存,但DA14580引导加载程序似乎没有获取代码。

1.问题:
当我们启动Pan1740模块时,我们可以在文档“AN-B-001 - 从串行接口v2.0.pdf启动”中描述的SPI-端口上的活动。
但与此文档中的描述相反,活动不会停止,但设备继续永远努力阅读SPI奴隶
(循环表8中描述的4例:读取OPCODE 0x03,0个虚拟字节,0x03,带1个虚拟字节......)
我们在删除Flash的模块上看到了相同的行为:引导加载程序不会停止尝试读取SPI从站。
你对此有任何解释吗?

2.问题:
在同一文档中,表7介绍了从SPI Slave成功启动的协议:
- 主发送读取命令+ 3个地址字节+虚拟字节(在我们的情况下,0虚拟字节将是正确的情况)
- 具有0x70 + 0x50 + 4个虚拟字节+ 2字节代码长度的从属答案。
此数据必须来自二进制闪存内容。
但是从DSPS演示代码生成的十六进制文件不包含这些信息中的任何一个(第一个字节是十六进制00 98 00 20 A5 04 00 20 AD 04 00 20 C5 04 00 20)
'p'+'p'+代码长度应该来自哪里?

mt_dialog.
离线
最后一次露面:5个月2周前
职员
加入:2015-06-08 11:34
嗨Steffen T,

嗨Steffen T,

您不必做任何内容,Hex2bin文件将为您做到这一点,因此智能代码段工具将为您做到这一点,只需打开智能片段并将.hex文件从Keil中的浏览中放入.hex文件输出。智能片段的一部分。HEX2BIN将IMMIT颁发0x20000000填充和智能片段将从零地址开始写入。如果您想构建设备要解决零,您将不得不修改分散文件,但我没有看到任何原因做到这一点,一个原因不这样做是因为你不会通过Keil调试代码。

1)您看到over过度执行的Bootlaoder的原因是由于主引导加载程序中的错误和错误的ADC测量值。

2)0x70 0x50是标记为FW的标签作为可引导,当使用智能片段刻录闪光灯时,工具将提示您,如果您想使设备启动,如果单击“是”它将附加0x70 0x50和其他到你的图像的字节。

谢谢mt_dialog.