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

F28377D两个CPU之间通讯问题

        对于多核没有什么概念,所以看了F28377D的一些事例,也没有看明白,应该是我看的太浅了,有几个初级问题想问下大家:

        1、CPU1和CPU2都可以控制所有的外设吗?还是说CPU1可以控制所有的,而CPU2受限制,或者是其他的?

        2、CPU1和CPU2是怎么工作起来的?有两个main?或者其他方式?应该有什么配置的吧?

        3、CPU1和CPU2之间的协调只有通过IPC来进行传输的吗?如果有一个变量,能共用吗?

        4、大家有没有什么比较初级的两个CPU都用起来的历程可以借鉴呢?

        谢谢了!

囧:

 1、CPU1和CPU2都可以控制所有的外设吗?还是说CPU1可以控制所有的,而CPU2受限制,或者是其他的?

初始状态CPU1控制所以的外设加共享RAM GSRAM,通过CPU1初始化进行分配内存和外设

        2、CPU1和CPU2是怎么工作起来的?有两个main?或者其他方式?应该有什么配置的吧?

有两个项目,CPU完成初始化后会释放CPU2运行

        3、CPU1和CPU2之间的协调只有通过IPC来进行传输的吗?如果有一个变量,能共用吗?

IPC是一个方式,还可以用messageram和GSRAM

        4、大家有没有什么比较初级的两个CPU都用起来的历程可以借鉴呢?

下载controlsuite, F28377D的dual core例程都可以参考

        对于多核没有什么概念,所以看了F28377D的一些事例,也没有看明白,应该是我看的太浅了,有几个初级问题想问下大家:

        1、CPU1和CPU2都可以控制所有的外设吗?还是说CPU1可以控制所有的,而CPU2受限制,或者是其他的?

        2、CPU1和CPU2是怎么工作起来的?有两个main?或者其他方式?应该有什么配置的吧?

        3、CPU1和CPU2之间的协调只有通过IPC来进行传输的吗?如果有一个变量,能共用吗?

        4、大家有没有什么比较初级的两个CPU都用起来的历程可以借鉴呢?

        谢谢了!

user4661451:

回复 囧:

   2、CPU1和CPU2是怎么工作起来的?有两个main?或者其他方式?应该有什么配置的吧?

有两个项目,CPU完成初始化后会释放CPU2运行

 

controlsuite 里面的例程,比如有adc_epwm_cpu01和adc_epwm_cpu02 ,分别是两个CPU的程序吗? 如果两个CPU都要跑起来,是不是要编译和烧录两个不同的工程?

        对于多核没有什么概念,所以看了F28377D的一些事例,也没有看明白,应该是我看的太浅了,有几个初级问题想问下大家:

        1、CPU1和CPU2都可以控制所有的外设吗?还是说CPU1可以控制所有的,而CPU2受限制,或者是其他的?

        2、CPU1和CPU2是怎么工作起来的?有两个main?或者其他方式?应该有什么配置的吧?

        3、CPU1和CPU2之间的协调只有通过IPC来进行传输的吗?如果有一个变量,能共用吗?

        4、大家有没有什么比较初级的两个CPU都用起来的历程可以借鉴呢?

        谢谢了!

囧:

回复 user4661451:

是的,下载进两个CPU的,要下载两个内核

        对于多核没有什么概念,所以看了F28377D的一些事例,也没有看明白,应该是我看的太浅了,有几个初级问题想问下大家:

        1、CPU1和CPU2都可以控制所有的外设吗?还是说CPU1可以控制所有的,而CPU2受限制,或者是其他的?

        2、CPU1和CPU2是怎么工作起来的?有两个main?或者其他方式?应该有什么配置的吧?

        3、CPU1和CPU2之间的协调只有通过IPC来进行传输的吗?如果有一个变量,能共用吗?

        4、大家有没有什么比较初级的两个CPU都用起来的历程可以借鉴呢?

        谢谢了!

user4661451:

回复 囧:

1、在CCS Debug那里除了CPU1、CPU2还有CLA1、CLA2,这两个CLA不用烧程序的吧?

2、是不是CPU1负责芯片IO口的初始化、配置,CPU2没有这个功能?然后CPU1需要运行后,CPU2才能工作,才可以去配置外设,使用外设?

3、有没有可能就是CPU1和CPU2共用一个外设,比如说CPU1里面设置了EPWM1的频率、占空比,然后CPU2运行的时候也有同样的动作,不过是不一样的频率、不一样的占空比呢?

        对于多核没有什么概念,所以看了F28377D的一些事例,也没有看明白,应该是我看的太浅了,有几个初级问题想问下大家:

        1、CPU1和CPU2都可以控制所有的外设吗?还是说CPU1可以控制所有的,而CPU2受限制,或者是其他的?

        2、CPU1和CPU2是怎么工作起来的?有两个main?或者其他方式?应该有什么配置的吧?

        3、CPU1和CPU2之间的协调只有通过IPC来进行传输的吗?如果有一个变量,能共用吗?

        4、大家有没有什么比较初级的两个CPU都用起来的历程可以借鉴呢?

        谢谢了!

囧:

回复 user4661451:

1、在CCS Debug那里除了CPU1、CPU2还有CLA1、CLA2,这两个CLA不用烧程序的吧?

CLA的程序是少在CPU的FALSH,然后menorycopy到LSRAM分配给CLA的区域,如要调试load symbol就可以,记得加DEBUGSTOP设置断点。

2、是不是CPU1负责芯片IO口的初始化、配置,CPU2没有这个功能?然后CPU1需要运行后,CPU2才能工作,才可以去配置外设,使用外设?

其实不是,有一个bit释放就会让CPU从held reset回复。具体看一下standalone的例程就知道

3、有没有可能就是CPU1和CPU2共用一个外设,比如说CPU1里面设置了EPWM1的频率、占空比,然后CPU2运行的时候也有同样的动作,不过是不一样的频率、不一样的占空比呢?

不可能,外设必须有owner。但是可以在程序中切换,但是不建议这样做,会乱掉。

        对于多核没有什么概念,所以看了F28377D的一些事例,也没有看明白,应该是我看的太浅了,有几个初级问题想问下大家:

        1、CPU1和CPU2都可以控制所有的外设吗?还是说CPU1可以控制所有的,而CPU2受限制,或者是其他的?

        2、CPU1和CPU2是怎么工作起来的?有两个main?或者其他方式?应该有什么配置的吧?

        3、CPU1和CPU2之间的协调只有通过IPC来进行传输的吗?如果有一个变量,能共用吗?

        4、大家有没有什么比较初级的两个CPU都用起来的历程可以借鉴呢?

        谢谢了!

user4661451:

回复 囧:

请问下,程序哪里可以更改,RAM还是FLASH、STANDALONE ?

        对于多核没有什么概念,所以看了F28377D的一些事例,也没有看明白,应该是我看的太浅了,有几个初级问题想问下大家:

        1、CPU1和CPU2都可以控制所有的外设吗?还是说CPU1可以控制所有的,而CPU2受限制,或者是其他的?

        2、CPU1和CPU2是怎么工作起来的?有两个main?或者其他方式?应该有什么配置的吧?

        3、CPU1和CPU2之间的协调只有通过IPC来进行传输的吗?如果有一个变量,能共用吗?

        4、大家有没有什么比较初级的两个CPU都用起来的历程可以借鉴呢?

        谢谢了!

囧:

回复 user4661451:

右键项目名字 make target就能改

        对于多核没有什么概念,所以看了F28377D的一些事例,也没有看明白,应该是我看的太浅了,有几个初级问题想问下大家:

        1、CPU1和CPU2都可以控制所有的外设吗?还是说CPU1可以控制所有的,而CPU2受限制,或者是其他的?

        2、CPU1和CPU2是怎么工作起来的?有两个main?或者其他方式?应该有什么配置的吧?

        3、CPU1和CPU2之间的协调只有通过IPC来进行传输的吗?如果有一个变量,能共用吗?

        4、大家有没有什么比较初级的两个CPU都用起来的历程可以借鉴呢?

        谢谢了!

user4661451:

回复 囧:

感谢您繁忙的时候还抽空为我解答,还有几个问题:

在controlsuite的例程adc_epwm_cpu1和adc_epwm_cpu2,我分别给芯片的CPU1和CPU2烧了不同的程序测试(我是直接Load Program然后选择不同的.OUT文件):

1、CPU1烧录文件夹CPU1_RAM_DEBUG的.OUT文件,CPU2烧录文件夹CPU2_RAM的.OUT文件,可以正常仿真,两个CPU运行正常,断电重启都没用;

2、CPU1烧录文件夹CPU1_FLASH_STANDALONE的.OUT文件,CPU2烧录文件夹CPU2_RAM的.OUT文件,开始Debug芯片都不工作,断电重启都没用;

3、CPU1烧录文件夹CPU1_FLASH_STANDALONE的.OUT文件,CPU2烧录文件夹CPU2_FLASH的.OUT文件,开始Debug芯片都不工作,断电重启都没用;

4、CPU1烧录文件夹CPU1_RAM_DEBUG的.OUT文件,CPU2烧录文件夹CPU2_FLASH的.OUT文件,开始Debug芯片CPU2不工作,断电重启都没用;

请问下,您知道是怎么一回事吗?还是我操作哪里有误呢?谢谢!

        对于多核没有什么概念,所以看了F28377D的一些事例,也没有看明白,应该是我看的太浅了,有几个初级问题想问下大家:

        1、CPU1和CPU2都可以控制所有的外设吗?还是说CPU1可以控制所有的,而CPU2受限制,或者是其他的?

        2、CPU1和CPU2是怎么工作起来的?有两个main?或者其他方式?应该有什么配置的吧?

        3、CPU1和CPU2之间的协调只有通过IPC来进行传输的吗?如果有一个变量,能共用吗?

        4、大家有没有什么比较初级的两个CPU都用起来的历程可以借鉴呢?

        谢谢了!

囧:

回复 user4661451:

你的现象是正常的,如果你要断电正常运行,CPU1烧写standalone,CPU2烧写FLASH就可以

如果要debug, 烧写CPU1 FALSH DEBUG或者RAM DEBUG,CPU2烧写两个都可以,但是不能离线跑

        对于多核没有什么概念,所以看了F28377D的一些事例,也没有看明白,应该是我看的太浅了,有几个初级问题想问下大家:

        1、CPU1和CPU2都可以控制所有的外设吗?还是说CPU1可以控制所有的,而CPU2受限制,或者是其他的?

        2、CPU1和CPU2是怎么工作起来的?有两个main?或者其他方式?应该有什么配置的吧?

        3、CPU1和CPU2之间的协调只有通过IPC来进行传输的吗?如果有一个变量,能共用吗?

        4、大家有没有什么比较初级的两个CPU都用起来的历程可以借鉴呢?

        谢谢了!

user4661451:

回复 囧:

可是我目前的情况是,CPU1和CPU2都烧RAM的时候可以在线DEBUG;

CPU1烧FLASH_STANDALONE,CPU2烧RAM或者FLASH,离线CPU1和CPU2都没有运行;

CPU1烧FLASH_DEBUG,在线跑不起来。

 

用的是blinky_dc例程

赞(0)
未经允许不得转载:TI中文支持网 » F28377D两个CPU之间通讯问题
分享到: 更多 (0)