[問題] 使用Terasic DE0寫入SDRAM當掉問題

看板Electronics作者 (pavone先生)時間6年前 (2017/12/12 00:53), 編輯推噓0(001)
留言1則, 1人參與, 6年前最新討論串1/1
大家好, 最近開始接觸FPGA,使用Terasic DE0開發板, 然後用SOPC builder和 Nios ii 處理器對板子上的SDRAM做R/W的動作。 我的C程式碼很簡單, 就是對一個address寫一個固定值進去, 然後再把這個address的值讀出來看看有沒有寫成功。 程式碼大概如下(所有用到的變數都是unsigned int): while(1) { scanf("%d",&i); // enter 1/0 for write/read scanf("%d",&offset); //enter address offset if(i) { scanf("%d", &data);// enter data to be written IOWR(SDRAM_BASE, offset, data); } else { printf("%d", IORD(SDRAM_BASE, offset)); } } 所以我的動作就是一開始按1,然後給一個offset值跟data值, 之後按0看看剛剛輸入的值有沒有正確讀出。 可是測試的結果是offset值在0~7之間一切都是正常的, 當變成8時程式就會當掉。 我後來發現不一定是8, 在某些不固定的address寫進去時也會發生此現象, 有時甚至會跑出亂碼。 想請問一下有大大知道這是什麼情況嗎? 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.15.236 ※ 文章網址: https://www.ptt.cc/bbs/Electronics/M.1513011186.A.6DA.html

12/21 21:27, 6年前 , 1F
是不是寫到某個位元就當掉?
12/21 21:27, 1F
文章代碼(AID): #1QBhVoRQ (Electronics)