Re: PIC18F8621使用External Flash的問題
|
||||
---|---|---|---|---|
高級會員
|
那如果我是外掛的ram我該怎麼去設定呢?
跟flash的方法都一樣嗎?
發表於: 2008/4/28 14:21
|
|||
|
Re: PIC18F8621使用External Flash的問題
|
||||
---|---|---|---|---|
高級會員
|
rom far unsigned
不太了解上述的意思能夠加點說明嗎?
發表於: 2007/11/20 14:55
|
|||
|
Re: PIC18F8621使用External Flash的問題
|
||||
---|---|---|---|---|
版主
|
讀的時候很簡單宣告成 rom far unsigned char 的型態再用TBLRD *+ 的指令就可以讀進來了。
要寫入External Flash 就比較麻煩而且還要看你是用哪一家的 Falsh ,一樣用TBLWT * 的指令寫入。
發表於: 2005/1/31 16:09
|
|||
|
Re: PIC18F8621使用External Flash的問題
|
||||
---|---|---|---|---|
新會員
|
非常感謝站長,
所以利用C語言在讀取外部memory的時候,我就可以將指標定義成 rom far unsigned char * pRom; 然後將位址指到external memory的位址就可以了嗎 在寫入的部分我就必須依照每一顆Flash的規則去做。是嗎? 感謝!!
發表於: 2005/1/31 15:16
|
|||
|
Re: PIC18F8621使用External Flash的問題
|
||||
---|---|---|---|---|
管理員
|
您好,
若是對外部的 Memory 做 Read , 不管接的是 Flash 或是 SRAM , 和在讀內部的 Program Memory 是一樣的方法. 若用組合語言的話就用 TBLRD , 若是用 C 的話就更簡單了 ! 只要把資料用 const rom 的 directive 宣告在適當的地方就好了. 至於 Write , 就沒那麼簡單了 ! 因為要保護資料不會不小心被覆蓋掉 , 每一種 Flash 都有一組 Command 來達成各項功能, 例如 AMD 的 29F800. 它有很多 Command , 包括了 Sector Erase , Chip Erase , Program .... 等等 , 而且在寫入之後還要做 STATUS Check , 以便確定順利完成 . 當然 , 一樣是透過 Table-Write 指令寫 Command 到不同位址 . 以 29F800 的 Section Erase 為例 . 必須對以下的位址寫入適當的資料: Address Data 0x555 0xaa 0x2aa 0x55 0x555 0x80 0x555 0xaa 0x2aa 0x55 Segment Address 0x30 因為一時找不到適當的 Sample Program 給你 , 只好您自己到相關網站 Download Flash 的 Data Sheet 後自己努力一下囉 ! Best Regards,
發表於: 2005/1/26 14:24
|
|||
|
PIC18F8621使用External Flash的問題
|
||||
---|---|---|---|---|
新會員
|
請問一下,如果我用PIC18F8621外接了一顆Flash,我填寫MEMCON Reg.=0x02以及CONFIG3L為Extended Microcontroller mode之後,如果我要對外面的Flash做讀寫,我可以像在讀寫本身的Program memory一樣,只是把位置定在10000h之後嗎? 請問正確的方法為何?是否有example code可以參考!謝謝!
發表於: 2005/1/24 10:40
|
|||
|