DA14580 Basic Kit SDK

15个职位/ 0个新职位
最后一篇
kqtrinh.
离线
最后一次露面:3年10个月前
加入:2016-08-24 00:17
DA14580 Basic Kit SDK

关于580 dsp外设模式FW代码的问题,我想用它作为我们定制嵌入式软件开发的起点。

现在,我想了解如何凯尔IDE的机制或SmartSnippets下载固件的位流从主机电脑通过USB连接到单片机在580年接收比特流写入flash或加载到RAM中。上电后,我相信580将把FW从Flash加载到RAM中并开始执行。然而,当580没有FW当前驻留在flash中,我认为应该有一段代码运行在RAM中,将写入从SmartSnippets或Keil进入的FW到flash或RAM。这段代码可能被称为ROM代码,有点像PC中的BIOS fw。你能给我指出处理flash或RAM上传界面的代码吗?如果我完全错误的基础,请教育我,让我了解如何这个过程的工作,以帮助我在我们的定制开发。

如果有一份详细解释这个过程的文件,那就更好了。

谢谢,
- khai

设备:
mt_dialog.
离线
最后一次露面:3个月4天前
职员
加入:2015-06-08 34
嗨kqtrinh,

嗨kqtrinh,

您可以查看AN-B-001.pdf或UM-B-012.pdf,这些文档提到了启动顺序是如何工作的,代码在哪里下载和运行。存在于580中的加载外部fw的代码被称为主引导加载程序(或者仅仅是引导加载程序),它位于ROM内存区域。源代码不可用,但它的功能在an - b -001文档中描述,它是580通过UART/SPI/I2C下载代码的数量选项。

谢谢mt_dialog.

kqtrinh.
离线
最后一次露面:3年10个月前
加入:2016-08-24 00:17
谢谢你的及时

谢谢你的及时回应。这2个文档帮助我了解有关580启动过程如何工作的更多信息。

ROM代码不可用没关系,次要引导加载程序如UM-B-012.pdf文档中描述的可用或其他示例代码接近其功能从flash引导。
也许我会尝试描述我的开发方案,您可以推荐如何完成。使用基本套件,我可以通过将代码加载到与keil的SRAM的代码直接调试FW,我也可以用SmartSnippets写入Flash。还有智能公司的写作,我目前没有需要使用的smartsnippet。

我们的定制板很简单。它由带有电话应用程序的BLE接口的前端接口中的580组成。580将从手机接收消息,并通过580内部UART总线将其发送到显示设备。

为了调试580应用程序代码,我们将构建一个带有Atmel芯片的外部调试板(市场上是否存在这样的板?)(由于尺寸限制,不在与580相同的板上)。基本上把580基本套件分成两块板。

所以看待这个HW设计,将有580个应用程序代码的闪存区域。连接到580 UART接口的显示芯片也具有它需要从并执行的FW代码。我们想要580个应用程序代码和显示FW码在相同的闪存中(我认为我们不需要OTP内存,除非有原因。)

我的开发序列的问题下面是:

1.通过上面的HW设计,我需要一种读/写闪光灯的机制,将580应用程序代码从Flash加载到SRAM。这是辅助引导程序的作业吗?但是使用辅助引导加载程序需要OTP板载。是辅助引导加载程序的源代码或类似的东西?

2.假设580现在已启动并从闪存运行启动,需要充当外部主机控制器到显示设备。它需要读取显示设备FW的闪光灯,并将其发送到UART到显示设备,因此它现在可以启动。

这就是我目前对开发板启动顺序的方法。从你所看到的,我们需要代码来读/写Flash,并将其转储到SRAM,以及转储到UART总线上580 CPU。

您的反馈和推荐很受欢迎......

谢谢,
- khai

mt_dialog.
离线
最后一次露面:3个月4天前
职员
加入:2015-06-08 34
嗨kqtrinh,

嗨kqtrinh,

是的,辅助引导加载程序可以在SDK的实用程序文件夹中找到,它与主引导加载程序非常相似。关于调试器模块,您可以使用Segger Jlink Lite ARM调试器,与专家工具包使用的相同的调试器。关于你的问题:

1)为了将FW从Flash加载到580 Sysram,您不需要辅助引导程序,只要您遵循SPI引导的默认引脚连接,主要将能够为您执行此操作。二级引导加载程序用于分配不同的引导引脚,打开闪光灯,以便将其关闭为低功耗,加载不同的图像(拟议功能等)。如上所述,SDK中的Utilities目录中可用辅助引导加载程序源代码。

2)如果显示芯片需要FW,我想580需要发送该FW,如果芯片无法直接从闪光灯下载,所以是您需要一个例程,580将读取闪存并发送它到uart上的显示。580将验证正常启动序列,之后它将充当显示器和闪光之间的中间人。

谢谢mt_dialog.

kqtrinh.
离线
最后一次露面:3年10个月前
加入:2016-08-24 00:17
是否有示例代码

是否有样例代码从/写/ Flash?
谢谢,
- khai

mt_dialog.
离线
最后一次露面:3个月4天前
职员
加入:2015-06-08 34
嗨kqtrinh,

嗨kqtrinh,

flash中有一个写的驱动程序,还有一个与flash交互的例子,这个例子位于SDK中的spi目录中的peripheral_examples项目中。正如前面提到的,在实用程序目录中有secondary_bootloader源代码。请检查下面的SDK目录。

da1458x_sdk \ 5.0.4 \ utilities \ secondary_bootloader:辅助引导程序

DA1458x_SDK\5.0.4\projects\target_apps\peripheral_examples\spi: spi flash示例

谢谢mt_dialog.

kqtrinh.
离线
最后一次露面:3年10个月前
加入:2016-08-24 00:17
关于你的答案

关于你对上述问题1的回答,如果我理解正确,我不需要二级引导加载程序来做我需要的。主引导加载程序可以完成这项工作。那么我的问题是:

1.主引导程序是否驻留在ROM中?如果是这样,我们必须在生产时手动将主引导加载程序加载到每个芯片的ROM上?或者在我们收到DA14580S进行生产时已经为我们完成了此过程?

2.假设DA应用程序FW位于SPI Flash中,那么主加载程序从哪个外部SPI Flash地址读取FW并下载到syram中?地址默认为0吗?起始地址是可编程的吗?

谢谢,
- khai

kqtrinh.
离线
最后一次露面:3年10个月前
加入:2016-08-24 00:17
跟进问题:

跟进问题:

1.外部PC应用程序如SmartSnippets的直接访问(读/写/擦除FW)到580外部闪光灯。我可以将Smartsnippet用于FW应用程序的闪存数据文件吗?它是否必须绑定到某种格式,以将此数据文件上传到Flash?

2.一旦FW在外部Flash上,ROM主引导加载程序必须知道2条信息:FW的地址和大小,以便加载到SRAM。SmartSnippets是否将这些信息设置在闪存的某个地方,以便ROM有知识,以便它可以将FW加载到SRAM?

3.使用Flash中的数据文件,FW应用程序代码也需要知道数据存储在Flash中的地址和大小,以便它可以读取和消耗数据。

谢谢,
- khai

mt_dialog.
离线
最后一次露面:3个月4天前
职员
加入:2015-06-08 34
嗨kqtrinh,

嗨kqtrinh,

1)主引导加载程序在ROM中刻录,加载器的功能实体在AN-B-001.PDF文档中描述,通常它为您提供了一些标准引脚,以便通过UART / SPI / I2C引导。启动加载程序会在启动设备时立即执行,因此您不必刻录引导加载程序,因为我已经提到它已有位于ROM中即可。

2)引导加载程序当过程是flash相关的,580作为主程序执行,它将访问闪存的地址0,在主引导加载程序中这是不可编程的。所有这些信息都记录在我提到的。pdf中。

关于后续问题:

1)当指示智能片段连接到580时,为了对闪存进行编程,它会下载一个名为Flash_Programmer或JTAG_Programmer的小FW,该FW处理来自Smart代码段(擦除/刻录等)的所有命令。是的,您可以使用智能片段闪烁您的FW应用程序。关于格式问题,我不太明白,SS将采取.hex将它转换为.bin或者您可以直接放置.bin文件,该工具将刻录闪光灯。

2)请阅读手册,我已指示,看程序引导程序遵循。

3)正如我所提到的,SPI模式中的580将从闪存中从地址0请求数据,并且闪光灯应开始发送图像。该图像必须是可引导的,这意味着它应该具有可启动标题和代码的长度 - 如果选择可启动选项,则由Smart Scippets测量和分配。因此,智能代码段另外做的是安装0x70 0x50标题,以指示图像可引导应用一些零填充并附加.bin文件的大小。

谢谢mt_dialog.

kqtrinh.
离线
最后一次露面:3年10个月前
加入:2016-08-24 00:17
让我澄清我的问题

让我澄清我的问题一点。

因此,DA在Address 0启动闪存中的闪存中加载FW,因此可以从Flash读取电源时的主装载机并将其写入Sysram。在Sysram中完全启动和运行时,自定义FW需要来自Flash的一些数据来执行其任务。这是我们打算写入的自定义FW中某些算法的输入数据。这是我之前关于数据文件的问题。我可以使用ss将数据文件上传到闪存,因为我的自定义fw被启动后消耗?此数据文件不是可引导图像。它只是FW算法中需要的一些数据。对于能够将此数据文件刻录到闪存,是否需要遵循一些格式,因此SS将识别它并能够将其刻录到闪存?

谢谢,
- khai

mt_dialog.
离线
最后一次露面:3个月4天前
职员
加入:2015-06-08 34
嗨kqtrinh,

嗨kqtrinh,

是智能代码段能够将自定义数据刻录到闪光灯中,可以使用完全标题编程器甚至闪光灯刻录机,没有任何特定的格式,以便使用智能片段将数据刻录到闪光灯中。您可以通过将随机二进制文件刻录到DEV套件闪存的某些地址来测试此问题。

谢谢mt_dialog.

kqtrinh.
离线
最后一次露面:3年10个月前
加入:2016-08-24 00:17
我想学习

我想学习SmartSnippets如何使用flash_programmer或jtag_programmer来/写/擦除flash。你有它们的源代码吗?

谢谢,
- khai

kqtrinh.
离线
最后一次露面:3年10个月前
加入:2016-08-24 00:17
不要紧。找到了。

不要紧。找到了。

kqtrinh.
离线
最后一次露面:3年10个月前
加入:2016-08-24 00:17
有应用笔记吗?

有关Flash_Programmer实用程序的谈话吗?

mt_dialog.
离线
最后一次露面:3个月4天前
职员
加入:2015-06-08 34
嗨kqtrinh,

嗨kqtrinh,

不,没有应用程序注意,记录JTAG_Programmer的函数。此FW是由智能代码段工具使用而不是代码参考。

另外,请不要在一个不相干的话题上发布一个新的问题,你总是可以创建一个新的帖子。

谢谢mt_dialog.