我们有一个用作"FlexRay 网关"的 TMS5701227。 目前、FlexRay 处于运行状态、其传输和接收的数据项保存在内部 RAM 中、现在我们需要通过将这些数据项从内部 RAM 移动到作为 FPGA 一部分实现的外部 RAM 来完成系统设计。
我们遇到的问题是、外部存储器接口基本上没有提供我们预期的信号、为了确定问题、我们添加了一些测试代码(如下所示)、 我们还按照 另一个 EMIF 线程中的建议增加了设置、选通和保持时间。
修改了异步设置:CE2FFG 中的 SETUP (设置)、STROBE (选通)和 HOLD (保持)字段为最大值
emifREG->CE2CFG =(uint32)((uint32) 0U << 31U)|
(uint32)((uint32) 0U << 30U)|
(uint32)((uint32) 15U << 26U)|
(uint32)((uint32) 63U << 20U)|
(uint32)((uint32) 7U << 17U)|
(uint32)((uint32) 1U <<13U)|
(uint32)((uint32) 5U << 7U)|
(uint32)((uint32) 1U << 4U)|
(uint32)((uint32) 0U << 2U)|
(uint32)(((uint32) EMIF_16_bit_port);
将 PMU 区5从非共享器件修改为严格排序可共享、并启用子区6和7基地址和大小、在0x60000000至0x63FFFF 之间保持不变
;设置区域5
MOV r0 、#4
MCR P15、#0、 r0、C6、C2、 0
LDR r0、 r5Base
MCR P15、#0、 r0、C6、C1、 0
MOV r0 、#0x0000
ORR r0、 r0 、#0x1300
MCR P15、#0、 r0、C6、C1、 4.
movw r0、 #((0 << 15)+(0 << 14)+(0 << 13)+(0 << 12)+(0 << 11)+(0 << 10)+(0 << 9)+(0 << 8)+(0x19 << 1)+(1))
MCR P15、#0、 r0、C6、C1、 2
测试代码(大纲)
U16 Val;
Volatile U16* Loc;
Val = 0x5555;
LOC =(易失性 U16*) 0x60000000;
………
*位置= Val;
显示器件正在尝试进行某种版本的32位写入、数据与代码使用的数据不同。

