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

F28377D的双核共享问题

例如我在cpu1的工程里有一个变量,并把它声明为全局变量,但是在cpu2里怎么才能用这个变量呢,手册上说把cpu1的变量分配到共享内存里,cpu2就只能读取,不能写了,但是我需要在cpu2 的工程里,怎么用这个变量呢,直接把变量名字写出来就可以用吗?

Charles Ji:

回复 Hank Zhao:

请问,在cpu2中定义了一个中间变量怎么能读取到cpu1的变量呢,以前没接触过双核,不知道共享内存怎么用 ,也不关注变量在RAM中的状态,以前都是用单核MCU,一个变量声明称全局变量,就不管了,现在应该怎么弄呢,谢谢

例如我在cpu1的工程里有一个变量,并把它声明为全局变量,但是在cpu2里怎么才能用这个变量呢,手册上说把cpu1的变量分配到共享内存里,cpu2就只能读取,不能写了,但是我需要在cpu2 的工程里,怎么用这个变量呢,直接把变量名字写出来就可以用吗?

Hank Zhao:

回复 Charles Ji:

你可以将共享内存中的变量赋值给定义的中间变量,这样就读取了CPU1的变量。这个中间变量放在CPU2TOCPU1RAM共享内存的话,在CPU1中就也可以读取CPU2中定义的这个中间变量。

例如我在cpu1的工程里有一个变量,并把它声明为全局变量,但是在cpu2里怎么才能用这个变量呢,手册上说把cpu1的变量分配到共享内存里,cpu2就只能读取,不能写了,但是我需要在cpu2 的工程里,怎么用这个变量呢,直接把变量名字写出来就可以用吗?

Charles Ji:

回复 Hank Zhao:

Hank:

      您好!有两个问题请教

      1.您说的这个CPU2TOCPU1RAM 和 GSxRAM不是一个是吧。GSxRAM需要分配给某一个cpu。CPU2TOCPU1RAM不            一样吧。存在共享内存中是存在GSxRAM吗?

     2.假如我在cpu1的程序中定义了一个变量int a =1; ,将他放在共享内存GSxRAM或CPU2TOCPU1RAM中,在cpu2                 的程序里怎么能使用呢,直接用if(a == 1){}行吗,会直接报找不到变量吗?这些细节不太明白

例如我在cpu1的工程里有一个变量,并把它声明为全局变量,但是在cpu2里怎么才能用这个变量呢,手册上说把cpu1的变量分配到共享内存里,cpu2就只能读取,不能写了,但是我需要在cpu2 的工程里,怎么用这个变量呢,直接把变量名字写出来就可以用吗?

Hank Zhao:

回复 Charles Ji:

1,CPU2TOCPU1RAM是IPC message ram,GSRAM是共享内存,都可以传递数据。2,共享内存和IPC的例程你可以参考controlsuite中的RAM_management和cpu01_to_cpu02_ipcdrivers例程。

赞(0)
未经允许不得转载:TI中文支持网 » F28377D的双核共享问题
分享到: 更多 (0)