TI中文支持网
TI专业的中文技术问题搜集分享网站

f28m35中MSGRAM的操作问题

       C28   Address                                                                        M3   Address

0003 F800 – 0003 FBFF       CtoM MSG RAM (Parity) 2K        2007 F000 – 2007 F7FF

0003 FC00 – 0003 FFFF       MtoC MSG RAM (Parity) 2K        2007 F800 – 2007 FFFF

 1、如果M3读C28的值,M3先写MTOCIPCCOM,写MTOCIPCADDR=0003 F800,然后置MTOCIPC flag,C28发现MTOCIPC flag后,写值进MTOCIPCDATAR,最后M3读MTOCIPCDATAR,也就是读到了C28侧0003 F800 下的值。

2、如果是M3传数据给C28呢?在2007 F800 写入一个数据,如何让C28第一时间读到?具体操作怎做?

Young Hu:

您好!

在TRM 157页中有整个M3去读C28x的数据的过程。至于读还是写,就是在设置MTOCIPCCOM寄存器的时候实现的。在spruh22b 573页有相应的命令解释,如果要写16位的数据,那么写入MTOCIPCCOM命令字为0x0000005,如果要写32位的数据,那么写入MTOCIPCCOM命令字为0x0000006。

另外,在M3的驱动库中,有相应的读写函数可供您参考!

   // Read 32-bit word from C28 32-bit write word variable. Use IPC Flag 18 to

   // check when read data is ready.

   IPCMtoCDataRead(&g_sIpcController1, pulMsgRam[1], &ulRWord32,

                   IPC_LENGTH_32_BITS, ENABLE_BLOCKING,

                   IPC_FLAG18);

M3会通过MTOCIPC标志位或者中断的方式去通知C28x。

       C28   Address                                                                        M3   Address

0003 F800 – 0003 FBFF       CtoM MSG RAM (Parity) 2K        2007 F000 – 2007 F7FF

0003 FC00 – 0003 FFFF       MtoC MSG RAM (Parity) 2K        2007 F800 – 2007 FFFF

 1、如果M3读C28的值,M3先写MTOCIPCCOM,写MTOCIPCADDR=0003 F800,然后置MTOCIPC flag,C28发现MTOCIPC flag后,写值进MTOCIPCDATAR,最后M3读MTOCIPCDATAR,也就是读到了C28侧0003 F800 下的值。

2、如果是M3传数据给C28呢?在2007 F800 写入一个数据,如何让C28第一时间读到?具体操作怎做?

user718275:

回复 Forrest:

m3,c28之间不需要同步,也就是读写数据时不需要通知对方,把这两块RAM当共享RAM用,按各自可读写或只读。可以这样拿来用吗?当普通内存用

赞(0)
未经允许不得转载:TI中文支持网 » f28m35中MSGRAM的操作问题
分享到: 更多 (0)