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.

[参考译文] AM2634:SDK_08_05_00_24中的 Micron QSPI 闪存自定义问题

Guru**** 2534040 points
Other Parts Discussed in Thread: UNIFLASH, SYSCONFIG, CCSTUDIO

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1191511/am2634-micron-qspi-flash-customization-questions-in-sdk_08_05_00_24

器件型号:AM2634
主题中讨论的其他器件:UNIFLASHSysConfigCCStudio

各位专家、您好!

我们 正在尝试使用 MT25QL512ABB 这个闪存。  我们 将其放在 LP-AM263x 上并运行 QSPI_FLASH_diag_am263x 演示项目、然后获取 json 文件作为附件。

[Cortex_R5_0] [QSPI Flash Diagnostic Test] Starting ...
[QSPI Flash Diagnostic Test] Flash Manufacturer ID : 0x20
[QSPI Flash Diagnostic Test] Flash Device ID       : 0xBA20
[QSPI Flash Diagnostic Test] Executing Flash Erase on first block...
[QSPI Flash Diagnostic Test] Done !!!
[QSPI Flash Diagnostic Test] Performing Write-Read Test...
[QSPI Flash Diagnostic Test] Write-Read Test Passed!
[QSPI Flash Diagnostic Test] SFDP Information : 
================================================
                      SFDP                      
================================================
SFDP Major Revision                       : 0x1
SFDP Minor Revision                       : 0x6
Number of Parameter Headers in this Table : 2

Types of Additional Parameter Tables in this flash
---------------------------------------------------
4 BYTE ADDRESSING MODE INSTRUCTIONS TABLE

{

	"flashSize": "67108864",
	"flashPageSize": "256",
	"flashManfId": "0x20",
	"flashDeviceId": "0xBA20",
	"flashBlockSize": "65536",
	"flashSectorSize": "4096",
	"cmdBlockErase3B": "0xD8",
	"cmdBlockErase4B": "0xDC",
	"cmdSectorErase3B": "0x20",
	"cmdSectorErase4B": "0x21",
	"protos": {
		"p111": {
			"isDtr": false,
			"cmdRd": "0x03",
			"cmdWr": "0x02",
			"modeClksCmd": 0,
			"modeClksRd": 0,
			"dummyClksCmd": 0,
			"dummyClksRd": 0,
			"enableType": "0",
			"enableSeq": "0x00",
			"dummyCfg": null,
			"protoCfg": null,
			"strDtrCfg": null,
		},
		"p112": {
			"isDtr": false,
			"cmdRd": "0x3C",
			"cmdWr": "0x02",
			"modeClksCmd": 0,
			"modeClksRd": 1,
			"dummyClksCmd": 0,
			"dummyClksRd": 7,
			"enableType": "0",
			"enableSeq": "0x00",
			"dummyCfg": null,
			"protoCfg": null,
			"strDtrCfg": null,
		},
		"p114": {
			"isDtr": false,
			"cmdRd": "0x6C",
			"cmdWr": "0x34",
			"modeClksCmd": 0,
			"modeClksRd": 1,
			"dummyClksCmd": 0,
			"dummyClksRd": 7,
			"enableType": "0",
			"enableSeq": "0x00",
			"dummyCfg": null,
			"protoCfg": null,
			"strDtrCfg": null,
		},
		"p118": null,
		"p444s": null,
		"p444d": null,
		"p888s": null,
		"p888d": null,
		"pCustom": null
	},
	"addrByteSupport": "1",
	"fourByteAddrEnSeq": "0x36",
	"resetType": "0x3D",
	"cmdWren": "0x06",
	"cmdRdsr": "0x05",
	"srWip": 0,
	"srWel": 0,
	"cmdChipErase": "0xC7",
	"flashDeviceBusyTimeout": 128000000,
	"flashPageProgTimeout": 120
}

All tests have passed!!

2.我们已检查以下设置

-检查1s-1s 模式(我们使用1s 模式),WEL 必须设置1。  -完成

-硬件可靠性 : 确保 Micron 闪存能够通过引导 QSPI_FLASH_DMS_TRANSFT (32KB)和 QSPI_FLASH_TRANSFT (256B)测试-通过

-增加超时值,因为 SPI 模式要慢得多-完成此操作

请找到我们配置的最终设置。

/* FLASH Attrs */
/* FLASH Attrs - populated from SysConfig options */
Flash_Attrs gFlashAttrs_MT25QL512ABB =
{
    .flashName = "MT25QL512ABB",
    .deviceId = 0xBA20,
    .manufacturerId = 0x20,
    .flashSize = 67108864,
    .blockCount = 1024,
    .blockSize = 65536,
    .pageCount = 256,
    .pageSize = 256,
    .sectorCount = 16384,
    .sectorSize = 4096,
};

/* FLASH DevConfig */
/* FLASH DevConfig - populated from SysConfig options */
Flash_DevConfig gFlashDevCfg_MT25QL512ABB =
{
    .enable4BAddr = false,
    .addrByteSupport = 0x00,
    .fourByteAddrEnSeq = 0x00,
    .cmdWren = 0x06,
    .cmdRdsr = 0x05,
    .srWip = (1 << 0),
    .srWel = (1 << 1),
    .resetType = 0x1D,
    .eraseCfg = {
        .blockSize = 65536,
        .sectorSize = 4096,
        .cmdBlockErase3B = 0xD8,
        .cmdBlockErase4B = 0xD8,
        .cmdSectorErase3B = 0x20,
        .cmdSectorErase4B = 0x20,
        .cmdChipErase = 0xC7,
    },
    .idCfg = {
        .cmd = 0x9F, /* Constant */
        .numBytes = 3,
        .dummy4 = 0,
        .dummy8 = 0,
    },
    .protocolCfg = {
        .protocol = FLASH_CFG_PROTO_1S_1S_1S,
        .isDtr = FALSE, /* DTR not supported in this version of flash driver with QSPI */
        .cmdRd = 0x03,
        .cmdWr = 0x02,
        .modeClksCmd = 0,
        .modeClksRd = 0,
        .dummyClksCmd = 0,
        .dummyClksRd = 0,
        .enableType = 0xFF,
    },
    .flashWriteTimeout = 4000,
    .flashBusyTimeout = 128000000,
};

但是、我们目前遇到的问题是、我们可以使用闪存写入器将映像写入 Micron 闪存、但我们无法启动 SBL。

我们设置 QSPI (1S)-单读 UART 回退模式、但在重新启动电源后、SBL 无法启动、因此通过 UART 接口从外部主机启动。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    否则、AM263x ROM 代码是否能够支持  MT25QL512ABB 闪存?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、 

    您碰巧在终端重建了 SBL、还是尝试从开箱即用的 MCU 提供的 SBL_null *。tiimage?

    如果您在终端重建了 SBL、我建议您检查主机上的 OpenSSL 版本(您在其中构建了 SBL)。 确保版本仅应为 OpenSSL 1.1.1l。

    我建议从 MCU_PLUS_SDK 开箱即用提供的 SBL_null 映像开始。

    此致、
    Aakash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Aakash:

    根据您的建议 、我们开始使用 SBL_null 示例代码来调试并列出消息、请帮助我们检查是否存在任何问题

    Cortex_R5_0: GEL Output: Loading Gel Files on R5F0 
    Cortex_R5_0: GEL Output: Gel files loading on R5F0 Complete
    Cortex_R5_0: GEL Output: ***OnTargetConnect() Launched***
    
    Cortex_R5_0: GEL Output: AM263x Initialization Scripts Launched. 
    Please Wait...
    
    
    Cortex_R5_0: GEL Output: AM263x_Cryst_Clock_Loss_Status() Launched
    Cortex_R5_0: GEL Output: Crystal Clock present 
    Cortex_R5_0: GEL Output: AM263x_SOP_Mode() Launched
    Cortex_R5_0: GEL Output: SOP MODE = 0x00000005    
    Cortex_R5_0: GEL Output: 
     QSPI - 1S Fallback UART boot mode
    Cortex_R5_0: GEL Output: AM263x_Read_Device_Type() Launched
    Cortex_R5_0: GEL Output: EFuse Device Type Value = 0x000000AA    
    Cortex_R5_0: GEL Output: AM263x_Check_supported_mode() Launched
    Cortex_R5_0: GEL Output: 
     efuse1=0x01000000  
    Cortex_R5_0: GEL Output: 
     The Device supports both LockStep & Dual Core mode 
    Cortex_R5_0: GEL Output: 
     mode = 0 
    Cortex_R5_0: GEL Output: MSS_CTRL Control Registers Unlocked
    Cortex_R5_0: GEL Output: MSS_TOP_RCM Control Registers Unlocked
    Cortex_R5_0: GEL Output: MSS_RCM Control Registers Unlocked
    Cortex_R5_0: GEL Output: MSS_IOMUX Control Registers Unlocked
    Cortex_R5_0: GEL Output: TOP_CTRL Control Registers Unlocked
    Cortex_R5_0: GEL Output: 
    
    ***R5FSS0 Reset for Lockstep ***
    Cortex_R5_0: GEL Output: 
    
    *** R5FSS1 Reset for Lockstep ***
    Cortex_R5_0: GEL Output: R5F ROM Eclipse
    Cortex_R5_0: GEL Output: R5FSS0_0 Released
    Cortex_R5_0: GEL Output: R5FSS0_1 Released
    Cortex_R5_0: GEL Output: R5FSS1_0 Released
    Cortex_R5_0: GEL Output: R5FSS1_1 Released
    Cortex_R5_0: GEL Output: 
    
     All R5F Cores Released for program load
    Cortex_R5_0: GEL Output: L2 Mem Init Complete
    Cortex_R5_0: GEL Output: MailBox Mem Init Complete
    Cortex_R5_0: GEL Output: *********** R5FSS0/1 Lockstep mode Configured********
    Cortex_R5_0: GEL Output: PER PLL Configuration Complete
    Cortex_R5_0: GEL Output: SYS_CLK DIVBY2 
    Cortex_R5_0: GEL Output: DPLL_CORE_HSDIV0_CLKOUT0 selected as CLK source for R5FSS & SYS CLKs 
    Cortex_R5_0: GEL Output: 
     CLK Programmed R5F=400MHz and SYS_CLK=200MHz 
    Cortex_R5_0: GEL Output: 
    
     *** Enabling Peripheral Clocks *** 
    Cortex_R5_0: GEL Output: Enabling RTI[0:3] Clocks 
    Cortex_R5_0: GEL Output: Enabling RTI_WDT[0:3] Clocks 
    Cortex_R5_0: GEL Output: Enabling UART[0:5]/LIN[0:5] Clocks 
    Cortex_R5_0: GEL Output: Enabling QSPI Clocks 
    Cortex_R5_0: GEL Output: Enabling I2C Clocks 
    Cortex_R5_0: GEL Output: Enabling TRACE Clocks 
    Cortex_R5_0: GEL Output: Enabling MCAN[0:3] Clocks 
    Cortex_R5_0: GEL Output: Enabling GPMC Clocks 
    Cortex_R5_0: GEL Output: Enabling ELM Clocks 
    Cortex_R5_0: GEL Output: Enabling MMCSD Clocks 
    Cortex_R5_0: GEL Output: Enabling MCSPI[0:4] Clocks 
    Cortex_R5_0: GEL Output: Enabling CONTROLSS Clocks 
    Cortex_R5_0: GEL Output: Enabling CPTS Clocks 
    Cortex_R5_0: GEL Output: Enabling RGMI[5,50,250] Clocks 
    Cortex_R5_0: GEL Output: Enabling XTAL_TEMPSENSE_32K Clocks 
    Cortex_R5_0: GEL Output: Enabling XTAL_MMC_32K Clocks 
    Cortex_R5_0: GEL Output: 
    
     ***All IP Clocks are Enabled*** 
    
    Cortex_R5_0: GEL Output: CPU reset (soft reset) has been issued through GEL.
    

    适用于 openssl 版本的2.BTW、
    我们已经尝试了1.1.1f、1.1.1Q for Linux、1.1.1s for windows,但是“SBL cannot boot”的问题没有得到解决,

    现在 我们正在 Linux 上安装1.1.1l,但我们遇到了一些问题,并且仍在继续处理它!!

    此外、如果这是由于 openssl 版本、则会出现问题、但为什么我们测试 Infineon S25FL128SA 的结果、"SBL boot is normal"

    此致、

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、 

    [引用 userid="422461" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1191511/am2634-micron-qspi-flash-customization-questions-in-sdk_08_05_00_24/4491732 #4491732"]我们已经尝试了1.1.1f、1.1.1Q (用于 Linux)、1.1.1 (用于 Windows),但"SBL Cannot boot"(SBL 无法引导)的问题尚未解决,

    我建议  在 UART 引导模式下通过 XMODEM 发送 SBL_null 示例*。tiimage、而不是在 openssl 版本周围进行杂耍。 如果这对您有效、则 SBL 映像可以正常工作。

    您已经提到过您尝试通过 闪存写入器对映像进行编程。 您是否对 相同的应用使用了 SBL_UART_uniflash 或 SBL_JTAG_uniflash?

    如果是,您是否为上述 SBL 更新了 SysConfig 中与闪存相关的所需更改?

    此致、
    Aakash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  Aakash:

    我看到 TI 文档提到“良好的信号完整性对于 AM263x MCU 的基本 QSPI 启动操作至关重要”我想问我们是否将 LP-AM263x 上的 Infineon 闪存替换为 MT25QL512ABB 闪存,如下所示: 这是否是"闪存无法引导问题"的可能原因?

    下面是您的问题的答案

    -您已经提到过您尝试通过 闪存写入器对映像进行编程。 您是否对    相同的应用使用了 SBL_UART_uniflash 或 SBL_JTAG_uniflash?

    ->我们使用 uart_uniflash_gui.py 对图像进行编程、如下图所示

    -如果是,您是否为上述 SBL 更新了 SysConfig 中与闪存相关的所需更改?

    ->可以。 请按如下所示查找 sysconfilg 文件

    a.SBL_UART_uniflash

    e2e.ti.com/.../example_5F00_syscfg_5F00_sbl_5F00_uniflash.zip

    SBL_QSPI

    e2e.ti.com/.../example_5F00_syscfg_5F00_sbl_5F00_qspi.zip

    3.应用程序图像

    e2e.ti.com/.../example_5F00_syscfg_5F00_app_5F00_image.zip

    此致、

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Wilson、

    我无法推断 SPI 引导模式为什么不能为您使用。 您的很多细节似乎都是绝对正确的。

    实验 结果
    闪存诊断(1s 至1s)

    通过

    闪存 传输(1s 至1s)

    通过

    UART 闪存(1s 至1s)

    通过

    ROM 引导(1s-1s)

    失败

    只需确认您设置的 LP 上的引导模式是 QSPI (1s)、即0101。 LaunchPad 应位于1010中、即类似的器件。

    是否可以尝试相同并确认? 这是因为、QSPI 可能会工作、也可能不工作、具体取决于硬件设置、但 SPI 硬件完全由您验证、我建议您从 SPI 引导开始。

    此致、
    Aakash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  Aakash:

    请允许我向您确认以下内容

    • Flash 诊断(1s-1s-1)通过<-是
    • 闪存传输(1s-1s-1s)通过<-是
    • 闪存 DMA Yransfer (1s-1s) pass <-是
    • UART 闪存(1s 至1s)通过<--是的
    • ROM 引导(1s-1s-1s)失败<-是

    我们 在 TRM 文件中引用 ROM 序列(1s-1s)、并按如下所示进行检查:
        •ROM 在此模式下发出的命令为0x0B。
          -> 我们确认了 MIron 闪存的规格支持它。
        •如果由于映像损坏而导致引导失败、RBL 会在地址0x0000_0000处查找 SBL 映像
          ->请问是由损坏的 SBL 映像导致启动问题、还是由硬件 r 替换闪存?

    此致、

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  Aakash:

    是否可以尝试相同并确认?

    ->我们已反复确认引导模式引脚(1s-1s)正确无误、就像您拍摄的图片一样。

    此致、

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Wilson、Aakash、

       基于今天的支持、我们使用相同的代码测试了两个板。  一个电路板甚至无法在1s1-1s 模式下通过 QSPI_FLASH_diag。

    另一个板可以使用 python 脚本加载 SBL_UART_uniflash 并成功对 SBL_null 进行编程。 但是、它仍然无法启动。

    我建议您检查硬件质量、因为我们使用相同的代码获得了两个不同的结果。  

    根据我的理解、如果可以执行 SBL_UART_uniflash、软件开发就可以了。 闪存驱动程序设置应该没有错误。

    OpenSSL 签名工具应该很好。

    在 ROM 代码将映像加载到 RAM 后、很可能无法通过 x.509认证、即从闪存加载到 RAM 的内容不正确。

    有关更多详细信息、请参阅 TRM 中的初始化部分。

    此致

    Andre

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  和 

    让我们进行一个简短的调用来调试相同的代码。 请立即为同一项发送邀请。

    此致、
    Aakash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    让我们进行简短的讨论。 通过邮件向您发送邀请。

    此致

    Andre

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    安 

    如上所述、让我在内部进行讨论、并处理下一个行动项目。

    此致、
    Aakash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    安德烈曾、您好!

    我们提供 了一份应用手册、用于选择支持的闪存 - https://www.ti.com/lit/an/sprad50/sprad50.pdf

    我们正在制定 ROM 故障排除指南。 我们很快就会提供相同的内容。

    希望这对您有所帮助。

    此致、
    Aakash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Aakash:

    根据 TI 的建议、我们更换了 MT25QL128ABA1EW9、因为只有128MB 具有引脚对引脚封装、
    但验证结果仍然相同

    闪存诊断(1s 至1s)通过
    闪存传输(1s-1s)通过
    闪存 DMA Yransfer (1s-1s)通过
    UART 闪存(1s-1s)通过
    ROM 引导(1s-1s)失败

    你有其他建议吗?

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Aakash、

       请提供一种方法来立即检查 ROM 代码问题。 我们没有得到任何关于 ROM 代码是否支持该闪存的确认。 请建议如何解决此问题。

    此致

    Andre

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好  和 

    对拖延表示歉意。 我们需要来自 RBL 的更多日志来找出此处出现的问题。 由 EOD 提供。

    此致、
    Aakash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Aakash:

    为了避免混淆、我编译了一个表。 表中的验证结果显示(1s-1s)读取命令为0x0B、(1s-1s)读取命令为0x6B 读取命令全部失败

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Wilson、

       当您使用0x0B 快速读取 命令时、您是否添加了8个虚拟周期? 在编译闪存图和 Xfer 测试实用程序之前、需要修改低级驱动程序库。 如果您只是在这些应用程序中修改 syscfg,它将不起作用。 请检查驱动程序源代码。

    此致

    Andre

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Wilson Sun、

    数据表提到0x3是1s-1s 的有效读取命令、对于快速读取(0x0B)、您还应该将虚拟周期设置为8或更高。

    对于1s-1s-4s、即0x6B、必须确保虚拟周期为10或更高。 同时确保 QE 位被置位。

    此致、
    Aakash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  Aakash:

    在编译闪存图和 Xfer 测试实用程序之前、需要修改低级驱动程序库。

    ->  

    1.我们正在尝试寻找低级驱动程序,但这对我们来说非常紧迫,您能告诉我们如何更改它吗?
    2. ROM 代码引导故障是否也与此相关?

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  Aakash:

    数据表提到0x3是1s-1s 的有效读取命令、对于快速读取(0x0B)、您还应该将虚拟周期设置为8或更高。
    ->
    如果我们想解决 ROM 代码无法引导的问题、应该先确认0x0B (1s-1s)或0x6B (1s-4s)读取命令可以通过 DMA 传输和闪存传输程序的验证吗?

    2.我们已经在 syscfg 中设置了8个虚拟驱动程序,我们将根据您的建议将其更改为低级驱动程序。

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、 

    我建议从 0x0B (1s-1s)开始、因为对于0x3 CMD、您已经确认您的硬件线路可以使用1-1。  

    [引用 userid="8447" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1191511/am2634-micron-qspi-flash-customization-questions-in-sdk_08_05_00_24/4510488 #4510488">如果您只是在这些应用程序中修改 syscfg,则不起作用。 请检查驱动程序源代码

     -我没有发现 syscfg.QeBit 有任何问题、只有1-1-4模式才需要。 在本例中、启用类型为2。

    此致、
    Aakash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  Aakash:

    我建议从 0x0B (1s-1s)开始  

    ->我们使用"DMA transfer"来验证它! 它始终失败并显示以下消息。

    [Cortex_R5_0][QSPI 闪存 DMA 传输测试]正在启动...
    [QSPI 闪存 DMA 传输测试]在第一个块上执行闪存擦除...
    [QSPI 闪存 DMA 传输测试]正在执行读写测试...
    错误:QSPI_FLASH_diag_test_compare_buffers:124:QSPI 读取数据不匹配!!!
    有些测试失败!!

    尽管 Micron 闪存的规范符合 AM263x_QSPI_Flash_Selection_Guide_sprad50、但实际验证失败。 TI MCU 是否支持 Micron 的 NOR 闪存(MT25QL128ABA 或 MT25QL512ABB)?

    请参阅 Micron MT25QL128ABA 的 SFDP 和 SysConfig 文件

    e2e.ti.com/.../SFDP_5F00_and_5F00_sysconfig.zip

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  Aakash:

    使用0x0B 读取命令时、发现在运行 DMA 传输程序时、将再读取一个("0")、如下图所示、阵列后面的每31个字节、将再读取一个"0"

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、 

    使用的虚拟周期是什么? 是8吗? 您可以用7尝试吗?

    此致、
    Aakash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  Aakash:

    正如您所说的、我们更改了低级驱动程序以让传输程序通过测试、如下所示

    闪存诊断(1s 至1s、0x0B 读取 CMD/DUmy 8/QSPI 时钟40Mhaz)通过
    闪存传输(1s 至1s、具有0x0B 读取 CMD/虚拟8/QSPI 时钟40Mhaz)通过
    闪存 DMA Yransfer (1s-1s、具有0x0B 读取 CMD/dummy 8/QSPI 时钟40Mhaz)通过
    UART 闪存(1s 至1s、0x0B 读取 CMD/DUmy 8/QSPI 时钟40Mhaz)通过
    ROM 引导(1s-1s) 失败

    您能对下一步行动提出任何建议吗?

    谢谢!

     

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、 

    我们将讨论这方面的调试。 您现在是否会迁移到1-1-4模式?

    此致、
    Aakash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  Aakash:

    我们将讨论这方面的调试。 您现在是否会迁移到1-1-4模式?

    -> 我已经尝试测试 DMA 传输(1s-1s-4s、具有0x6B 读取 cmd/dummy 8/QE 2/QSPI clcok 80MHz)、验证结果现在失败。

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、 

    • 是否可以将频率降低到40MHz,然后测试相同的频率?
    • 您是否可以将虚拟周期增加到10?
    • 您能否像这样在缓冲区中共享准确的读取和写入值-
    [引用 userid="422461" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1191511/am2634-micron-qspi-flash-customization-questions-in-sdk_08_05_00_24/4511016 #4511016"]

    使用0x0B 读取命令时、发现在运行 DMA 传输程序时、将再读取一个("0")、如下图所示、阵列后面的每31个字节、将再读取一个"0"

    [/报价]

    此致、
    Aakash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  Aakash:

    您能否在缓冲区中共享准确的读取和写入值

    ->我将内存转储为附加文件。

    e2e.ti.com/.../memory_5F00_dump.zip

    e2e.ti.com/.../example_5F00_for_5F00_MT25QL128ABA_5F00_1s1s4s.zip

    谢谢!

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、 

    感谢您分享信息。 我们已经分析了这一点、有2个选项-

    虚拟周期太高。 尝试将虚拟周期减少到3~4和1~2、并请分享转储。
    2.除 D0之外的某些数据线路可能存在一些问题。 我们需要探测线路并获取有关这些线路的更多信息。

    此致、
    Aakash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  Aakash

    虚拟周期太高。 尝试将虚拟周期减少到3~4和1~2、并请分享转储。

    -> 减少虚拟数量、读取测试将产生更多错误、请参阅随附的

    e2e.ti.com/.../memory_5F00_dump_5F00_v2.zip

    2.BTW 我们使用 CCStudio 12.2.0 (2023年1月6日)和 SDK 版本:08.05.00.24进行开发、这会影响吗? 我是否需要返回旧版本? 哪一个是稳定版本?

    此致、

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、 

    [引用 userid="422461" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1191511/am2634-micron-qspi-flash-customization-questions-in-sdk_08_05_00_24/4514453 #4514453"]-> 减少虚拟数量,读取测试将产生更多错误,请参阅随附的

    看起来、设置为10的虚拟周期是完美的。 我们需要探测硬件。

    [引用 userid="422461" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1191511/am2634-micron-qspi-flash-customization-questions-in-sdk_08_05_00_24/4514453 #4514453]2.BTW 我们使用 CCStudio 12.2.0 (2023年1月6日)和 SDK 版本:08.05.00.24进行开发、这会影响吗? 我是否需要返回旧版本? 哪个版本是稳定版本?

    被视为 SDK 更稳定版本的 SDK 的最新版本。 请保持不变。

    此致、
    Aakash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  Aakash

    1、似乎设置为10的虚拟周期是完美的。 我们需要探测硬件。

    ->但是、具有0x0B 读取电流的1s-1的 DMA 传输通过了验证。 硬件看起来正常,为什么 ROM 代码仍然无法启动?

    如何证明 SBL_QSPI 并证明它没有问题?  

    此致、

    Wilson  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、 

    [引用 userid="422461" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1191511/am2634-micron-qspi-flash-customization-questions-in-sdk_08_05_00_24/4514696 #4514696"-->但带有0x0B 读取电流的1s 至1s 的 DMA 传输通过了验证。 硬件看起来正常,为什么 ROM 代码仍然无法启动?

    1s 至1s 仅使用1条数据线 D0来执行命令和数据、其中1-1-4使用1条数据线来执行命令、而4条数据线、即 D0、D1、D2、D3用于发送数据。 ROM 引导仍在调试中。

    此致、
    Aakash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  Aakash:

    我们只需要1s 至1s、所以只需要 D0线。 如果硬件 D1、D2、D3线的质量不好、会影响 ROM 代码根吗?

    如何证明 SBL_QSPI 并证明它没有问题?  

    此致、

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、 

    [引用 userid="422461" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1191511/am2634-micron-qspi-flash-customization-questions-in-sdk_08_05_00_24/4514715 #4514715">我们只需要1s 至1s、因此只需使用 D0行。 如果硬件 D1、D2、D3线的质量不好、是否会影响 ROM 代码根?

    如果是1s 至1s、则只需要 D0线路。 ROM 代码不会受到硬件质量的影响。 根据您的用例,您根本不打算使用1-1-4?

    [引用 userid="422461" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1191511/am2634-micron-qspi-flash-customization-questions-in-sdk_08_05_00_24/4514715 #4514715"]2.How to fert证明 SBL_QSPI 并证明它没有问题?  [/报价]

    我有一个建议(只是一个小问题)、这将给您很好的信心。

    目前、您可以 通过为您服务的 UNIFLASH 对 SBL、应用程序等进行编程。
    2.现在将器件置于 UART 引导模式、并通过 XMODEM 发送 SBL_QSPI.tiimage (使用 Tera Term 或 Linux 的 xmodem 实用程序)

    这将通过 RAM 引导 SBL_QSPI、SBL_QSPI 将通过闪存引导应用。 您现在可以尝试此流程。 对于由此给您带来的不便、我们深表歉意、但我们正在进行修复。

    此致、
    Aakash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  Aakash:

    如果是1s 至1s、则只需要 D0线路。 ROM 代码不会受到硬件质量的影响。 根据您的用例,您根本不打算使用1-1-4?

    ->是的,我们 根本不使用1-1-4。

    此致、

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Wilson Sun、

    如果您尝试使用该方法、请告诉我-

    [引用 userid="520628" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1191511/am2634-micron-qspi-flash-customization-questions-in-sdk_08_05_00_24/4514769 #4514769"]

    我有一个建议(只是一个小问题)、这将给您很好的信心。

    目前、您可以 通过为您服务的 UNIFLASH 对 SBL、应用程序等进行编程。
    2.现在将器件置于 UART 引导模式、并通过 XMODEM 发送 SBL_QSPI.tiimage (使用 Tera Term 或 Linux 的 xmodem 实用程序)

    这将通过 RAM 引导 SBL_QSPI、SBL_QSPI 将通过闪存引导应用。 您现在可以尝试此流程。 对于由此给您带来的不便、我们深表歉意、但我们正在进行修复。

    [/报价]

    您还能分享此电路板的更新原理图以及与 AndreTseng 的连接吗?  

    需要上拉的闪存线路可在 MCU_PLUS_SDK 中处理、但 ROM 不执行任何上拉设置。 因此、外部上拉应该由用户完成。

    此致、
    Aakash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  Aakash

    告诉我、如果您尝试此方法、这将通过 RAM 引导 SBL_QSPI、而 SBL_QSPI 将通过闪存引导应用程序。

    ->感谢您的建议  、请找到下面的验证结果  

    2.您能否分享此电路板的更新原理图以及与 AndreTsen 的连接?  

    -> 我们现在在 TI EVM 板上进行验证、只是更换 Micron 引脚对引脚闪存 MT25QL128ABA1EW9-0SIT、您是不是需要 TI EVM 的电路图?

    3. ROM 不进行任何上拉设置。 因此、外部上拉应该由用户完成。

    ->  

    我们现在在 TI EVM 板上进行验证、为什么默认的 S25FL128S 闪存没有引导问题?

    1s-1s 设置不使用 D2、D3、为什么 ROM 代码也无法引导?

    此致、

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、 

    [引用 userid="422461" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1191511/am2634-micron-qspi-flash-customization-questions-in-sdk_08_05_00_24/4516464 #4516464"]感谢您的建议  请按 如下所示查找验证结果

    这看起来很好。

    [引用 userid="422461" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1191511/am2634-micron-qspi-flash-customization-questions-in-sdk_08_05_00_24/4516464 #4516464"--> 我们现在在 TI EVM 板上进行验证,只是替换 Micron 引脚对引脚闪存 MT25QL128ABA1EW9-0SIT,您的意思是需要 TI EVM 的电路图?[/QUERP]

    然后、我们需要找出闪存中的差异。

    [引用 userid="422461" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1191511/am2634-micron-qspi-flash-customization-questions-in-sdk_08_05_00_24/4516464 #4516464"] 2. 1s-1s 设置不使用 D2、D3,为什么 ROM 代码也无法引导?

    没错、我们需要与硬件专家一起进行评估。 让我来谈谈专家。 由于美国的公众假期、请预计延迟回复。

    此致、
    Aakash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Wilson、

       我认为您需要与 Micron 再次确认、根据  MT25QL128ABA 数据表的此数据表、DQ2/W#没有内部上拉电阻。 它可以悬空且需要驱动、这不同于 EVM 上的闪存。   

    此致

    Andre

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是否可以将自举配置设置为 b'0010并尝试?  

    还连接到 R5代码并在内存转储后共享

    从0x80000开始4KB

    从0x70000000开始4KB

    从0x60000000开始4KB

    我正在考虑存在 IO2/IO3 PU。

    谢谢、此致、

    Ajay




  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Ajay、

       请确认您的请求:

    1. 是否可以将自举配置设置为 b'0010并尝试?  

    =>您是要尝试在 QSPI 单次读取模式下引导、看看电路板是否可以成功引导?

    2.也连接到 R5代码并在内存转储后共享

    =>在调试模式下????  

    从0x80000开始4KB

    从0x70000000开始4KB

    从0x60000000开始4KB

    我正在考虑存在 IO2/IO3 PU。

    谢谢、此致、

    此致

    Andre

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Andre,

    请查找我 对相应问题的评论。

    1.是,它是1S-1S-1S-1S 模式,要检查数据是否由于启动失败而损坏,因此该模式应该正常工作。

    器件还支持端口、通过 ReadCommad 0x0B 快速读取、并支持虚拟周期8

    2、仅 在功能单次读取模式下的存储器转储

    谢谢、此致、

    Ajay

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    2、仅 在功能单次读取模式下的存储器转储

    如果 SBL 未运行、我们无法将其置于 while 环路中等待、如何在功能 模式下通过 JTAG 连接 R50_0?  

    此致

    Andre

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Andre、

    只有当 HSM (M4) 由于 HSM 启动时的严重故障而未使 R5停止时,才能连接 R5_0。

    即使在 SBL 下载期间出现故障,也可以连接 R5。

    它的 HSFS 器件对吧?

    谢谢、此致、

    Ajay

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、

      通过在 DQ2/WP#和 DQ3/HOLD#引脚上添加10K Ω 外部上拉电阻器来解决问题。  

    根据微闪存数据表、这两个引脚没有内部上拉电阻器、必须具有外部上拉电阻器。

    我们强烈建议 QSPI_DMA_transfer 测试演示项目使用与 RBL 相同的设置、无论1s-1s 模式还是1s-4s 模式。  

    在本例中、QSPI 设置为 mode3@40MHz。 DQ2、DQ3应设置为无拉电阻。  闪存使用0x0B 命令、具有8个虚拟读取时钟周期。  

    我们可以更有效地发现问题。

    此致

    Andre