1. 程式人生 > >Microchip PIC24F dsPIC33E flash 自擦寫的尿性小結

Microchip PIC24F dsPIC33E flash 自擦寫的尿性小結

最近摸了好久,發現這個東西真的難,


MHCP 這套16bit  體系flash的擦寫操作,分為ICSP和RTSP兩種方式,前者就是常見的官方pickit/ICD程式設計燒寫操作時序。而後者是為bootload或者資料儲存自擦寫準備的,執行過程中的擦寫操作。


RTSP flash讀很簡單,速度也很快。


但是RTSP擦寫就是各種坑了。看了程式設計手冊和datasheet發現這貨在寫入之前必須進行擦除操作,而擦除的最小擦除單位是一個page,不是一個row。那麼一個page是多大呢,大概一千多words吧。摔QQQQ!!!!


然後,擦完了一頁,就可以寫入了,每次可以按row寫32/64個words;也可以按雙位元組寫,每次寫一個指令字word。而且你在flash讀取裡看,發現因為這貨24bit的指令字位寬,實際你每個指令字能使用的只有低端16bits,高位8bits是浪費的,不能用。擦了就是保持ff。