Консультация № 70172
09.01.2007, 17:59
0.00 руб.
0 2 2
Здравствуйте!

Помогите разобраться. На МК PIC16F628 в datasheet сказано что память программ сотавляет 2048*14. Это в каких единицах. И как расчитать тогда максимально-возможный объём hex-файла?

Обсуждение

Неизвестный
09.01.2007, 18:57
общий
это ответ
Здравствуйте, Fire-1!
Это означает, что память состоит из 2048 14-битных слов. Это память программы. Для данных используется 224 8-битных слов, для данных пользователя 128 8-битных слов. Каждая команда микроконтроллера состоит из одного 14-разрядного слова, разделенного на код операции, определяющий тип команды и один или несколько операндов, определяющие операцию команды.
Максимальный объем программного кода, в любом случае, для данного микроконтроллера не будет превышать 2048 14-битных слов. Плюс возможность запрограммировать при прошивке ячейки 2000h-2003h контрольной суммой и т.п.
На сайте Microchip.ru имеются переводы технической документации компании Microchip Technology Incorporated, которые можно скачать. Там полно описана структура, команды, особенности этого и других микропроцессоров.
С уважением.
Неизвестный
09.01.2007, 19:31
общий
это ответ
Здравствуйте, Fire-1!
2048*14 означает что: 2048 слов, длиной 14 бит(у среднего семейства каждая команда(слово) имеет длину 14 бит, отсюда и 3FFF в программах, работающих с программаторами). Насчет максимально возможного объема файла тут вопрос не совсем простой, так как HEX файл не содержит точную копию памяти контроллера, в нем присутствует дополнительная информация, контрольные суммы, типы, биты конфигурации, адреса ячеек. Да и знать это совершенно ни к чему, мплаб все равно не даст выйти за предел в 2048 слов, а этого хватит с лихвой, т.к. возможности контроллера не безграничны.
Форма ответа