主题中讨论的其他部件:UNIFLASH、 DP83848K
您好!
我使用 了 AM4377中提到的同一个项目:适用于 AM4377的 QSPI-Flash 、我们仍然遇到了电路板有时无法启动的问题。
当引导过程失败并且即使 SYSBOOT 配置处于 QSPI (110'0100'0000'0100'1010)模式、通信甚至无法启动时、我已经测量了 QSPI 的 DCLK 和 nCS。
是否有任何方法可确保我们处于正确的引导模式?
也许这是一个硬件问题、因为某些电路板工作正常、而其他电路板则每隔一段时间就会出现错误。 当器件开启且关断时间约为0.5s 时、我能够通过"坏"电路板持续重现故障。 如果设备关闭时间超过一秒、则引导时不会出现任何问题。 在这两种情况下、电源定序是相同的。 我认为这是一个针对硬件故障的参数。
我发现的一个可能相关的问题:
以下问题只是"坏"电路板发生、大约为20%。 与其他器件一起使用 UniFlash 进行编程是成功的。
通过 UniFlash CLI 对闪存进行编程时、在通过 JTAG 使用 USB560v2 System Trace 加载.out 文件后、尽管返回值成功、COM 端口上仍没有"C"输出。
CMD 行指令:
dslite.bat --mode load --config=path\TargetConfig\sqpAM437x.ccxml -f path\ProgFiles\UART_sqpAM437x_flash_programmer.out -n 1.
输出:
> "C:\TI\uniflash_8.1.1\deskdb\content\TICloudAgent\win\ccs_base\DebugServer\bin\DSLite" load --config=PATH\TargetConfig\sqpAM437x.ccxml -f PATH\ProgFiles\uart_sqpAM437x_flash_programmer.out -n 1
For more details and examples, please refer to the UniFlash Quick Start guide.
DSLite version 12.2.0.2919
Configuring Debugger (may take a few minutes on first launch)...
Initializing Register Database...
Initializing: IcePick_D_0
Loaded FPGA Image: C:\TI\uniflash_8.1.1\deskdb\content\TICloudAgent\win\ccs_base\common\uscif\dtc_top.jbc
Executing Startup Scripts: IcePick_D_0
Initializing: CS_DAP_M3
Executing Startup Scripts: CS_DAP_M3
Initializing: M3_wakeupSS_1
Executing Startup Scripts: M3_wakeupSS_1
Initializing: CS_DAP_DebugSS
Executing Startup Scripts: CS_DAP_DebugSS
Initializing: CortexA9
Executing Startup Scripts: CortexA9
Initializing: CSSTM_0
Executing Startup Scripts: CSSTM_0
Initializing: CSETB_0
Executing Startup Scripts: CSETB_0
Initializing: PRU_ICSS1_PRU0
Executing Startup Scripts: PRU_ICSS1_PRU0
Initializing: PRU_ICSS1_PRU1
Executing Startup Scripts: PRU_ICSS1_PRU1
Initializing: PRU_ICSS0_PRU0
Executing Startup Scripts: PRU_ICSS0_PRU0
Initializing: PRU_ICSS0_PRU1
Executing Startup Scripts: PRU_ICSS0_PRU1
Connecting...
GEL: CortexA9: Output: **** AM437x SQP Initialization is in progress ..........
GEL: CortexA9: Output: **** Device Type: GP
GEL: CortexA9: GEL Output: System input clock is 24MHz
GEL: CortexA9: GEL Output: **** AM43xx NITRO (1000MHz) with CLKIN=24MHz is in progress .........
GEL: CortexA9: GEL Output: **** Going to Bypass...
GEL: CortexA9: GEL Output: **** Bypassed, changing values...
GEL: CortexA9: Output: **** Locking PLL
GEL: CortexA9: GEL Output: **** MPU PLL locked
GEL: CortexA9: GEL Output: **** Core Bypassed
GEL: CortexA9: GEL Output: **** Now locking Core...
GEL: CortexA9: GEL Output: **** Core locked
GEL: CortexA9: GEL Output: **** Calculated PER SD Divisor=4
GEL: CortexA9: GEL Output: **** PER DPLL Bypassed
GEL: CortexA9: GEL Output: **** PER DPLL Locked
GEL: CortexA9: GEL Output: **** Calculated EXTDEV SD Divisor=2
GEL: CortexA9: GEL Output: **** EXTDEV DPLL Bypassed
GEL: CortexA9: GEL Output: **** EXTDEV DPLL Locked
GEL: CortexA9: GEL Output: **** DISP PLL Config is in progress ..........
GEL: CortexA9: GEL Output: **** DISP PLL Locked
GEL: CortexA9: GEL Output: **** DDR DPLL Bypassed
GEL: CortexA9: GEL Output: **** DDR DPLL Locked
GEL: CortexA9: GEL Output: **** Setting DDR3 = 400MHz
GEL: CortexA9: GEL Output: **** AM43xx NITRO configuration is done .........
GEL: CortexA9: GEL Output: Starting DDR3 configuration...
GEL: CortexA9: Output: EMIF PRCM is in progress .......
GEL: CortexA9: Output: EMIF PRCM Done
GEL: CortexA9: GEL Output: EMIF CLK enabled...
GEL: CortexA9: GEL Output: Waiting for VTP Ready .......
GEL: CortexA9: GEL Output: VTP is Ready!
GEL: CortexA9: GEL Output: VTP controller enabled
GEL: CortexA9: GEL Output: Checking if DLL is ready...
GEL: CortexA9: GEL Output: DLL is ready
GEL: CortexA9: GEL Output: Configuring DDR IOs and Control Module registers...
GEL: CortexA9: GEL Output: Configuration of Control Module registers complete
GEL: CortexA9: GEL Output: Setting up DDR3 H/W leveling configuration...
GEL: CortexA9: GEL Output: Starting EMIF controller configuration...
GEL: CortexA9: GEL Output: EMIF Config for SQP
GEL: CortexA9: GEL Output:
DDR3 Hardware leveling complete... Outputing all the leveling results !!!
GEL: CortexA9: GEL Output: PHY_STATUS_12=0x07000099
GEL: CortexA9: GEL Output: PHY_STATUS_13=0x070000A0
GEL: CortexA9: GEL Output: PHY_STATUS_14=0x070000B4
GEL: CortexA9: GEL Output: PHY_STATUS_15=0x070000AD
GEL: CortexA9: GEL Output: PHY_STATUS_16=0x00000000
GEL: CortexA9: GEL Output: PHY_STATUS_7 =0x00000046
GEL: CortexA9: GEL Output: PHY_STATUS_8 =0x00000044
GEL: CortexA9: GEL Output: PHY_STATUS_9 =0x00000046
GEL: CortexA9: GEL Output: PHY_STATUS_10=0x00000044
GEL: CortexA9: GEL Output: PHY_STATUS_11=0x00000000
GEL: CortexA9: GEL Output: PHY_STATUS_17=0x012700D1
GEL: CortexA9: GEL Output: PHY_STATUS_18=0x000000CD
GEL: CortexA9: GEL Output: PHY_STATUS_19=0x019300E0
GEL: CortexA9: GEL Output: PHY_STATUS_20=0x010300DF
GEL: CortexA9: GEL Output: PHY_STATUS_21=0x00000000
GEL: CortexA9: GEL Output: PHY_STATUS_22=0x00E70091
GEL: CortexA9: GEL Output: PHY_STATUS_23=0x03C0008D
GEL: CortexA9: GEL Output: PHY_STATUS_24=0x015300A0
GEL: CortexA9: GEL Output: PHY_STATUS_25=0x00C3009F
GEL: CortexA9: GEL Output: PHY_STATUS_26=0x00000000
GEL: CortexA9: GEL Output:
DDR3 configuration is complete!!!
GEL: CortexA9: GEL Output: Turning on EDMA...
GEL: CortexA9: GEL Output: EDMA is turned on...
GEL: CortexA9: Output: **** AM437x IDK EVM Initialization is Done ******************
GEL: CortexA9: Output: **** PRU-ICSS PRCM Enable Step 1 is in progress ****
GEL: CortexA9: Output: **** PRU-ICSS PRCM Enable Step 1 is Done ****
GEL: CortexA9: Output: **** PRU-ICSS PRCM Enable Step 2 is in progress ****
GEL: CortexA9: Output: **** PRU-ICSS PRCM Enable Step 2 is Done ****
Fill Memory
Verifying 0x54410000
Filling 0x54417FF0: 99%
Verifying 0x54417FF0: 99%
Filling 0x54418000: 100%
Loading Program: PATH\ProgFiles\uart_sqpAM437x_flash_programmer.out
Preparing ...
PT_LOAD[0]: 0 of 40084 at 0x40300000
PT_LOAD[0]: 32752 of 40084 at 0x40300000: 81%
Finished: 81%
Setting PC to entry point.: 81%
Running...
Success
当使用 Code Composer Studio (10.4.0.00006)加载.out-file 时、COM 端口上的"C"输出存在、但在大多数情况下、当尝试刷写映像时、该过程会以8%的速度失败。
发生这种情况时、QSPI 通信也不会启动。 当我以这种方式尝试时、加载成功、每10次加载一次。
CMD 行指令:
C:\TI\uniflash_8.1.1>dslite.bat -模式处理器-c COM6 -f path\ProgFiles\bootloader_boot_qspi_a9host_release.bin -d 2 -o 0
输出:
Executing the following command: > C:\TI\uniflash_8.1.1\processors\ProcessorSDKSerialFlash.exe -c COM6 -f PATH\ProgFiles\bootloader_boot_qspi_a9host_release.bin -d 2 -o 0 For more details and examples, please refer to the UniFlash Quick Start guide. The file extension is .bin ---------------------------------------------------------------------------- ProcessorSDKSerialFlash CLI Tool Copyright (C) 2017-2022 Texas Instruments Incorporated - http://www.ti.com/ Version 1.7.0.0 ---------------------------------------------------------------------------- Transferring the Image to Flash Programmer.. Transferring Header Information.. Header Transfer Complete! Flashing Image of size 37768 bytes 8% complete Flash Programming Failed!!
在尝试删除闪存时、闪存和 am4377之间也没有通信、即使很困难、也表示闪存擦除成功!
CMD 行指令:
C:\TI\uniflash_8.1.1>dslite.bat -模式处理器-c COM6 -d 2 -e 0x200000
输出:
Executing the following command: > C:\TI\uniflash_8.1.1\processors\ProcessorSDKSerialFlash.exe -c COM6 -d 2 -e 0x200000 For more details and examples, please refer to the UniFlash Quick Start guide. ---------------------------------------------------------------------------- ProcessorSDKSerialFlash CLI Tool Copyright (C) 2017-2022 Texas Instruments Incorporated - http://www.ti.com/ Version 1.7.0.0 ---------------------------------------------------------------------------- Erasing Flash.... Transferring Header information.. Header Transfer Complete!! Flash Erase Success!
在 Quicik 开始指南中、它显示了%errorlever%、可以检查先前的操作是否通过。 在我的案例中,“dslite.bat --mode load....” 命令,但"dslite.bat --mode processors..." 即使所有内容都成功加载(引导加载程序和.bin 文件)、指令也始终返回1。
这是否是批处理文件的错误、或者是否确定有错误? 是否有其他方法可以确保该流程成功/失败?
您对如何继续有什么建议吗?
此致、Timo






