工具/软件:Code Composer Studio
您好!
我想使用 ICSS0和 ICSS1访问相同的存储器地址。 用户应该使用地址0x0004_0000来读取/写入存储器地址0x0000_0000、正如 TRM 中第30.3.1.2章所述。 因此、我尝试处理该偏移、但我得到了一个奇怪的结果:
如图所示、如果您要保存4个以上的字节、系统似乎会覆盖较低的字节。
此致
Simon
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.
工具/软件:Code Composer Studio
您好!
我想使用 ICSS0和 ICSS1访问相同的存储器地址。 用户应该使用地址0x0004_0000来读取/写入存储器地址0x0000_0000、正如 TRM 中第30.3.1.2章所述。 因此、我尝试处理该偏移、但我得到了一个奇怪的结果:
如图所示、如果您要保存4个以上的字节、系统似乎会覆盖较低的字节。
此致
Simon
Simon、
然后再与 IP 设计人员进行一些来回测试。 这看起来仍然是使用 PRU 子系统之间的本地桥接器时字节突发操作的硅故障。 我确认、如果您尝试从地址0x00040000进行字节突发读取操作(在本例中为 LBBO 或 LBCO)、则您将从同一地址读取两次(与 SBBO 在使用地址0x00040000时存储到同一地址两次相同的方式相同)。
知道这一点后、权变措施将与我在上面发布的相同、可以使用本地桥(0x00040000)并对每条指令写入/读取4个字节(每4字节读取~7个 PRU 周期) 或者、您也可以将32位全局地址用于存储器位置(0x54400000)、并在每条指令中读取/写入多个字节(对于4字节读取、使用较大的脉冲、则读取的 PRU 周期为~33个、从而缩短平均周期时间)。
因此、如果您的突发读取大小小于16字节、那么使用本地桥和4个 LBBO 操作将更有意义。 但是、在超过16字节突发大小的某个点、使用全局32位地址切换到单个 LBBO 操作是有道理的。
Jason Reeder