設計上所有osd的Menu structure都是static宣告的。
所以可以全部搬到external memory space (flash)。
這樣code space就可以省下。
利用link script已經寫好的eeprom section.
因為eeprom自己管理,所以不用compiler管理。
借用eeprom section,將所有menu data移到 eeprom section.
(宣告時加 section space-specify word)
為external memory data寫read function (抄)
修改所有access menu的code,將read from progmem改為read from eeprom.
move font to 2nd sector.
OK! (p07)
原.text section size : 0x1c6a4
修改後 .text size : 0x1816c
program memory size是 20000.
遇到的問題
- password無法動作 : gcc的bug ? 將某function的register specifier刪掉ok.
- password無法動作 : 有些menu data access function用compiler的,不是用一般define的
- time可以修改,無法設定: 原source code的bug.
- 當機: 有些menu忘記先宣告eeprom的定義
後記:3/23 , merge w enos' latest verion ok : 2.0
沒有留言:
張貼留言