這顆chip提供的作法是:
寫一個像bootloader一樣的小code,內容是:
- 關掉所有週邊(IO,DRAM,uart.. timer...)。
- 降低工作時脈。
- poll button and IR (就這兩個device沒關)。
- 一旦有動作,作reset 的動作。
再寫一個module,當user ap 用IOCTL 控制,進入standby時,他就把剛剛那個小code 的image copy 到mcu 內部SRAM。(先關閉所有中斷)。然後將控制權交給那個小code。
這個module 就是"standby - module"。
要build這個module也蠻有趣的,他寫了一個tool 把bin內容轉成 .h 檔 (也就是矩陣宣告)。
讓module code直接就可以將矩陣資料"填入" SRAM中..
為甚麼要這樣作? 不是用 loader script 就可以了?
是不是因為build module 沒有用到loader ? (只有用到linker)。
沒有留言:
張貼留言