作者rickykidd (saber.c)
看板ASM
標題[問題] 新手學控制晶片 定義的疑問
時間Tue Sep 1 17:59:40 2009
小弟最近在碰S3C2440 跟 MCP2510這兩塊晶片
我看她們範例裡面都有對記憶體位置(暫存器)作定義
如下
2440的定義檔
http://codepad.org/EvnsNpvr
MCP2510定義檔
http://codepad.org/QAjyZNqn
以上都是節錄一小部份XD
藉由一些範例給我的感覺
是否要控制晶片
通常都會由一個定義檔把各個暫存器記憶體位置定義出來
如2440那些 他是定義成一個"指標"變數 指向該記憶體位置
然後藉由該變數=0xffff 這樣 去設定裡面的旗標
但是看到MCP2510內的定義檔後 我這樣的想法就被推翻了
裡面單純定義#define MCP2510_XXX 0xf 這樣
偏偏他也是暫存器位置呀= ="..
這樣子 設定時他只是個變數 不是記憶體位置 不是很怪嗎??
修改的話 變成是修改該變數..=_=?
不知道我的想法哪邊有問題 請大大指教
我只是個初入門檻的新手XDDD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.130.22.88
1F:推 utility:它不是有註解是offset嗎?所以不是實際位址.是相對位址 09/01 18:07
2F:→ rickykidd:=_=??/相對 這個是?? 09/01 18:13
3F:推 Anal:就是相對位址.你應該還會找到一個 define xxx_base 0xAAA 的 09/02 17:05
4F:→ Anal:東西吧. 把base addr 加上offset 就是實際的位址 09/02 17:05