W79E632A ISP control register

Posted by: 邱小新 at 上午11:37 in
  1. SWRST: software reset,令 W79E632A 回到初始狀態,並自動清除這個 bit。
  2. HWB: hardware boot,HWB=1 表示 ISP hardware reboot mode。
  3. LDAP: reand only,LDAP=1 表示在 LDFlash 運行,LDAP=0 表示在 APFlash 運行。
  4. LDSEL: LDSEL=1 表示從 LDFlash 讀取 code 執行。
  5. ENP: ENP=1 表示進入 the ISP mode。

從 APFlash 進入 LDFlash

TA = 0xAA; TA = 0x55; CHPCON = CHP_LSEL | CHP_ENP; SFRCN = 0; /* 不執行也可以, 原廠 sample code 有做 */ PCON |= IDL;

從 LDFlash 進入 APFlash

TA = 0xAA; TA = 0x55; CHPCON = SWRST | CHP_LSEL | CHP_ENP; SFRCN = 0; /* 不執行也可以, 原廠 sample code 有做 */ PCON |= IDL;

在 LDFlash 執行 ISP 指令前,需先指定 CHPCON 參數,只需指定一次即可。

TA = 0xAA; TA = 0x55; CHPCON = CHP_LSEL | CHP_ENP; SFRCN = 0; /* 不執行也可以, 原廠 sample code 有做 */ PCON |= IDL; /* 不執行也可以, 原廠 sample code 有做 */

在 APFlash 執行 ISP 指令前,需先指定 CHPCON 參數,只需指定一次即可。

TA = 0xAA; TA = 0x55; CHPCON = CHP_ENP; SFRCN = 0; /* 不執行也可以, 原廠 sample code 有做 */ PCON |= IDL; /* 不執行也可以, 原廠 sample code 有做 */

注意事項

  1. CHPCON 在寫入時需要 timed access protection
  2. CHPCON 在進入 idle mode 才會執行上述指令,所以記得要讓 W79L632A 離開 idle mode,原廠 sample code 使用 XTAL=24MHz 在 idle mode 花費 8us。
  3. 其實可以不要理會 datasheet 上在寫什麼,記住切換 flash 要如上述的下指令即可,不要想要更動指令,會產生錯誤的結果,因為我已經試過都無效了。

0 意見

張貼留言