MyFPGA Forum

 找回密码
 注册
搜索
查看: 5640|回复: 9
打印 上一主题 下一主题

請問DE2-70_multi CPU 的問題

[复制链接]
跳转到指定楼层
1#
发表于 2009-10-29 22:38:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如題,想請問一下各位版友

我在DE2-2C35上成功架構了四顆CPU,並用mutex機制測試四顆都可運作
mutex的機制是利用on-chip memory 來做作 share memory...交換資料給CPU1輸出

後來我把架構移植到DE2-70上,目前想測試用sdram當做share memory來交換資料

想問的是:假設我現在只有兩顆CPU,想讓兩顆CPU操作同一個程式,那我可以在SOPC
把兩顆CPU的exception vector和reset vector都設為同一個位址嗎?
(例如CPU1:flash : 0x0 ; sdram : 0x20 ,  CPU2:flash : 0x0 : sdram : 0x20)

我這樣試的結果,SOPC過了,軟體也成功燒進板子了,但不會執行
(我是假設第一顆CPU做led_red閃爍;第二顆CPU做led_green閃爍)

程式有關於share sdram memory 的部份我是這樣寫的
在NIOSII我開兩個資料夾,分別是CPU1,CPU2,程式都放一樣的內容

unsigned int id;
NIOS2_READ_CPUID(id);
....
while(1)
{
    if(id == 0)
        IOWR_ALTERA_AVALON_LED_BASE........紅
    else if(id == 1)
        IOWR_ALTERA_AVALON_LED_BASE........綠
}
  
想請問有人做過sdram share 的嗎?可不可以指教一下,或是讓我參考一下原始碼
或是sdram其實不能做share memory?

PS:如果看不懂或是想了解我做的東西的話,可以回文一下,我會把我的專案放上來,大家研究一下,謝謝。
2#
发表于 2009-10-31 09:16:43 | 只看该作者
我还不知道可以两个CPU跑同一处的代码。。。。
如果你想跑同样的代码
为什么不把代码复制到两个vector,然后让CPU从各自的vector执行???
如果在程式中需要互相阻塞 或协调,可以再通过相应通讯和互斥手段
3#
 楼主| 发表于 2009-10-31 20:21:26 | 只看该作者
樓上板友您好,你的方法我有試過

我在de2-35上架了四顆cpu,程式各放在不同的sdram vector上,然後利用mutex讓他們正常運作
,結果是可行的,每顆cpu都可以透過mutex來執行各自的程式,不過在這裡,sdram並不是真正的
share memory,而只是虛擬的將sdram分成四段而已,share的是on-chip memory

但想問的是,有沒有辦法把share on-chip mem 變成 share sdram呢?
最近看了一下altera的文件,裡面似乎有提到說,不同的cpu可以指到同一個記憶體位址
而我利用這個理論在SOPC上也順利編譯完成,只是軟體燒錄完沒有動作而已
PS:我還是在niosii把程式放在不同的cpu裡,不過在sopc時cpu已經指向同一個區段了
4#
发表于 2009-12-24 21:22:42 | 只看该作者
这个好,要学习!
5#
发表于 2009-12-24 22:36:22 | 只看该作者
program and const data (read-only) 或許可以share, 但data (read/write) 不可以share.
請確定這兩個nios program 的data & heap memory 是不相同的,
6#
发表于 2010-7-11 11:48:23 | 只看该作者
我試過CPU1燒FLASH
CPU2燒硬體
可以啟動兩個程式同時運作!!
7#
发表于 2010-7-11 16:00:35 | 只看该作者
本帖最后由 tommiaomiles 于 2010-7-11 16:01 编辑

(例如CPU1:flash : 0x0 ; sdram : 0x20 ,  CPU2:flash : 0x0 : sdram : 0x20)
======================更改設定如下=======================
(例如CPU1:flash : 0x0 ; sdram : 0x20 ,  CPU2:flash : 0x100000 : sdram : 0x100020 )

依此方式定址,才能分配使用的記憶體空間。

我又重新試過,可以實現兩個CPU程式同時燒錄至硬體(非燒錄FLASH)
8#
发表于 2010-7-11 16:15:50 | 只看该作者
9#
发表于 2011-12-3 13:13:07 | 只看该作者
我也在做多核,能否一起学习,共同进步!我的QQ:724887638
10#
发表于 2011-12-3 13:14:10 | 只看该作者
我也在做多核,能否一起学习,共同进步!我的QQ:724887638
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|MyFPGA

GMT+8, 2024-5-8 05:46 , Processed in 0.040496 second(s), 15 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表