对话
我将使用我的自定义板(像你的开发工具包)烧我的设备的OTP。(我的项目),能否提供一个详细的指导,包括:1)如何连接自定义板和我的设备之间的引脚。2)如何使用智能片段(我已成功刻录自定义板中OTP的图像和标题)。3)在刻录OTP之前,我必须在刻录之前进行的代码/配置更改是什么。4)如果我已经成功烧毁了OTP,我仍然可以从如flash或eeprom或sram(通过jtag下载)引导吗?
以上为sdk5.0
彼得福
嗨achao1104,
请查看这个论坛帖子http://support.dialog-semicondiondiond.com/can-you-please-provide-guides-bu ...
2)您可以在智能代码段中使用Smart Spetpets在智能代码段帮助选项用户指南中找到信息.PDF。
3)这取决于你想要做什么(与OTP大多数),如果例如,您需要从OTP或引导中读取您的NVDS,您应该定义,如前一篇文章中所提到的,除了应该设置Development_debug之外如果您将使用OTP,则为0和CFG_BOOT_FROM_OTP。也是如果你应该#define the cfg_wdog
4)如果你已经烧毁了OTP应用程序标志(检查AN-B-001.pdf),串行启动序列将不再执行,只有通过JTAG编程是可能的。
谢谢mt_dialog.
我正在尝试在基于Panasonic Pan1740的设计中使用对话框串行端口服务,而当我将六角文件直接下载到RAM时,它都完美地工作,当我将其编程到OTP内存时,它不起作用。因为记忆是OTP(为什么地球上的那个是这样的,因为我现在有2个电路板,我不能使用,我的担忧是我将继续克切板,直到我确定我做错了什么。
到目前为止,我发现Dialog文档非常优秀,而且非常全面,所以缺少一个应用程序的说明来说明编写一个OTP应用程序的过程似乎是一个主要的疏忽,特别是考虑到关于类似问题的文章的数量。
我使用以下项目从DSPS SDK:
da1458x_dsps \ v_5.150.2 \ projects \ target_apps \ dsps \ sps_device \ keil_5
在构建OTP代码之前,我将其他帖子拼凑在一起,对项目做了以下更改:
1 da1458x_config_basic.h:“#define cfg_development_debug”替换为“// #define cfg _development_debug”2 da1458x_config_advanced:“#undef cfg_boot_from_otp”替换为“#define cfg_boot_from_otp”
使用Booter在SmartSnippets工具箱(V4.7.3.1690)我成功地下载了十六进制文件到设备的RAM,并能够验证它运行正确使用我的手机上的DSPS应用程序。
然后我在SmartSnippets工具箱中使用了OTP程序员,并成功地下载了相同的十六进制文件到设备,但随后无法检测设备使用我的手机上的DSPS应用程序。
我没有下载一个OTP头或OTP NVDS,因为我不确定这些是强制性的,如果他们是必需的,那么我不确定我需要实际设置。
由于OTP图像简单地加载到RAM中并从那里运行,为什么我可以直接从RAM运行十六进制文件,但不会在OTP中保存时运行?
帮助!!!
嗨Richard.Cunliffe,
嗯,最可能的原因是你不能跟踪DSPS应用程序是因为你没有烧毁在OTP头中的application标志。为了让580知道一个应用程序存在于OTP中,并且它应该从OTP引导,你会燃烧的两个应用程序顶部旗帜OTP头(仅从智能片段选择“是”工具,这个工具将燃烧的魔法数字表明,设备应该从OTP启动——请注意,如果你这样做你将不再能够使用串行启动引导程序,你将只能通过JTAG下载代码)。还有你提到的两个#定义,它们与OTP启动过程本身无关。CFG_DEVELOPMENT_DEBUG为了消除任何断言SDK强加为了帮助开发人员,那么你通过它通过删除所有的断言和深度睡眠你应该还未赋值,为了使设备开关的RAM。关于CFG_BOOT_FROM_OTP,它只是一个配置,应用程序可以直接从OTP本身读取OTP头,也可以从sysram读取数据(在引导过程中,OTP头被传输到sysram)。
你好,我可以确认我已经将OTP应用程序标志设置为Yes,但由于我一直在尝试各种各样的事情,我决定使用新设备重新启动整个过程。
在Keil UVision IDE中证明RAM中的固件(首先定义了CFG_DEVELVELMENT_DEBUG,然后使用未定义),然后使用SmartSnippets工具箱中的Booter工具将其下载到RAM,并再次确认代码正常运行。
然后我使用SmartSnippets工具箱中的OTP程序员成功地将相同的十六进制文件下载到OTP内存。然后我对OTP头部做了以下修改:
1 - 两个应用程序标志设置为是2 - DMA长度设置为匹配代码大小(稍后设置为0x1fc0以指定整个OTP图像空间)。
已成功下载OTP标头I,然后断开VPP和SWD连接并重新启动我的目标,但Pan1740不做(应该定期输出UART上的某些数据,并且当我扫描蓝牙设备时,设备不会显示设备)。
代码仅存储在OTP中并将其复制到RAM运行的事实,告诉我,如果代码直接加载到RAM时,则使用OTP代码的问题必须与标题或加载执行问题从OTP到RAM的代码,因为它完全相同的代码。
我需要设置的其他标题设置吗?
Remaping标志做了什么,它应该设置为什么?
是否有任何文档,详细介绍了所有标题字段?
因为我实际上使用了包含DA14580的Pan1740蓝牙模块,所以一些标题字段已经由Pan1740制造商设置了一些标题字段?例如,我的设备上的XTAL16MHz调整值具有0x5bd(1469)的值,但SPS项目代码的ARCH_SYSTEM.H文件中定义的默认值为0x516(1302)。
我假设,当下载代码直接到RAM,然后默认硬编码的值是使用的,而不是那些从OTP头,所以事实,代码运行ok从RAM但不是从OTP,这可能意味着一些其他的OTP头的值的问题?
我最大的问题是,我的项目目前处于原型阶段,所以我只有4个单元可用。到目前为止,我已经编写了3个单元的OTP内存,所有这些都不运行代码,所以现在我只有1个板去尝试,所以我必须得到那一个正确的。
您是否可以用我的十六进制文件进行测试,以至少确认这不是错误?我已经附加了十六进制文件,预计你将能够这样做。
嗨理查德,
应用程序标志是您应该设置的唯一事情,以便从OTP启动OTP DMA不是强制性的,因为这主要与深度睡眠模式相关。remmapping标志应保持在默认值(始终处于SRAM和不OTP)。关于OTP字段和相应的字段,您将能够在“OTP标题操作”PARAGAPH下用户指南下的“智能片段帮助文档(打开智能代码段转到”帮助菜单“并打开”用户指南“的信息)上找到信息。是的,一些标题字段将从像唯一ID字段和XTal设置一样从Panasonic刻录。关于您提及SDK的XTAL值将使用默认调整值如果CFG_USE_DEFAULT_XXTAL16M_TRIM_VALUE_IF_NOT_CALIBRATED,则在不是它将使用来自OTP标头的值,并且这是从引导加载程序完成而不是在这种情况下从SDK完成。我直接从SRAM运行你的榜样,当FW也在OTP中烧毁时,我能够看到该设备是广告的。
你好!为什么remmapping标志不是OTP?
嗨Vrabo,
你什么意思?在OTP拷贝完成后,你应该重新映射你的0到syram,以便开始运行你刚刚镜像的代码。
嗨achao1104,
请查看这个论坛帖子http://support.dialog-semicondiondiond.com/can-you-please-provide-guides-bu ...
2)您可以在智能代码段中使用Smart Spetpets在智能代码段帮助选项用户指南中找到信息.PDF。
3)这取决于你想要做什么(与OTP大多数),如果例如,您需要从OTP或引导中读取您的NVDS,您应该定义,如前一篇文章中所提到的,除了应该设置Development_debug之外如果您将使用OTP,则为0和CFG_BOOT_FROM_OTP。也是如果你应该#define the cfg_wdog
4)如果你已经烧毁了OTP应用程序标志(检查AN-B-001.pdf),串行启动序列将不再执行,只有通过JTAG编程是可能的。
谢谢mt_dialog.
我正在尝试在基于Panasonic Pan1740的设计中使用对话框串行端口服务,而当我将六角文件直接下载到RAM时,它都完美地工作,当我将其编程到OTP内存时,它不起作用。因为记忆是OTP(为什么地球上的那个是这样的,因为我现在有2个电路板,我不能使用,我的担忧是我将继续克切板,直到我确定我做错了什么。
到目前为止,我发现Dialog文档非常优秀,而且非常全面,所以缺少一个应用程序的说明来说明编写一个OTP应用程序的过程似乎是一个主要的疏忽,特别是考虑到关于类似问题的文章的数量。
我使用以下项目从DSPS SDK:
da1458x_dsps \ v_5.150.2 \ projects \ target_apps \ dsps \ sps_device \ keil_5
在构建OTP代码之前,我将其他帖子拼凑在一起,对项目做了以下更改:
1 da1458x_config_basic.h:“#define cfg_development_debug”替换为“// #define cfg _development_debug”
2 da1458x_config_advanced:“#undef cfg_boot_from_otp”替换为“#define cfg_boot_from_otp”
使用Booter在SmartSnippets工具箱(V4.7.3.1690)我成功地下载了十六进制文件到设备的RAM,并能够验证它运行正确使用我的手机上的DSPS应用程序。
然后我在SmartSnippets工具箱中使用了OTP程序员,并成功地下载了相同的十六进制文件到设备,但随后无法检测设备使用我的手机上的DSPS应用程序。
我没有下载一个OTP头或OTP NVDS,因为我不确定这些是强制性的,如果他们是必需的,那么我不确定我需要实际设置。
由于OTP图像简单地加载到RAM中并从那里运行,为什么我可以直接从RAM运行十六进制文件,但不会在OTP中保存时运行?
帮助!!!
嗨Richard.Cunliffe,
嗯,最可能的原因是你不能跟踪DSPS应用程序是因为你没有烧毁在OTP头中的application标志。为了让580知道一个应用程序存在于OTP中,并且它应该从OTP引导,你会燃烧的两个应用程序顶部旗帜OTP头(仅从智能片段选择“是”工具,这个工具将燃烧的魔法数字表明,设备应该从OTP启动——请注意,如果你这样做你将不再能够使用串行启动引导程序,你将只能通过JTAG下载代码)。还有你提到的两个#定义,它们与OTP启动过程本身无关。CFG_DEVELOPMENT_DEBUG为了消除任何断言SDK强加为了帮助开发人员,那么你通过它通过删除所有的断言和深度睡眠你应该还未赋值,为了使设备开关的RAM。关于CFG_BOOT_FROM_OTP,它只是一个配置,应用程序可以直接从OTP本身读取OTP头,也可以从sysram读取数据(在引导过程中,OTP头被传输到sysram)。
谢谢mt_dialog.
你好,
我可以确认我已经将OTP应用程序标志设置为Yes,但由于我一直在尝试各种各样的事情,我决定使用新设备重新启动整个过程。
在Keil UVision IDE中证明RAM中的固件(首先定义了CFG_DEVELVELMENT_DEBUG,然后使用未定义),然后使用SmartSnippets工具箱中的Booter工具将其下载到RAM,并再次确认代码正常运行。
然后我使用SmartSnippets工具箱中的OTP程序员成功地将相同的十六进制文件下载到OTP内存。然后我对OTP头部做了以下修改:
1 - 两个应用程序标志设置为是
2 - DMA长度设置为匹配代码大小(稍后设置为0x1fc0以指定整个OTP图像空间)。
已成功下载OTP标头I,然后断开VPP和SWD连接并重新启动我的目标,但Pan1740不做(应该定期输出UART上的某些数据,并且当我扫描蓝牙设备时,设备不会显示设备)。
代码仅存储在OTP中并将其复制到RAM运行的事实,告诉我,如果代码直接加载到RAM时,则使用OTP代码的问题必须与标题或加载执行问题从OTP到RAM的代码,因为它完全相同的代码。
我需要设置的其他标题设置吗?
Remaping标志做了什么,它应该设置为什么?
是否有任何文档,详细介绍了所有标题字段?
因为我实际上使用了包含DA14580的Pan1740蓝牙模块,所以一些标题字段已经由Pan1740制造商设置了一些标题字段?例如,我的设备上的XTAL16MHz调整值具有0x5bd(1469)的值,但SPS项目代码的ARCH_SYSTEM.H文件中定义的默认值为0x516(1302)。
我假设,当下载代码直接到RAM,然后默认硬编码的值是使用的,而不是那些从OTP头,所以事实,代码运行ok从RAM但不是从OTP,这可能意味着一些其他的OTP头的值的问题?
我最大的问题是,我的项目目前处于原型阶段,所以我只有4个单元可用。到目前为止,我已经编写了3个单元的OTP内存,所有这些都不运行代码,所以现在我只有1个板去尝试,所以我必须得到那一个正确的。
您是否可以用我的十六进制文件进行测试,以至少确认这不是错误?我已经附加了十六进制文件,预计你将能够这样做。
嗨理查德,
应用程序标志是您应该设置的唯一事情,以便从OTP启动OTP DMA不是强制性的,因为这主要与深度睡眠模式相关。remmapping标志应保持在默认值(始终处于SRAM和不OTP)。关于OTP字段和相应的字段,您将能够在“OTP标题操作”PARAGAPH下用户指南下的“智能片段帮助文档(打开智能代码段转到”帮助菜单“并打开”用户指南“的信息)上找到信息。是的,一些标题字段将从像唯一ID字段和XTal设置一样从Panasonic刻录。关于您提及SDK的XTAL值将使用默认调整值如果CFG_USE_DEFAULT_XXTAL16M_TRIM_VALUE_IF_NOT_CALIBRATED,则在不是它将使用来自OTP标头的值,并且这是从引导加载程序完成而不是在这种情况下从SDK完成。我直接从SRAM运行你的榜样,当FW也在OTP中烧毁时,我能够看到该设备是广告的。
谢谢mt_dialog.
你好!
为什么remmapping标志不是OTP?
嗨Vrabo,
你什么意思?在OTP拷贝完成后,你应该重新映射你的0到syram,以便开始运行你刚刚镜像的代码。
谢谢mt_dialog.