2016-06-15 2 views
0

Я работаю над приложением 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]

Я не понимаю, как инструкции подсчета количества данных с фантомным байтом или без него, три или четыре байта? Сколько адресов на странице доступно?

Может кто-нибудь помочь мне понять мою ошибку и/или получить хорошую точку зрения?

ответ

0

Я подтверждаю Теперь 1024 инструкции удаление страницы:

  • 4096 байт (байты фантомных включены) [1024 инструкции х 4 байта]
  • 3072 utile байты. [4096 байт х 0,75]
  • Нам нужен 2048 (0x800) адрес блока [4096/2] для решения страницы

Будь осторожен, чтобы вы проверить стирание страниц выравниваются, так как при удалении страницы на адрес на странице, вся страница стирается, поэтому мой эмпирический вывод был плохим.

Page 0: 0x000000 к 0x0007FE
Страница 1: 0x000800 к 0x000FFE
Page 2: 0x001000 к 0x0017FE
Page 3: 0x001800 к 0x001FFE
Page 4: 0x002000 к 0x0027FE
...
Страница 84: 0x02A000 к 0x02A7FE
Page 85: 0x02A800 к 0x02AFFE (Последняя страница содержит флэш конфигурации байт)
Page 86: 0x02B000 (несуществующие страницы)

Смежные вопросы