步骤编程OTP的步骤指南

8个帖子/ 0新
最后一篇文章
阿曹1104
离线
最后一次见到:5年3个月前
硕士
已加入:2015-12-24 10:56
步骤编程OTP的步骤指南

对话框

我将使用我的自定义板(如您的Dev Kit)刻录我的设备的OTP。(我的项目),请您提供详细的指南,包括:
1)如何连接定制板和设备之间的引脚。
2) 如何使用智能代码段(我已经成功地在定制板上烧录了otp的图像和头文件)。
3) 在烧成OTP之前,我必须对代码/配置做什么更改。
4)如果我已成功刻录OTP,我还可以从闪存或EEPROM或SRAM等启动(通过JTAG下载)吗?

以上SDK5.0.

傅彼得

设备:
MT\u对话框
离线
最后一次见到:2个月3周前
工作人员
已加入:2015-06-08 11:34
嗨Achao1104,

嗨Achao1104,

1)请查看此论坛帖子http://support.dialog-semiconductor.com/can-you-please-provide-guides-bu...

2) 您可以在Smart Snippets help option User Guide.pdf中找到有关使用智能代码段的信息。

3) 这取决于你想做什么(主要是使用OTP),例如,如果你需要从OTP或boot读取你的nvd,你应该定义它,正如你在上一篇文章中提到的,除了DEVELOPMENT\u DEBUG应该设置为0和CFG\u boot\u from\u OTP如果你要使用OTP。如果您应该定义CFG\u WDOG

4)如果您刻录了OTP应用程序标志(检查AN-B-001.PDF),则串行引导序列不会再执行,并且只有JTAG上的JTAG编程也是可能的。

谢谢你的对话

理查德·坎利夫
离线
最后一次见到:2年3个月前
已加入:2017-06-06 10:39
我正在尝试使用对话框

我试图使用对话框串行端口服务在松下PAN1740为基础的设计,虽然这一切都完美地工作时,我下载我的十六进制文件直接到RAM,它不工作时,我把它编程到OTP内存。因为内存是OTP(为什么这是曾经选择这样),我现在有2个板我不能使用,我担心的是,我会继续报废板,直到我确定我做错了什么。

截至目前,我发现了对话框文档优异且非常彻底,因此缺乏应用程序注意到通过编程OTP应用程序的过程似乎是一个主要的监督,特别是给出了关于类似问题的帖子数量。

我正在使用DSPS SDK的以下项目:

DA1458x\ DSPS\v\ U 5.150.2\项目\目标\应用程序\DSP\sps\设备\Keil\ U 5

从拼接各种其他帖子,在构建OTP的代码之前,我对项目进行了以下更改:

1 da1458xŠu configŠu basic.h:“Šdefine CFGŠu DEVELOPMENTŠu DEBUG”替换为“/Šdefine CFGŠu DEVELOPMENTŠDEBUG”
2 da1458x_config_advanced:“#undef CFG_BOOT_FROM_OTP”替换为“#define CFG_BOOT_FROM_OTP”

在SmartSnippets工具箱中使用Booter(v4.7.3.1690)我成功将十六进制文件下载到设备的RAM,并能够通过在手机上使用DSP应用程序连接到它来验证它是否正确运行。

然后,我在SmartSnippets工具箱中使用OTP程序员并成功下载了与设备相同的十六进制文件,但是无法在手机上使用DSPS应用程序检测设备。

我没有下载OTP标题或OTP NVDS,因为它不确定是否是强制性的,如果需要,那么我不确定我需要实际设置的内容。

既然OTP映像只是简单地加载到RAM中并从那里运行,为什么我可以直接从RAM运行hex文件而不是保存在OTP中呢?

救命!!!

MT\u对话框
离线
最后一次见到:2个月3周前
工作人员
已加入:2015-06-08 11:34
嗨richard cunliffe,

嗨richard cunliffe,

嗯,最重要的是您无法跟踪DSPS应用程序的原因是因为您没有在OTP标题中刻录应用程序标志。为了使580要意识到应用程序存在于OTP中并且它应该从中启动,您必须刻录OTP标题顶部的两个应用程序标志(只需从智能代码段“工具中选择”是“并且该工具将刻录将指示设备应该从OTP引导的魔术号码 - 请注意,如果您这样做,如果您将不再能够使用串行引导程序启动,您只能通过串行引导JTAG)。此外,您提到的两个#defines他们与OTP引导过程本身不一定。cfg_development_debug是为了删除SDK施加的任何断言,以便帮助开发人员,因此通过拒绝此操作,您可以删除所有断言,并且在深睡眠中,您还应该拒绝它,以便设备切换RAM的设备。关于CFG_BOOT_FROM_OTP只是应用程序要么直接从OTP本身读取OTP标题的配置,或者从SYSRAM读取数据(OTP标题在引导过程中传输到SYSRAM))。

谢谢你的对话

理查德·坎利夫
离线
最后一次见到:2年3个月前
已加入:2017-06-06 10:39
你好,

你好,
我可以确认我已经将OTP应用程序的两个标志都设置为Yes,但是由于我一直在尝试各种事情,我决定用一个新设备重新启动整个过程。

在Keil-uVision IDE中验证了RAM中的固件(首先定义了CFG\u DEVELOPMENT\u DEBUG,然后未定义),然后我使用SmartSnippets工具箱中的Booter工具将其下载到RAM中,并再次确认代码运行正确。

然后,我在SmartSnippets工具箱中使用OTP程序员将相同的十六进制文件加入OTP内存。然后我对OTP标题进行了以下更改:

1-两个应用程序标志都设置为“是”
2-设置DMA长度以匹配代码大小(稍后设置为0x1FC0以指定整个OTP图像空间)。

成功下载了OTP报头之后,我断开了Vpp和SWD连接并重新启动了我的目标,但是PAN1740什么也没做(应该定期在UART上输出一些数据,当我扫描蓝牙设备时,设备没有显示出来)。

代码只存储在OTP中,并从它运行的位置复制到RAM,这一事实告诉我,如果直接加载到RAM时代码运行正确,那么OTP代码的问题必须与头或代码从OTP加载到RAM有关,因为它是完全相同的代码。

我还需要设置其他标题设置吗?

重映射标志做什么?它应该设置为什么?

是否有详细说明所有标题字段的文档?

因为我实际上使用的是一个包含DA14580的PAN1740蓝牙模块,所以一些头字段是否已经由PAN1740制造商设置好了?例如,我的设备上的XTAL16MHz微调值的值为0x5BD(1469),但在SPS项目代码的arch\u system.h文件中定义的默认值为0x516(1302)。

我假设当直接下载代码到RAM时,使用默认的硬编码值,而不是来自OTP标题的代码,因此代码从RAM运行的事实,而不是从OTP运行,这可能表明了一些其他值的问题OTP标题?

我的大问题是我的项目目前处于原型阶段,因此我只有4个单位。迄今为止,我已经编程了3个单位的OTP内存,所有这些都不运行代码,所以现在我只剩下1个董事会尝试,所以我必须得到一个权利。

您是否可以使用我的十六进制文件测试到至少确认它不是错误的?我已将十六进制文件附加到预期您将能够这样做。

MT\u对话框
离线
最后一次见到:2个月3周前
工作人员
已加入:2015-06-08 11:34
嗨,理查德,

嗨,理查德,

应用程序标志是您应该设置的唯一东西,以便从OTP引导OTP DMA不是必需的,因为这主要与深度睡眠模式有关。remmapping标志应保持默认值(始终在SRAM和不是检察官办公室)。关于OTP字段和相应字段,您可以在“OTP标题操作”段落下的用户指南中的智能代码段帮助文档(打开智能代码段转到“帮助”菜单并打开“用户指南”)中找到信息。是的,一些标题字段将从松下烧毁,如独特的ID字段和XTAL设置。关于您提到的XTAL值,如果CFG\u use\u default\u XTAL16M\u trim\u value\u if\u NOT\u CALIBRATED是定义的,则SDK将使用来自OTP头的值,在这种情况下,这是从引导加载程序完成的,而不是从SDK完成的。我已经直接从SRAM运行了您的示例,并且我能够看到,当fw在OTP中被烧掉时,该设备正在做广告。

谢谢你的对话

弗拉博
离线
最后一次见到:2年11个月前
已加入:2016-11-04 19:19
你好!

你好!
为什么remmapping标志不是OTP?

MT\u对话框
离线
最后一次见到:2个月3周前
工作人员
已加入:2015-06-08 11:34
你好,弗拉博,

你好,弗拉博,

你是什​​么意思 ?在OTP副本完成后,应将0重新映射到Sysram以便开始运行您刚刚镜像的代码。

谢谢你的对话