TMS320F28377D我现在都是建立两个工程,来控制两个CPU,大家有没办法可以只建立一个工程,生成一个out文件来控制两个CPU,或者这种建立一个工程文件来控制两个CPU这种方式可行不?
Susan Yang:
F2837xD是双核设备,其中每个核都有自己的专用资源和共享资源。因此,每个内核都有自己的内存映射,自己的链接器命令文件以及自己的项目。所以一般我们需要分离项目并使用单独的.out文件对设备进行编程。
可以尝试使用#ifdef CPU1 这样的语句,但是当使用一个.out文件,设备启动时,CPU1控制各种资源,然后再将其提供给CPU2使用(例如,时钟,共享内存,GPIO等)。即使您尝试读取每个CPU ID,每个内核中仍将需要两组代码,这使得内存使用效率非常低,并且很可能与共享内存发生冲突。
所以不建议您合并工程
Susan Yang:
PS:e2e.ti.com/…/3201140
user5857981:
回复 Susan Yang:
你好,我是需要把代码放到FLASH,28377D是两个FLASH,我怎样实现只建立一个工程,只有一个out文件,只烧录一次out文件,怎么实现把代码烧录到CPU2的FLASH里面。
Susan Yang:
回复 user5857981:
请参考上面的回复以及链接内的内容
user5857981:
回复 Susan Yang:
好的,谢了~~
user5857981:
回复 Susan Yang:
你好,我再问个问题啊,我就算只建立一个工程,生成一个out文件,我还是需要把一个out烧录到两个CPU中,只是靠代码自己寻CPU的ID以及宏定义#define CPU1,来吧代码区分了是吧。上面是不是这个意思。就是不管怎么样,两个CPU是需要分别烧录out文件的是吧,即使是一个out文件。
Susan Yang:
回复 user5857981:
您的理解是正确的,如之前提到的:每个内核都有自己的内存映射,自己的链接器命令文件以及自己的项目。所以一般我们需要分离项目并使用单独的.out文件对设备进行编程。