Я работаю над приложением dsPic33EP256MC502, мне нужно написать на flash, чтобы сохранить конфигурацию. Все работы, кроме удаления страницы, я слишком много стираю или слишком много.dsPic33 страница стирает размер
Технический паспорт сказать, размер страницы стирания страницы «1024 инструкции» (3072 байт) Так как инструкция 24 бит + фантомное байт, инструкция 32 бита выровнена Нам необходимо два адреса блока для решения инструкции
Примера:
0x000000: [Фантом] [команда1] [команда1] [команда1]
0x000002: [Фантом] [Instruction2] [Instruction2] [Instruction2]
0x000004: [Фантом] [Instruction3] [Instruction3] [Instruction3]
0x000006: ...
А/Наивно я вычислить 1024 инструкции размер страницы, как:
- 4096 байт (байт фантомное включен) [1024 инструкции х 4 байта]
- 3072 utile байт. [4096 байт х 0,75]
- Так что нам нужно 2048 адресный блок [4096/2] для адресовать страницы: 0x800 адрес на странице
B/я эмпирический тест, чтобы проверить, и я нашел 0x600 адрес на странице, это значит 1024 инструкции является:
- 0x600 1536 адрес
- 3 072 байт (фантомное байт в комплекте) [1536 х 2 байта]
- 2304 utile байтов [3072 байтов х 0,75]
- Я нашел стирание страницы 768 инструкции[3072/4]
Я не понимаю, как инструкции подсчета количества данных с фантомным байтом или без него, три или четыре байта? Сколько адресов на странице доступно?
Может кто-нибудь помочь мне понять мою ошибку и/или получить хорошую точку зрения?