通过UART自动化OTP编程

13个帖子/ 0新
最后发表
米奇
离线
最后看到:4年7个月前
加入:2015-07-23 16:51
通过UART自动化OTP编程

你好,对话框,

我试图完全自动化我的OTP编程过程。对于硬件,我有一个使用FTDI 230X芯片的定制接口板。对于固件,我有一个十六进制文件和OTP头文件,我正在闪烁。

我目前能够使用CLI程序OTP。然而,我想避免使用RESET大头针或有任何类型的用户干预我的脚本。我使用的FTDI芯片的一个特点是,它有gpio,可以编程为比特碰撞。其中一个gpio可以切换为RESET。有什么方法可以让我创建自己的裸编程脚本,无需按Reset按钮,而只需调用FTDI芯片来完成?我知道FTDI芯片的命令。我只是不知道如何在Dialog端调用它。

谢谢和问候,

迈克尔

设备:
MT_dialog
离线
最后看到:4个月23小时前
工作人员
加入:2015-06-08 11:34
嗨Mikey,

嗨Mikey,

我不确定我理解你的问题,我认为你可以通过使用FTDI芯片上额外的gpio来重置580,就像按reset按钮一样。

由于MT_dialog

米奇
离线
最后看到:4年7个月前
加入:2015-07-23 16:51
嗨mt_dialog,

嗨mt_dialog,

是的,这是我试图做的,但我如何使用SmartSnippets CLI或其他方式?我似乎不知道如何在SDK5实用程序中编写这些代码(如果这是它的去处的话)。

此致,

米奇

米奇
离线
最后看到:4年7个月前
加入:2015-07-23 16:51
我相信改变

我认为,在/smartsnippets/resources/programmer_es5.bin中需要发生变化,这是我目前在我的CLI脚本中使用的程序员文件。你有洞察力吗?

MT_dialog
离线
最后看到:4个月23小时前
工作人员
加入:2015-06-08 11:34
嗨Mikey,

嗨Mikey,

我们没有尝试过任何类似于您正在尝试做的事情,但我认为您不需要更改dialog提供的任何工具。ES5.bin是OTP的程序员,在下载580中的ES5代码之前需要重置单板。我认为您需要某种自动化工具来触发FTDI,以便在您获得复位单板的指示后复位单板,并在复位后继续处理批处理文件的其余部分。

由于MT_dialog

米奇
离线
最后看到:4年7个月前
加入:2015-07-23 16:51
你好,

你好,

对,那是正确的。您是否知道任何此类工具,或者也许是如何创建一个?

根据我的理解,SmartSnippets要求将重置按钮按下电路板并等待。按下重置按钮后,UART会有一些通信,以告诉PC已按下重置按钮。我想做的就是告诉FTDI芯片在SmartSnippets发送Reset按请求后脉冲其GPIO之一。

问候,

迈克y.

MT_dialog
离线
最后看到:4个月23小时前
工作人员
加入:2015-06-08 11:34
嗨Mikey,

嗨Mikey,

抱歉,如前所述,我们从未尝试过这种方案,我无法建议任何特定的工具或为您提供创建这种操作的脚本的指导。

由于MT_dialog

Lovejoey
离线
最后看到:4年3个月前
加入:2016-07-12 22:51
嗨mt_dialog,

嗨mt_dialog,

我和Mike有同样的问题,我有两个问题

当我们在编程芯片的时候,我们能摆脱复位信号吗?

2,如果问题1答案是否,那么我们可以使用脚本来模拟编程过程。因为在固件下载处于过程中,我未能访问USB芯片。也许摆脱信号的唯一方法是模拟整个下载过程。

谢谢

MT_dialog
离线
最后看到:4个月23小时前
工作人员
加入:2015-06-08 11:34
嗨lovejoey,

嗨lovejoey,

1)如何通过JTAG或通过UART编程芯片?在这两种情况下,它建议拥有重置,如果580被编程和睡眠,则无法安装调试器,如果由于编程过程,如果由于编程过程而出现问题,则建议使用重置引脚。

2)我不完全得到第二个问题,你是什么意思“脚本来模拟编程过程”,你能说更具描述性吗?

由于MT_dialog

Lovejoey
离线
最后看到:4年3个月前
加入:2016-07-12 22:51
嗨,太

嗨,太

1)我们在UART上编程DA14580 ..让我们一起越过这个过程:
打开CLI并调用Smartsnippets.exe将Programming_ES5.bin加载到DA14580芯片中
在您执行命令后,CLI将打印一个信息,要求您按下复位按钮。
以上反映了我现在的问题。我想通过计算机而不是人工发送硬件复位信号。所以就像你说的JTAG和UART方法都不能摆脱发送复位信号。我已经尝试使用python脚本来监控CLI输出,并使用与DA14580连接的相同的usb芯片发出复位信号。但是USB芯片被COM通信占用。所以我无法发送重置信号。

2)模拟Smartsnippets过程不准确。应该使用python脚本重写所有芯片编程过程。以这种方式,我需要知道什么Smartsnippets,而它是编程的Da14580芯片。

谢谢
杨凯

MT_dialog
离线
最后看到:4个月23小时前
工作人员
加入:2015-06-08 11:34
嗨lovejoey,

嗨lovejoey,

如果没有复位引脚,你就无法模拟复位信号,智能片段要求复位销的原因当下载通过UART是为了引导装载程序运行,然后智能剪将二进制到UART尽快追踪STX = 0 x02(只要聪明的片段检测STX字符从引导装载程序在控制台显示“重置信号检测”)表示开始UART引导过程。因此,在重置信号命中(用户必须推而不是智能片段)UART启动序列开始和智能片段遵循AN-B-001文档中描述的程序有关UART启动过程。JTAG不需要重置,因为只要580中的调试器模块被启用,它就可以直接访问580。如果调试器模块被禁用(580使用sleep运行fw),你将再次需要重置按钮来运行主引导加载程序和主引导加载程序来重新启用调试器模块。

我理解你想要一个信号来切换复位引脚,但就我所知,没有什么智能片段或CLI程序员可以提供你的选项。

由于MT_dialog

米奇
离线
最后看到:4年7个月前
加入:2015-07-23 16:51
嗨mt_dialog,

嗨mt_dialog,

我们正在尝试做的是仿真SmartSnippets所做的,但添加了FTDI 230x的软件重置。如果我们能够理解CLI进程,那么我认为我们可以在Python中创建一个脚本,该脚本将完成相同的过程,也使用230x GPIO功能向DA14580发送复位脉冲。

我们使用的CLI命令有:
command1 = 'SmartSnippets.exe -type booter -chip DA14580-01 -com_port commen -gpio P0_4 -uart P0_0 -file %USERPROFILE%/SmartSnippets/resources/programmer_ES5.bin . txt . txt

command2 = ' smartnippets .exe -type otp -chip DA14580-01 -com_port comm -baudrate 57600 -gpio P0_4 -uart P0_0 -firmware %USERPROFILE%/ smartnippets /resources/programmer_ES5.bin -cmd write_custom_code -file /path/to/OTPFirmwareFile/file. conf . conf . conf十六进制偏移0 x0 '

command3 ='smartsnippets.exe -Type OTP -Chip DA14580-01 -Com_Port Comnum -BaudRate 57600-GPIO P0_4 -uart P0_0 -Firmware Programmer_ES5.bin -cmd write_header -file /path/to/totheaderfile/file.hex'

第一个命令的目的是什么?是设置FTDI芯片来了解DA14580如何与DA14580通信,接收到STX字节后发送SOH字节吗?或者它是DA14580的指令集?二进制到底在做什么?在这个命令之后,有必要按下硬件复位按钮,我假设这意味着我们需要重新启动引导过程,以便引导加载程序。App Flag仍然是0x0000,所以芯片启动到Dev模式。

我假设第二命令是我们开始UART引导协议的地方。该芯片发送STX和PC(?)响应固件的SOH,LEN_LSB和LEN_MSB,DA14580发送ACK字节。然后,它从PC等待我们的十六进制文件,并在地址0x20000000开始加载它。完成此操作后,DA14580发送CRC,主机必须使用ACK字节响应。在此之后,Sys_CTRL_REG寄存器被编程为重新映射到SYSRAM并应用软复位。

我们现在可以发送我们的OTP头,这在第三个命令中完成。在我们开始发布这个十六进制文件之前,还有什么需要从DA14580收到的吗?我们需要遵循什么启动顺序吗?流程是什么?

在OTP头被编程后,我们现在可以硬重置DA14580,并期望我们的固件加载,是这样的吗?

MT_dialog
离线
最后看到:4个月23小时前
工作人员
加入:2015-06-08 11:34
嗨Mikey,

嗨Mikey,

第一个命令通过-file选项下载fw设置(在您的情况下,580应该有待编程OTP的ES5_Programmer),580 EMMITS是在启动加载程序运行时的字节,并且580为FW等待将下载。STX由580发送,并且检测0x02被检测到的智能代码段假定已按下复位并启动指示的序列。您无需调用您指示的命令(提及的前2个),您可以直接应用第二个命令,程序员将被下载,然后写入WRITE_CUSTOM_CODE中所示的-file作为您的形象或作为头部。

要汇总-Firmware Firfware_file您指示命令的命令将在执行指定命令之前下载如果您不在命令中使用此参数,则应使用已指示的第一个命令,以便580成为使用ES5_Programmer编程,然后您可以发出下一个命令。因此,需要重置才能为引导加载程序运行,以便检测到STX,使程序员_ES5.bin被下载到580中。

您可以在命令行实现部分找到所有CLI命令和解释SmartSnippetshelp.pdf中的所有COMAN,帮助文件位于Smart Scompets目录中。您可以打开SS并单击“帮助”选项,然后选择UserGuide.pdf

在OTP标题中刻录OTP和应用程序标志后,当您按RESET按钮时,OTP应用程序应加载到SYSRAM。

由于MT_dialog