完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 一只耳朵怪 于 2018-6-13 15:00 编辑
例如我在cpu1的工程里有一个变量,并把它声明为全局变量,但是在cpu2里怎么才能用这个变量呢,手册上说把cpu1的变量分配到共享内存里,cpu2就只能读取,不能写了,但是我需要在cpu2 的工程里,怎么用这个变量呢,直接把变量名字写出来就可以用吗? |
|
相关推荐
6个回答
|
|
你可以在CPU2再加一个中间变量,将从CPU1读到的变量值赋给这个中间变量,可以在CPU2中修改中间变量的值,修改过之后再放回共享内存,将修改过之后的值赋给CPU1的变量。
|
|
|
|
szoldman 发表于 2018-6-13 05:17 请问,在cpu2中定义了一个中间变量怎么能读取到cpu1的变量呢,以前没接触过双核,不知道共享内存怎么用 ,也不关注变量在RAM中的状态,以前都是用单核MCU,一个变量声明称全局变量,就不管了,现在应该怎么弄呢,谢谢 |
|
|
|
60user22 发表于 2018-6-13 05:28 你可以将共享内存中的变量赋值给定义的中间变量,这样就读取了CPU1的变量。这个中间变量放在CPU2TOCPU1RAM共享内存的话,在CPU1中就也可以读取CPU2中定义的这个中间变量。 |
|
|
|
szoldman 发表于 2018-6-13 05:39 Hank: 您好!有两个问题请教 1.您说的这个CPU2TOCPU1RAM 和 GSxRAM不是一个是吧。GSxRAM需要分配给某一个cpu。CPU2TOCPU1RAM不 一样吧。存在共享内存中是存在GSxRAM吗? 2.假如我在cpu1的程序中定义了一个变量int a =1; ,将他放在共享内存GSxRAM或CPU2TOCPU1RAM中,在cpu2 的程序里怎么能使用呢,直接用if(a == 1){}行吗,会直接报找不到变量吗?这些细节不太明白 |
|
|
|
60user22 发表于 2018-6-13 05:53 1,CPU2TOCPU1RAM是IPC message ram,GSRAM是共享内存,都可以传递数据。2,共享内存和IPC的例程你可以参考controlsuite中的RAM_management和cpu01_to_cpu02_ipcdrivers例程。 |
|
|
|
将cpu1中变量的值写入固定地址,CPU2读取该地址的值就可以了,直接定义变量,在cpu2中使用是不行的
|
|
|
|
只有小组成员才能发言,加入小组>>
TMS320F28377D:新做了以377d为芯片的板子,上电后芯片复位引脚出现方波请问如何解决?
1897 浏览 0 评论
TPS55340通电后输入端保险丝烧断,芯片输入和GND之间短路
3647 浏览 4 评论
5031 浏览 0 评论
请问如何用DM368对RGB格式的图片数据进行编码生成JPEG格式图片?
1734 浏览 1 评论
9372 浏览 8 评论
CC3100BOOST使用CC3200lunchXL进行烧录
669浏览 2评论
714浏览 1评论
TMS320F28034: 利用C2prog通过SCI给TMS320F28034烧录程序,出现错误提示:Bootloading... failed (invalid echo)!
675浏览 1评论
求DLPC350 Programmer’s Guide User's Guide 中文版说明书
1197浏览 1评论
1771浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-24 04:10 , Processed in 0.631401 second(s), Total 81, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号