主题中讨论的其他器件:UNIFLASH
工具与软件:
您好!
我们在 Linux 下使用 DSLite 在生产过程中对器件进行编程(XDS110用作 JTAG 仿真器)。
此过程包括以下步骤:
- 读取 CPUID
- 对 CPU2的闪存进行编程
- 对 CPU2的 OTP 存储器进行编程
- 对 CPU1的闪存进行编程
- 对 CPU1的 OTP 存储器进行编程
不幸的是,这个过程有时会被中断,这是大规模生产的真正问题。
我收集了几类错误的日志。
此致、
Piotr Romaniuk
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
您好!
我们在 Linux 下使用 DSLite 在生产过程中对器件进行编程(XDS110用作 JTAG 仿真器)。
此过程包括以下步骤:
不幸的是,这个过程有时会被中断,这是大规模生产的真正问题。
我收集了几类错误的日志。
此致、
Piotr Romaniuk
DSLite 版本12.7.0.3313
什么是 UniFlash 版本? 我之所以提出这个问题、是因为我们发现了针对多核环境生成的命令行软件包存在一些问题。 已在 UniFlash 8.8.0中修复
DSLite 版本12.7.0.3313
我相信这来自 UniFlash 8.7、它会受到上述错误的影响。
尽管上述错误确实是造成问题的原因、但我预计故障率会高于15%。 但仍值得更新到最新的 Uniflash 8.8.1。
如何在不运行 UniFlash 的情况下生成命令行包?
您需要 UniFlash GUI 才能生成软件包。 没有 CLI 生成此信息。
尊敬的 Ki:
我将 uniflash 更新到8.8.1并重新生成了 CLI 软件包。
不幸的是、问题仍然存在:
Executing: /home/pi/uniflash_linux-8.8.1-xds110/ccs_base/DebugServer/bin/DSLite flash -c /mnt/programator/settings/dev-01/f28379d.ccxml -l /mnt/programator/settings/dev-01/generated.ufsettings -e -f -v "/mnt/programator/Bootloader_cpu01-part2.hex"
DSLite version 12.8.0.3522
Configuring Debugger (may take a few minutes on first launch)...
Initializing Register Database...
Initializing: IcePick_C_0
Executing Startup Scripts: IcePick_C_0
Initializing: C28xx_CPU1
Executing Startup Scripts: C28xx_CPU1
Initializing: CPU1_CLA1
Executing Startup Scripts: CPU1_CLA1
Initializing: C28xx_CPU2
Executing Startup Scripts: C28xx_CPU2
Initializing: CPU2_CLA1
Executing Startup Scripts: CPU2_CLA1
Connecting...
C28xx_CPU1: GEL Output:
Memory Map Initialization Complete
info: C28xx_CPU1: If erase/program (E/P) operation is being done on one core, the other core should not execute from shared-RAM (SR) as they are used for the E/P code. Also, CPU1 will be halted to determine SR ownership for the CPU which will run the Flash Plugin code, after which CPU1 will be set to run its application. User code execution from SR could commence after both flash banks are programmed.
Loading Program: /mnt/programator/Bootloader_cpu01-part2.hex
Preparing ...
0 of 29386 at 0x80000
error: C28xx_CPU1: Flash Programmer: Error erasing Sector A. OTP checksum mismatch detected. Operation Cancelled (4).
error: C28xx_CPU1: File Loader: Memory write failed: Unknown error
Finished
这是在成功地对 cpu02的闪存和 OTP 进行编程后发生的。 启动时芯片空。
不管打印出来是"已完成"、DSLite 过程似乎挂起[?]:
pi@lopi-config-tool-3160:/var/www/html/tmp-get$ ps -axu |grep xds ... PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND ... 161770 199 0.8 493936 69464 ? Sl 14:17 76:53 /home/pi/uniflash_linux-8.8.1-xds110/ccs_base/DebugServer/bin/DSLite flash -c /mnt/programator/settings/dev-01/f28379d.ccxml -l /mnt/programator/settings/dev-01/generated.ufsettings -e -f -v /mnt/programator/Bootloader_cpu01-part2.hex
统计:5个程序有1个错误。
此致、
Piotr Romaniuk
我不太熟悉这个错误。 在搜索时、我找到了几个线程:
错误来自闪存编程器。 我会提请器件专家注意该主题、以便进一步调查。
尊敬的 Ki:
我自己开发了引导加载程序。
在第一阶段将板载引导加载程序下载到 RAM 中仅取决于 DSS (JS)和 DebugServer (JTAG)。
并在使用串行接口后返回。 在第二阶段、只有我的软件和 F28~硬件功能。
下周我将检查该解决方案是否仍然存在问题。
此致、
Piotr Romaniuk
PS
我怀疑 OTP 编程后、有时开关电流内核存在问题。 这是目前的主题。
使用我的解决方案进行的测试可能会导致进一步的混淆。