Re: PIC24FJ64GA004 宣告於ROM陣列的存取問題

作者 Ryang 於 2012年08月27日 11:55:00
1. PSV 的映射空間最大為 32KBytes, 超過時建議使用兩個陣列來分開。透過 const char x __attribute__ ((aligned (xxxx))) 的方式界定奇 Table 表格的邊界起始點為 32KB 的起始位址。

2. 使用 PSV 方式只能讀取資料不可以寫入,企圖寫入 PSV 的映射區域會產生 Address Trap。所以要寫入 Flash 空間只能用 Table Read/Write 的組合語言指令。因為 C30 並無直接寫入 Flash 的指令,但 C30 有提供 _builtin_ 巨集及嵌入式組語可以用來讀寫 Flash 的。你可以先參考一下 C30 Peripheral Module Training 的 EEPROM 那個章節,在練習一有詳細的說明如何使用 Table Read/Write 指令來存取 Flash 的。

來自: http://www.microchip.com.tw/newbb/viewtopic.php?forum=2&topic_id=12012&post_id=50194