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.

[参考译文] TMDSCNCD263P:ECP:AM263P CC 在 OSPI 中启用 8D-8D-8D 协议时不一致

Guru**** 2663045 points

Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1579398/tmdscncd263p-ecp-am263p-cc-inconsistency-in-enabling-8d-8d-8d-protocol-in-ospi

器件型号: TMDSCNCD263P
主题: SysConfig 中讨论的其他器件

尊敬的团队:

您好。

我目前正在 8D-8D-8D 模式下使用 OSPI 来开发 XIP 功能。 为了启用所需的配置、我按照 SDK 中提到的设置进行了操作 SBL_OSPI_Multicory_elf 示例工程、并在自定义裸机工程中复制了相同的步骤。

在调试裸机代码时、我使用“Memory Browser“窗口手动将一些硬编码值写入寄存器。 发出读取器件 ID 命令后、我成功读取了两个命令 器件 ID 制造商 ID 。 使用指向闪存地址范围的指针、我还能够读取闪存中存储的正确数据。

然而、当我在没有分步调试的情况下运行相同的代码(即一次性调试)时、它无法可靠地工作。 有时、它直接进入while(1)循环、在其他情况下、读取状态寄存器时会卡住、状态寄存器值会保持不变 0xFF 、并且代码从不退出该状态。

您能否帮助我确定导致此不一致行为的原因?

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

    Aswin Sankar 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在调试裸机代码时、我使用内存浏览器窗口手动将一些硬编码值写入寄存器。

    此处修改了哪些寄存器?

    但是、当我在没有分步调试的情况下运行相同的代码(即一次调试)时、它无法可靠地工作。 有时、它会直接进入while(1)[/报价]

    while (1) 循环是什么意思?

    你是如何去绑定和运行进程的? 您是否正在开发引导加载程序应用程序?

    您是否可以共享代码、因为在此上下文中指出问题有点困难。

    此致、

    Aswin

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

    在 MCU 中初始化 OSPI 后、我重置闪存器件、并且调用了一个 API、也不会配置闪存。

    代码概览为  

    main()

    //clock config 设置为 133MHz

    //OSPI 配置

    config_nor_flash();

    while (1);

    }

    int32 config_not_flash()

    uint32_t flash_data[8]={0};
    易失性 uint32_t * flash_ptr =(unsigned int *) 0x60000000U;

    //从 1S 转换到 8D 模式

    0x8090 = 0x06000001;写入 En
    0x8090=0x05800001;读取 SR 寄存器

    //读取易失性寄存器、IO 模式
    0x8094 = 0x0;
    0x8090 = 0x858A0401;//对于 3 地址字节模式、0x90 = 0x858B0401;//对于 4 字节地址模式;数据在 0xA0 中可用

    //如果读取寄存器值不是 0xE7、则模式转换到 8D

    0x8094 = 0;
    0x80A8 = E7;
    0x8090 = 0x810A8001;//此处地址字节=3、D.cy=0

    //立即将 OSPI 更改为 8D、在配置寄存器中启用 DTR、在实例/ wr 寄存器中将数据线更改为 8、并在另一寄存器中启用 DDR
    0x8000 =第 24 位 1;
    0x8004 = 0x1003377c;
    0x8008 = 0x33084;
    0x8010 = 1 或 3

    //读回 IO 模式
    0x8094 = 0x0;
    0x8090 = 0x858A0401;//(对于 3 地址字节模式)或 0x90 = 0x858B0401;//(对于 4 字节地址模式);数据在 0xA0 中可用

    //现在在闪存开发中将虚拟周期更改为 16
    0x8090 = 0x06000001;写入 En
    0x8090 = 0x05800401;读取 SR 寄存器

    0x8094 = 1;
    0x80A8 = 0x10;//16 个虚拟周期
    0x8090 = 0x810A8001;//地址字节=3、D.cy=0

    //现在将闪存开发中的地址字节更改为 4
    0x8090 = 0x06000001;写入 En
    0x8090 = 0x05800401;读取 SR 寄存器

    0x8094 = 0x5;
    0x80A8 = FE;
    0x8090 = 0x810A8001;//地址字节=3、D.cy=0

    0x8014 = 0x3{bits 3:0};

    ospi_set_transfer_opcode (0x7c、0x84);

    ospi_set_dummy_cycles (16);

    FLASH_DATA[0]= FLASH_ptr[0];
    FLASH_DATA[1]= FLASH_ptr[0];
    FLASH_DATA[2]= FLASH_ptr[0];
    FLASH_DATA[3]= FLASH_ptr[0]
    FLASH_DATA[4]=*(unsigned int *) 0x60080004U;
    FLASH_DATA[5]=*(unsigned int *) 0x60081000U;

    }

    当我尝试多次在 0x60000000 处读取闪存数据时、变量 FLASH_DATA[0 至 3]中的数据是不同的、这意味着位置处的数据针对每个读取事务保持不同的读取状态。

    然后、我尝试通过发出命令 0x9FB00401 来读取闪存的器件 ID、但以不同的顺序接收数据

    提前感谢...

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

    尊敬的 Sanith:

    由于您提到它在分步调试时工作、但在运行时不工作、因此这通常表明存在延迟问题。  在 SDK 中、您可以看到我们始终读取 WIP 状态位、然后在命令之间向前移动。

    在您的情况下、这种逻辑是必需的。 因此、在执行命令之间需要存在延迟。

    此致、

    Aswin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    由于您提到它在逐步调试时工作、但在运行时不工作、因此这通常表示存在延迟问题。  在 SDK 中、您可以看到我们始终读取 WIP 状态位、然后在命令之间向前移动。

    当您提到要处理 WIP 位状态时、我将整个 SDK 代码移植到我的自定义工程、然后我将在 8D 和 4 字节地址模式下在 MCU 和 OSPI NOR 闪存中初始化 OSPI 外设。

    读取器件 ID 后保留了断点、但在地址 0x538080A0 处按序排列了该器件 ID、可能是什么原因?

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

    为什么接收到的数据顺序不正确?

    在读取器件 ID API 中、他们会检查索引 0 处的制造 ID 和索引 1 和 2 处的器件 ID。

    因此我得到了返回值 SystemP_FAILURE

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

    Aswin Sankar 

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

    混乱的顺序是什么样子的?

    在您的 case 中、man id 和 device id 应该是什么? 它看起来如何与它应该如何比较?

    在哪里可以在定制电路板上的闪存上运行 SDK 示例?

    您能否查看移植 工程中的 SysConfig 配置/寄存器配置是否相同(与 SDK 示例相比)。

    此致、

    Aswin

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

    在图片中、您可以看到、它看起来像 0x195A9D10(4 字节、偶数字节为 8D 模式)

    在您的案例中、什么是 man id 和 device id。 [/报价]

    MAN ID 为 0x9D、器件 ID 为 0x5A19

    您可以在自定义板上的闪存上运行 SDK 示例吗?

    我的定制电路板尚未制作、因此 我正在使用 AM263px CC 评估板。

    SDK 的 sbl_OSPI_multiple elf 示例工作正常。

    在我的自定义项目中、我移植了 SDK 的示例文件和 API 的内容在 1S-1S-1S 模式下按预期运行。{Read dev id expected 为 0x00195A9D 3 bytes}

    当我将模式更改为 8D 时、我 会观察到此行为并读取 phy attackvector 也变得失败

    您能否查看移植 工程中的 SysConfig 配置/寄存器配置是否相同(与 SDK 示例进行比较)。

    在我的自定义工程中、我需要删除 SysConfig 的依赖项。

    所有代码或逻辑都应该是裸机、没有任何库或生成的代码

    [/quote]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在读取设备 ID 后保留了断点、但我在地址 0x538080A0 处按序排列了该设备 ID、这可能是什么原因?

    尊敬的 Sanith:

    感谢您共享内存浏览器片段。

    我注意到、读取数据采集延迟当前设置为 0。 您能否确认是否使用不同的读取数据采集延迟值测试了器件 ID 读取情况? 您观察到的随机字节顺序通常是由不正确的读取数据捕获延迟 (TAP) 编程引起的。

    标准初始化序列:

    1. 读取数据捕获延迟通常初始化为值 8
    2. 代码以不同的延迟值迭代检查器件 ID
    3. 一旦在特定延迟设置下成功读取了正确的器件 ID、环路就会退出

    建议: 您能否尝试扫描不同的读取数据捕获延迟值(例如 0-15)、并检查器件 ID 在哪个值处正确读取? 这将有助于确定适合您的硬件配置的最佳抽头设置。

    请告诉我结果、我们可以这样做。

    此致、
    Mayank Shadwani

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我注意到读取数据捕获延迟当前设置为 0。 您能否确认是否使用不同的读取数据采集延迟值测试了器件 ID 读取情况? 您观察到的随机字节顺序通常是由不正确的读取数据捕获延迟 (TAP) 编程引起的。

    尊敬的 Mayank:

    您可以看到一个 while 循环、其中读取捕获延迟初始化为 8、并在每次迭代中逐渐递减。 当延迟值达到零或成功读取器件 ID 时、循环终止。 这里实现了相同的逻辑、如 SDK 示例所示。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以看到一个 while 循环、在该循环中、读取捕获延迟初始化为 8、并在每次迭代中逐渐递减。 当延迟值达到零或成功读取器件 ID 时、循环终止。 此处实现了相同的逻辑、如 SDK 示例中所示。

    尊敬的 Sanith:

    感谢您对 while 循环实现的澄清。

    您能否记录在每个读取数据捕获延迟设置下读取的器件 ID 值? 这将帮助我们确定:

    1. 正确的器件 ID 是否出现在当前范围 (0-8) 内的任何延迟值中
    2. 不同延迟设置下的器件 ID 值模式

    如果 0-8 范围内未显示正确的器件 ID、请尝试通过修改中的初始化来扩展搜索范围 8 至 15 、允许循环通过延迟值 15 向下扫描到 0。 这个扩展范围可以捕捉硬件配置的最佳延迟设置。

    您是否还能确认以下配置参数:

    • OSPI 输入时钟频率
    • 波特率分频器设置

    这些参数直接影响理想的读取数据采集延迟、并确认它们将有助于缩小根本原因的范围。

    期待您的发现。

    此致、
    Mayank

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引述 userid=“631337" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1579398/tmdscncd263p-ecp-am263p-cc-inconsistency-in-enabling-8d-8d-8d-protocol-in-ospi/6101166

    您能否记录在每个读取数据捕获延迟设置下读取的器件 ID 值? 这将帮助我们确定:

    1. 正确的器件 ID 是否出现在当前范围 (0-8) 内的任何延迟值中
    2. 不同延迟设置下的器件 ID 值模式

    如果 0-8 范围内未显示正确的器件 ID、请尝试通过修改中的初始化来扩展搜索范围 8 至 15 、允许循环通过延迟值 15 向下扫描到 0。 这个扩展范围可以捕捉硬件配置的最佳延迟设置。

    [/报价]

    尊敬的 Mayank:

    如您所说、我记录了 DEV ID 读取值、其中包括 8 到 0 和 15 到 0

    上面是从 8 到 0 的各种读取数据捕获延迟的日志值、这里的索引号表示读取数据捕获延迟

    即 Dev_id_log[8]为 0x01101900、这意味着对于读取数据电容延迟为 8、而 ID 读取为 0x01101900、依此类推。

    同样、对于值 15 到 0、日志值如下图所示

    注意:-

    OSPI 输入时钟为 133Mhz 、波特率除数为 8

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

    尊敬的 Sanith:

    感谢您提供两个延迟范围 (8→0 和 15→0) 的详细器件 ID 日志。

    我可以看到、所有读取数据采集延迟值 (0-15) 都不会返回正确的器件 ID。 这表明 8D-8D-8D 模式转换存在潜在问题。

    切换到 8D-8D-8D 模式后、我在裸机代码下执行了相同的器件 ID 读取命令、并在读取数据捕获延迟范围为 0-4 时成功运行。 我附上了一个屏幕截图、其中显示了使用这些延迟设置读取的正确器件 ID。

    使用的配置:

    • OSPI 输入时钟:133MHz
    • 波特率:8.
    • 有效 OSPI 时钟:133MHz /8 = 16.625MHz
    • 模式:8D-8D-8D(八路 DTR)

    请通过执行以下测试来验证 8D-8D-8D 模式开关:

    • 在 8D-8D-8D 模式下发送写入使能 (WREN) 命令
    • 在 8D-8D-8D 模式下读回闪存状态寄存器
    • 检查是否存在 WEL(写入使能锁存)位 已成功设置

    请分享您的调查结果、我将帮助您解决此问题。

    此致、

    Mayank Shadwani

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

    在协议切换到 8D 模式、4 地址字节模式并配置虚拟周期后、我保持了断点并在 8D 模式下发出了 WREN 命令读回状态寄存器在 8D 模式下我可以看到 WEL 位未锁存到 1。(WEL 为 0)

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

    Mayank Shadwani Aswin Sankar API 调用和逻辑均为 SDK 示例代码、但我看不到预期的结果  

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

    尊敬的 Sanith:

    感谢您在 8D-8D-8D 模式下测试写入使能 (WREN) 命令。

    在 8D 模式下发出 WREN 命令后、WEL(写入使能锁存器)位保持 0 这一事实强烈表明协议切换到 8D-8D-8D 模式本身可能已失败。

    您能否提供在发送“switch to 8D“命令(在发出 WREN 之前)后立即捕获的 OSPI 配置寄存器空间的存储器浏览器转储? 这将有助于我们确认 OSPI 控制器是否正确配置为 8D-8D-8D 模式运行。

    请共享内存转储、我们将分析配置以确定根本原因。

    此致、
    Mayank

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

     Aswin Sankar Mayank Shadwani 在这里、我附加了将 0xE7 写入 I/O 模式易失性配置寄存器后 OSPI 内部寄存器值的存储器转储

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

    尊敬的 Sanith:

    您能否提供用于 OSPI 部分的 SysConfig 片段?

    谢谢、

    Mayank Shadwani

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

    实际上是在自定义工程中、我不使用任何 SysConfig。 我们的工程应该独立于 SysConfig、我们需要裸机逻辑或我们自己的自定义逻辑才能在我们的工程中实现。  

    我从 SDK 示例代码“sbl_OSPI_multi_core_elf"复制“复制了代码(逻辑)和驱动程序配置结构

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

    Aswin Sankar Mayank Shadwani 实际上在我的自定义项目中不使用任何 SysConfig。 我们的工程应该独立于 SysConfig、我们需要裸机逻辑或我们自己的自定义逻辑才能在我们的工程中实现。  

    我从 SDK 示例代码“sbl_OSPI_multi_core_elf"复制“复制了代码(逻辑)和驱动程序配置结构

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

    尊敬的 Sanith:

    在切换到 8D 模式之前、您能否确认是否发送了 WR_EN 命令? 如果是、那么在发送 Move to 8D 命令之前、您是否发送了状态读取命令以检查 WR_EN 是否已置为有效?

    [引述 userid=“637661" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1579398/tmdscncd263p-ecp-am263p-cc-inconsistency-in-enabling-8d-8d-8d-protocol-in-ospi/6101920

    在协议切换到 8D 模式、4 地址字节模式并配置虚拟周期后、我保持了断点并在 8D 模式下发出了 WREN 命令读回状态寄存器在 8D 模式下我可以看到 WEL 位未锁存到 1。(WEL 为 0)

    [/报价]

    此外、配置空间中存在一些不匹配情况。 如果一切都与 SDK 驱动程序相同、则不应发生这种情况。 我在这边运行同样的东西、它就为我提供了正确的器件 ID。 我的配置空间的一个片段。

    您能否检查配置之间的差异?

    此致、

    Mayank Shadwani

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否确认在切换到 8D 模式之前是否发送了 WR_EN 命令? 如果是、那么您是否在发送 Move to 8D 命令之前发送了状态读取命令以检查 WR_EN 是否已置为有效?

       是的,这是工作正常. 我发送了 WREN、然后读回状态寄存器和 WEL 锁存为 1、然后发送 0xE7、但它无法正确切换。

    我想问一个问题、启用它确实需要什么是“双字节操作码“?

    我可以看到配置寄存器 0x53808000 的差异。

    在我的工程中、它保持值 0x801838C1 ->{禁用双字节操作码且在切换到 8D 模式时启用 DAC 模式}

    但在您的工程中、它是 0xC1183841{启用了双字节操作码、且禁用了 DAC 模式、原因何在?}

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引述 userid=“631337" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1579398/tmdscncd263p-ecp-am263p-cc-inconsistency-in-enabling-8d-8d-8d-protocol-in-ospi/6103862

    我在这边运行同样的东西、它就为我提供了正确的器件 ID。 我的配置空间的一个片段。

    [/报价]

     Mayank Shadwani 我可以知道您在调试模式下运行的 SDK 示例代码以及如何运行该代码 CC EVAL 板上的引导开关位置是什么,您可以指导我完成这些步骤,这样我也可以在 EVAL 板上执行这些操作。

    原因是我尝试在开发引导模式下加载 OSPI_FLASH_XIP SDK 示例、但无法加载该工程.out 文件  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外、配置空间中存在一些不匹配的问题。 如果一切都与 SDK 驱动程序相同、则不应发生这种情况。

    我可以提供用于 OSPI 和闪存器件的配置结构和值、以供您参考

    OSPI_Attrs gOspiAttrs[CONFIG_OSPI_NUM_Instances]=

       {
    .baseAddr = 0x53808000U、
    .dataBaseAddr = 0x60000000U、
    protocol = OSPI_PROTO_8D_8D_8D、
    .inputClkFreq = 1333333U、
    .intriNum = 54U、
    .intriEnable = false、
    .intriority = 4U、
    .dmaEnable = false、
    .phyEnable = true、
    .dacEnable = true、
    .chipSelect = OSPI_CS0、
    .frmFmt = OSPI_FF_POL0_PHA0、
    .decChipSelect = OSPI_Decoder_SELECT4、
    .baudRateDiv = 8、
    .dmaRestrictedRegions = gOspiDmaRestrictRegions、
       .phyConfiguration ={
      .phaseDelayElement = 1、
      .phyControlMode = OSPI_FLASH_CFG_PHY_MASTER_CONTROL_REG_PHY_MASTER_MODE、
      .dllLockMode = OSPI_PHY_DLL_HALF_CYCLE_LOCK、
          .tuningWindowParams ={
          .txDllLowWindowStart = 0、
          .txDllLowWindowEnd = 48、
          .txDllHighWindowStart = 20、
          .txDllHighWindowEnd = 96、
          .rxLowSearchStart = 0、
          .rxLowSearchEnd = 40、
          .rxHighSearchStart = 10、
          .rxHighSearchEnd = 127、
          .txLowSearchStart = 0、
          .txLowSearchEnd = 64、
          .txHighSearchStart = 20、
          .txHighSearchEnd = 127、
          .txDLLSearchOffset = 8、
          .rxTxDLLSearchStep = 4、
          .rdDelayMin = 1、
          .rdDelayMax = 3、
         }  
       }
      }、
    };

    /* FLASH Attrs */
    Flash_Attrs OSPI_FLASH_dev_attrs =

      .flashName =“IS25LX256",“,</s>、
       deviceId = 0x5A19、
       .ManufacturerId = 0x9D、
       .flashSize = 33554432、//32MB
       .blockCount = 256、//128KB * 256 = 32MB
       .blocksize = 131072、//128KB(对于“L"器“器件器件)
       .PageCount = 512、
       .pagesize = 256、//1 至 256 字节每页
       .sectorCount = 8192、
       .sectorSize = 4096、
       .phyTuningOffset = 0x80000、
    };

    /* Flash DevConfig */
    FlashDevCfg_IS25LX256 =的 Flash_Dev 配置

       .cmdExtType = OSPI_CMD_EXT_TYPE_REPEAT、
       .enable4BAddr = true、
       .addrByteSupport = 1、
       .fourByteAddrEnSeq = 0、
       .cmdWren = 0x06、
       .cmdRdsr = 0x05、
       .srWip =(1 << 0)、
       .srWel =(1 << 1)、
       .xspiWipRdCmd = 0x05、
       .xspiWipReg = 0x00000000、
       .xspiWipBit =(1 << 0)、
       .ResetType = 0x30、
       

       .eraseCfg ={
       .blocksize = 131072、
       .sectorSize = 4096、
       .cmdBlockErase3B = 0xD8、
       .cmdBlockErase4B = 0xDC、
       cmdSectorErase3B = 0x20、
       .cmdSectorErase4B = 0x21、
       .cmdChipErase = 0xC7、
       }、


       .idCfg ={//器件 ID 读取命令
       .cmd = 0x9F、/*常量*/
       .numBytes = 3、
       .dummy4 = 0、
       .dummy8 = 8、
       .addrSize = 0
       }、


       .protocolCfg ={
       protocol = flash_CFG_PROTO_8D_8D_8D、
       .isDtr = true、
       .cmdRd = 0x7c、
       .cmdWr = 0x84、
       .modeClksCmd = 0;
       .modeClksRd = 0、
       .dummyClksCmd = 16、
       .dummyClksRd = 16、
       .enableType = 0、
       .enableSeq = 0x00、
       

       .protocfg ={
       .isAddrReg = true、
       .cmdRegRd = 0x85、
       .cmdRegWr = 0x81、
       .cfgReg = 0、
       .shift = 0、
       _MASK = 0xff、
       .cfgRegBitP = 231、//0xE7=231 表示八进制 DDR
       }、


       .strDtrCfg ={
       .isAddrReg = true、
       .cmdRegRd = 0x85、
       .cmdRegWr = 0x81、
       .cfgReg = 0x00000000、
       .shift = 255、
       _MASK = 0xFF、
       .cfgRegBitP = 0、
       }、


       .dummyCfg ={
       .isAddrReg = true、
       .cmdRegRd = 0x85、
       .cmdRegWr = 0x81、
       .cfgReg = 1、
       .shift = 0、
       _MASK = 0xff、
       .cfgRegBitP = 16、
       }、
    }、


    .flashWriteTimeout = 120、
    .flashBusyTimeout = 72000000、
    };

     Mayank Shadwani Aswin Sankar 可以确认这些配置值是否正确。

    注意: — 我禁用了 DMA 模式、正弦我不想在我的应用中使用 DMA、{我已经将 DMA 与我的传统单线 SPI 一起使用、因此我们不想将 DMA 与 OSPI 结合使用}

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

    尊敬的 Sanith:

    [引述 userid=“637661" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1579398/tmdscncd263p-ecp-am263p-cc-inconsistency-in-enabling-8d-8d-8d-protocol-in-ospi/6103893

    在我的工程中、它保持值 0x801838C1 ->{禁用双字节操作码且在切换到 8D 模式时启用 DAC 模式}

    但在您的里面

    [/报价]

    您需要为 8D-8D-8D 模式启用此双字节操作码位字段、因为某些闪存确实需要在 8D 模式下与命令一起发送扩展操作码(反转或重复)。 启用 DTR 字段在 OSPI_LLD_setProtocol API 中进行了处理。  

    此致、

    Mayank Shadwani

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

    尊敬的 Sanith:

    在八路 DDR 模式下、IS25LX256 的配置显示正确。

    此致、

    Mayank Shadwani

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您需要为 8D-8D-8D 模式启用此双字节操作码位字段、因为某些闪存确实需要在 8D 模式下与命令一起发送扩展操作码(反转或重复)

    我将如何知道我需要为闪存启用扩展操作码。 我没有注意到 IS25LX256 闪存数据表中的扩展操作码{如果出现错误或我错过了数据表中的该部分、请纠正我}、因此我在代码中禁用了该操作码。

    在我在“OSPI_programInstance" API“ API 中看到的代码中、它们将禁用

    我是否可以知道它们在 sbl_OSPI_multi_core 示例工程中启用了双字节操作码?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
      我可以知道您在调试模式下运行的 SDK 示例代码以及您如何运行该代码 CC EVAL 板上的引导开关位置是什么、您可以指导我完成这些步骤、以便我也可以在 EVAL 板上执行这些操作。

    尊敬的 Sanith:

    我使用的是 ospi_flash_io 示例、SOP 值为 0xB (4'b1011)、即开发引导模式。

    此致、

    Mayank Shadwani

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引述 userid=“637661" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1579398/tmdscncd263p-ecp-am263p-cc-inconsistency-in-enabling-8d-8d-8d-protocol-in-ospi/6103908

    我能知道您在调试模式下运行的 SDK 示例代码以及如何运行该代码 CC EVAL 板上的引导开关位置是什么吗?您能指导我完成这些步骤、这样我也可以在 EVAL 板上执行这些操作吗?

    原因是我尝试在开发引导模式下加载 OSPI_FLASH_XIP SDK 示例、但无法加载该工程.out 文件  

    [/报价]

    Mayank Shadwani 你能说关于这个,我想试一下 SDK 示例代码

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引述 userid=“637661" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1579398/tmdscncd263p-ecp-am263p-cc-inconsistency-in-enabling-8d-8d-8d-protocol-in-ospi/6105287

    我将如何知道我需要为闪存启用扩展操作码。 我没有注意到 IS25LX256 闪存数据表中的扩展操作码{如果出现错误或我错过了数据表中的该部分、请纠正我}、因此我在代码中禁用了该操作码。

    在我在“OSPI_programInstance" API“ API 中看到的代码中、它们将禁用

    我是否可以知道它们在 sbl_OSPI_multi_core 示例工程中启用了双字节操作码?

    [/报价]

    尊敬的 Sanith:

    正确 — IS25LX256 数据表中没有明确的“扩展操作码“要求。

    扩展/双字节操作码的作用:

    • 在 DDR 模式下、发送两次相同的操作码(在上升时钟沿和下降时钟沿采样)
    • 通用驱动程序功能可与各种闪存供应商兼容

    在其中启用:

    Flash_norOspiSetProtocol() 
      → Flash_set888mode() 
        → OSPI_setProtocol() 
          → OSPI_lld_setProtocol() 
            → OSPI_lld_setDualOpCodeMode()
                → CSL_REG32_FINS(&pReg->CONFIG_REG, OSPI_FLASH_CFG_CONFIG_REG_DUAL_BYTE_OPCODE_EN_FLD, TRUE);

    IS25LX256 将使用重复的操作码(无危害)。 如果器件 ID 正确读取、则配置正常

    此致、

    Mayank Shadwani

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Mayank 关于这一点、我想试试 SDK 示例代码

    尊敬的 Sanith:

    我使用的是 ospi_flash_io 示例、SOP 值为 0xB (4'b1011)、即开发引导模式。 您能解释一下在说“无法加载工程.out 文件时遇到的错误吗?

    此致、

    Mayank Shadwani

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我使用的是 ospi_flash_io 示例、SOP 值为 0xB (4'b1011)、即开发引导模式。 您能解释一下说“无法加载工程.out 文件时遇到的错误吗?

    Mayank Shadwani 甚至我在开发引导模式下尝试了相同的 SDK 示例代码。

    错误消息为

    “Cortex_R5_0:在长度 0x40 的第 0 页的 0x0 处写入存储器块时遇到问题(错误–1065 @ 0x40)无法访问器件存储器。 验证存储器地址是否在有效存储器中。 如果错误仍然存在、请确认配置、对电路板执行下电上电、和/或尝试更可靠的 JTAG 设置(例如下部 TCLK)。 (仿真包 12.7.0.00105)
    Cortex_R5_0:文件加载器:验证失败:目标无法写入 0x00000000
    Cortex_R5_0:GEL:file:c:\workspace_v12\ospi_flash_io_am263px-cc_r5fss0-0_nortos_ti-arm-clang\Debug\ospi_flash_io_am263px_r5fss0-0_nortos_ti-arm-clang.out:load failed。“

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

    尊敬的 Sanith:

    您能否共享完整的控制台日志? 您的 GEL 脚本是否打印选定的引导模式?

    谢谢、

    Mayank Shadwani

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

    Mayank Shadwani 

    以下是完整日志

    “  

    Cortex_R5_0:GEL 输出:在 R5F0 上加载 GEL 文件完成
    Cortex_R5_0:GEL 输出:*** OnTargetConnect () 已启动***

    Cortex_R5_0:GEL 输出:AM263Px 初始化脚本已启动。
    请稍候...


    Cortex_R5_0:GEL 输出:AM263p Px_Cryst_Clock_Loss_Status () 已启动
    Cortex_R5_0:GEL 输出:存在晶体时钟
    Cortex_R5_0:GEL 输出:AM263Px_SOP_Mode () 已启动
    Cortex_R5_0:GEL 输出:SOP 模式= 0x00000003
    Cortex_R5_0:GEL 输出:
    OSPI - 8S 功能引导模式
    Cortex_R5_0:GEL 输出:AM263p Px_Read_Device_Type () 已启动
    Cortex_R5_0:GEL 输出:EFuse Device Type 值= 0x000000AA
    Cortex_R5_0:GEL 输出:AM263Px_DUAL_OR_锁 步_mode () 已启动
    Cortex_R5_0:GEL 输出:r5fss0 = 0x00000001
    Cortex_R5_0:GEL 输出:r5fss1 = 0x00000000
    Cortex_R5_0:GEL 输出:
    R5FSS0 处于双核模式
    Cortex_R5_0:GEL 输出:
    R5FSS1 处于双核模式
    Cortex_R5_0:GEL 输出:MSS_CTRL 控制寄存器解锁
    Cortex_R5_0:GEL 输出:MSS_TOP_RCM 控制寄存器未锁定
    Cortex_R5_0:GEL 输出:MSS_RCM 控制寄存器未锁定
    Cortex_R5_0:GEL 输出:MSS_IOMUX 控制寄存器未锁定
    Cortex_R5_0:GEL 输出:TOP_CTRL 控制寄存器解锁
    Cortex_R5_0:GEL 输出:

    *** R5FSS0 重置双核***
    Cortex_R5_0:GEL 输出:

    *** R5FSS1 重置双核***
    Cortex_R5_0:GEL 输出:R5F ROM Eclipse
    Cortex_R5_0:GEL 输出:R5FSS0_0 已发布
    Cortex_R5_0:GEL 输出:R5FSS0_1 已发布
    Cortex_R5_0:GEL 输出:R5FSS1_0 已发布
    Cortex_R5_0:GEL 输出:R5FSS1_1 已发布
    Cortex_R5_0:GEL 输出:L2 Mem Init Complete
    Cortex_R5_0:GEL 输出:Mailbox Mem Init Complete
    Cortex_R5_0:GEL 输出:*********** R5FSS0/1 双核模式已配置*********
    Cortex_R5_0:GEL 输出:SYS_CLK DIVBY2
    Cortex_R5_0:GEL 输出:选择 DPLL_CORE_HSDIV0_CLKOUT0 作为 R5FSS 和 SYS CLK 的 CLK 源
    Cortex_R5_0:GEL 输出:
    CLK 编程为 R5F=CLK 400MHz 且 SYS_CLK=CLK 200MHz
    Cortex_R5_0:GEL 输出:

    ***启用外设时钟***
    Cortex_R5_0:GEL 输出:启用 RTI[0:3]时钟
    Cortex_R5_0:GEL 输出:启用 RTI_WDT[0:3]时钟
    Cortex_R5_0:GEL 输出:启用 UART[0:5]/LIN[0:5]时钟
    Cortex_R5_0:GEL 输出:启用 QSPI 时钟
    Cortex_R5_0:GEL 输出:启用 I2C 时钟
    Cortex_R5_0:GEL 输出:启用跟踪时钟
    Cortex_R5_0:GEL 输出:启用 MCAN[0:3]时钟
    Cortex_R5_0:GEL 输出:启用 MMCSD 时钟
    Cortex_R5_0:GEL 输出:启用 MCSPI[0:4]时钟
    Cortex_R5_0:GEL 输出:启用 CONTROLSS 时钟
    Cortex_R5_0:GEL 输出:启用 CPTS 时钟
    Cortex_R5_0:GEL 输出:启用 RGMI[5、50,250]时钟
    Cortex_R5_0:GEL 输出:启用 XTAL_TEMPSENSE_32K 时钟
    Cortex_R5_0:GEL 输出:启用 XTAL_MMC_32K 时钟
    Cortex_R5_0:GEL 输出:

    ***所有 IP 时钟均已启用***

    Cortex_R5_0:AM263Px
    Cortex_R5_0:在长度 0x40 的第 0 页的 0x0 处写入存储器块时遇到问题(错误–1065 @ 0x40)无法访问器件存储器。 验证存储器地址是否在有效存储器中。 如果错误仍然存在、请确认配置、对电路板执行下电上电、和/或尝试更可靠的 JTAG 设置(例如下部 TCLK)。 (仿真包 12.7.0.00105)
    Cortex_R5_0:文件加载器:验证失败:目标无法写入 0x00000000
    Cortex_R5_0:GEL:file:c:\workspace_v12\ospi_flash_io_am263px-cc_r5fss0-0_nortos_ti-arm-clang\Debug\ospi_flash_io_am263px_r5fss0-0_nortos_ti-arm-clang.out:load failed。“

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Cortex_R5_0:GEL 输出:AM263Px_SOP_Mode () 已启动
    Cortex_R5_0:GEL 输出:SOP 模式= 0x00000003
    Cortex_R5_0:GEL 输出:
    OSPI - 8S 功能引导模式[/报价]

    尊敬的 Sanith:

    似乎未从引脚正确锁存 SOP 模式。 请检查 SOP 开关是否物理设置为1011(开发引导模式)。

    谢谢、

    Mayank Shadwani

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    似乎没有正确锁存引脚上的 SOP 模式。 请检查 SOP 开关是否物理设置为1011(开发引导模式)。

    但我物理上将引导开关更改为 Dev 模式...

    更改引脚后、我按下了电路板中的电源复位按钮...

    是否需要进行硬下电上电?

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

    是的、请断开电源、等待电容器放电(通常为 5-10 秒)、然后重新连接电源。

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

    Mayank Shadwani 

    你好 mayank、

    是的、现在我可以加载代码了。 我已经逐步完成调试模式下的代码流程、并尝试读取器件 ID、

    但最终读取数据的方式相同。 此处随附了屏幕截图、供您参考。

    注意:我没有修改 SDK 示例项目中的任何代码/行、只是导入、编译并运行了其中的代码

    提前感谢...

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

    尊敬的 Sanith:

    请提供以下信息:

    1. 电路板版本: 您使用的是哪块电路板 — REV E1 或 REV E2?

      • 您可以在电路板上的德州仪器 (TI) 标识附近找到该标识。
    2. SDK 版本: 您当前使用的是哪个 SDK 版本?

    这些信息将帮助我们更好地帮助您解决您的问题。

    谢谢、

    Mayank Shadwani

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

    Hiank Mayhadwani ,

    亮起  在 Texas Instruments 徽标附近的电路板我检查并找到了类似这样的“PCB# PROC159B“

    SDK 版本为“mcu_plus_sdk_am263px_11_00_00_19"</s>“

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

    尊敬的 Sanith:

    您能分享您的.ccxml文件吗?

    在目标配置中似乎可能配置了不正确的 GEL 脚本、这可能会导致时钟配置问题。

    谢谢、

    Mayank Shadwani

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

     Mayank Shadwani 在这里我附加了.ccxml 文件配置的屏幕截图

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

    尊敬的 Sanith:

    您能否为我们提供以下详细信息:

    1. 您当前使用的是哪个版本的 CCS? 请使用 CCS12.8.1
    2. 此外、您能否 在“帮助“中执行“检查更新“并检查是否存在任何待处理的 Sitara MCU 更新
      1. 更新完成后、重新启动 CCS。
      2. 创建新的 AM263Px ccxml。  

    以下是预期的 GEL 输出:

    Cortex_R5_0: GEL Output: Gel files loading Complete
    Cortex_R5_0: GEL Output: ***OnTargetConnect() Launched***
    
    Cortex_R5_0: GEL Output: AM263Px Initialization Scripts Launched. 
    Please Wait...
    
    
    Cortex_R5_0: GEL Output: AM263Px_Cryst_Clock_Loss_Status() Launched
    Cortex_R5_0: GEL Output: Crystal Clock present 
    Cortex_R5_0: GEL Output: AM263Px_SOP_Mode() Launched
    Cortex_R5_0: GEL Output: SOP MODE = 0x0000000B    
    Cortex_R5_0: GEL Output: Dev Boot Mode 
    Cortex_R5_0: GEL Output: AM263Px_Read_Device_Type() Launched
    Cortex_R5_0: GEL Output: EFuse Device Type Value = 0x000000AA    
    Cortex_R5_0: GEL Output: AM263Px_dual_or_lockstep_mode() Launched
    Cortex_R5_0: GEL Output: r5fss0 = 0x00000101    
    Cortex_R5_0: GEL Output: r5fss1 = 0x00000100    
    Cortex_R5_0: GEL Output: R5FSS0 is in Lockstep mode 
    Cortex_R5_0: GEL Output: R5FSS1 is in Lockstep mode 
    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 DualCore Reset ***
    Cortex_R5_0: GEL Output: *** R5FSS1 DualCore Reset ***
    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: L2 Mem Init Complete
    Cortex_R5_0: GEL Output: MailBox Mem Init Complete
    Cortex_R5_0: GEL Output: r5fss0 = 0x00000001    
    Cortex_R5_0: GEL Output: r5fss1 = 0x00000000    
    Cortex_R5_0: GEL Output: R5FSS0 is in Dual-Core mode 
    Cortex_R5_0: GEL Output: R5FSS1 is in Dual-Core mode 
    Cortex_R5_0: GEL Output: CORE PLL Configuration Complete
    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: Configure all Peripheral clocks()
    Cortex_R5_0: GEL Output: 
    
     *** Enabling Peripheral Clocks *** 
    Cortex_R5_0: GEL Output: Enabling RTI[0:3] Clocks 
    Cortex_R5_0: GEL Output: RTI0 Clock Enabled (200MHz)
    Cortex_R5_0: GEL Output: RTI1 Clock Enabled (200MHz)
    Cortex_R5_0: GEL Output: RTI2 Clock Enabled (200MHz)
    Cortex_R5_0: GEL Output: RTI3 Clock Enabled (200MHz)
    Cortex_R5_0: GEL Output: Enabling RTI_WDT[0:3] Clocks 
    Cortex_R5_0: GEL Output: WDT0 Clock Enabled (200MHz)
    Cortex_R5_0: GEL Output: WDT1 Clock Enabled (200MHz)
    Cortex_R5_0: GEL Output: WDT2 Clock Enabled (200MHz)
    Cortex_R5_0: GEL Output: WDT3 Clock Enabled (200MHz)
    Cortex_R5_0: GEL Output: Enabling UART[0:5]/LIN[0:5] Clocks 
    Cortex_R5_0: GEL Output: LIN0_UART0 Clock Enabled (160MHz)
    Cortex_R5_0: GEL Output: LIN1_UART1 Clock Enabled (160MHz)
    Cortex_R5_0: GEL Output: LIN2_UART2 Clock Enabled (160MHz)
    Cortex_R5_0: GEL Output: LIN3_UART3 Clock Enabled (160MHz)
    Cortex_R5_0: GEL Output: LIN4_UART4 Clock Enabled (160MHz)
    Cortex_R5_0: GEL Output: LIN5_UART5 Clock Enabled (160MHz)
    Cortex_R5_0: GEL Output: Enabling OSPI Clocks 
    Cortex_R5_0: GEL Output: OSPI0 Clock Enabled (133MHz)
    Cortex_R5_0: GEL Output: Enabling I2C Clocks 
    Cortex_R5_0: GEL Output: I2C Clock Enabled (48MHz)
    Cortex_R5_0: GEL Output: Enabling TRACE Clocks 
    Cortex_R5_0: GEL Output: Trace Clock Enabled (250MHz)
    Cortex_R5_0: GEL Output: Enabling MCAN[0:3] Clocks 
    Cortex_R5_0: GEL Output: MCAN0 Clock Enabled (80MHz)
    Cortex_R5_0: GEL Output: MCAN1 Clock Enabled (80MHz)
    Cortex_R5_0: GEL Output: MCAN2 Clock Enabled (80MHz)
    Cortex_R5_0: GEL Output: MCAN3 Clock Enabled (80MHz)
    Cortex_R5_0: GEL Output: Enabling MMCSD Clocks 
    Cortex_R5_0: GEL Output: MMCSD Clock Enabled (48MHz)
    Cortex_R5_0: GEL Output: Enabling MCSPI[0:4] Clocks 
    Cortex_R5_0: GEL Output: MCSPI0 Clock Enabled (48MHz)
    Cortex_R5_0: GEL Output: MCSPI1 Clock Enabled (48MHz)
    Cortex_R5_0: GEL Output: MCSPI2 Clock Enabled (48MHz)
    Cortex_R5_0: GEL Output: MCSPI3 Clock Enabled (48MHz)
    Cortex_R5_0: GEL Output: MCSPI4 Clock Enabled (48MHz)
    Cortex_R5_0: GEL Output: Enabling CONTROLSS Clocks 
    Cortex_R5_0: GEL Output: CONTROLSS Clock Enabled (400MHz)
    Cortex_R5_0: GEL Output: Enabling CPTS Clocks 
    Cortex_R5_0: GEL Output: CPTS Clock Enabled (250MHz)
    Cortex_R5_0: GEL Output: Enabling RGMI[5,50,250] Clocks 
    Cortex_R5_0: GEL Output: RGMII5 Clock Enabled (5MHz)
    Cortex_R5_0: GEL Output: RGMII50 Clock Enabled (50MHz)
    Cortex_R5_0: GEL Output: RGMII250 Clock Enabled (250MHz)
    Cortex_R5_0: GEL Output: Enabling XTAL_TEMPSENSE_32K Clocks 
    Cortex_R5_0: GEL Output: TEMPSENSE Clock Enabled (32KHz)
    Cortex_R5_0: GEL Output: Enabling XTAL_MMC_32K Clocks 
    Cortex_R5_0: GEL Output: XTAL_MMC Clock Enabled (32KHz)
    Cortex_R5_0: GEL Output: 
    
     ***All IP Clocks are Enabled*** 
    
    Cortex_R5_0: AM263Px
    Cortex_R5_0: Board Selected : CC
    Cortex_R5_0: Part Selected : Standard

    此致、
    Rijohn

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    ]您当前使用的是哪个版本的 CCS? 请使用 CCS12.8.1

    嗨、 Rijohn Pius

    感谢您让我了解推荐的版本。

    我目前使用的是 CCS 版本 12.7.0。

    我是否需要准确使用版本 12.8.1、或者是否可以使用高于 12.8.1 的版本?

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

    尊敬的 Sanith:

    更高版本也可以。您可以使用最新的 20.x 版本。

    此致、
    Rijohn

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

    Mayank Shadwani Rijohn Pius 

    尊敬的团队:  

    ]您当前使用的是哪个版本的 CCS? 请使用 CCS12.8.1

    我安装了 CCS 12.8.1 版本并创建了新的目标配置 ccxml 文件。

    然后我尝试进行调试、但控制台日志没有变化。

    我查看了安装的 Sitara 器件支持和 Sitara MCU 支持软件的版本、包括这些版本

    是什么

    Cortex_R5_0: GEL Output: Gel files loading on R5F0 Complete
    Cortex_R5_0: GEL Output: ***OnTargetConnect() Launched***
    
    Cortex_R5_0: GEL Output: AM263Px Initialization Scripts Launched. 
    Please Wait...
    
    
    Cortex_R5_0: GEL Output: AM263Px_Cryst_Clock_Loss_Status() Launched
    Cortex_R5_0: GEL Output: Crystal Clock present 
    Cortex_R5_0: GEL Output: AM263Px_SOP_Mode() Launched
    Cortex_R5_0: GEL Output: SOP MODE = 0x0000000B    
    Cortex_R5_0: GEL Output: 
     Dev Boot Mode 
    Cortex_R5_0: GEL Output: AM263Px_Read_Device_Type() Launched
    Cortex_R5_0: GEL Output: EFuse Device Type Value = 0x000000AA    
    Cortex_R5_0: GEL Output: AM263Px_dual_or_lockstep_mode() Launched
    Cortex_R5_0: GEL Output: r5fss0 = 0x00000101    
    Cortex_R5_0: GEL Output: r5fss1 = 0x00000100    
    Cortex_R5_0: GEL Output: 
     R5FSS0 is in Lockstep mode 
    Cortex_R5_0: GEL Output: 
     R5FSS1 is in Lockstep mode 
    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 DualCore Reset ***
    Cortex_R5_0: GEL Output: 
    
    ***R5FSS1 DualCore Reset ***
    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: L2 Mem Init Complete
    Cortex_R5_0: GEL Output: MailBox Mem Init Complete
    Cortex_R5_0: GEL Output: *********** R5FSS0/1 Dual Core mode Configured********
    Cortex_R5_0: GEL Output: CORE PLL Configuration Complete
    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 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: AM263Px
    Cortex_R5_0: Board Selected : CC
    Cortex_R5_0: Part Selected : Standard
    

    您能告诉我遗漏了什么吗

    提前感谢...

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

    尊敬的 Sanith:

    我注意到 Sitara MCU 器件支持版本显示为 1.3.8 版、但对于 CCS 12.8.1、应该是 1.4.0 或更高版本。

    您能否在安装 CCS 12.8.1 后执行“检查更新“? 您可以通过以下方式执行此操作:

    1. 转至“Help"菜单“菜单
    2. 选择“检查更新“
    3. 安装任何可用的更新
    4. 更新完成后重新启动 CCS

    这将解决版本差异。

    此致、
    Mayank Shadwani

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

    你好、 Mayank Shadwani 

    我检查了更新、它显示未找到任何更新。

    你能检查可用的网站,我需要检查任何网站从这里, bcz 有些被禁用

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

    尊敬的 Sanith:

    我已经查看了您的设置、并注意到您的“可用软件网站“显示的选项比预期的少。 我从 CCS 窗口附加了一个屏幕截图、以便进行比较。

    您可以尝试重新安装 CCS 12.8.1 吗? 这应确保在安装过程中正确配置所有必要的软件库。

    重新安装后、如果问题仍然存在、请告诉我。

    此致、
    Mayank Shadwani