Портирование приложений с семейства PIC18 на PIC24F
1.10. Встроенные функции
      Рассмотренные  ниже функции не являются отдельными модулями микроконтроллеров, однако их  использование необходимо для безопасной и надежной работы системы. К таким  функциям относятся:
- Возможность конфигурации устройства
- Защита программного кода
- Встроенный стабилизатор напряжения ядра
1.10.1. Конфигурация  устройства
      Микроконтроллеры  Microchip имеют специальную область  конфигурации в энергонезависимой памяти, предназначенную для записи и хранения  основных настроек аппаратных модулей. Неверная конфигурация может привести к  неправильному функционированию или сбою запуска. Для семейств PIC18 и PIC24F реализация конфигурации устройства значительно  различается.
      В  семействе PIC18 слова конфигурации расположены по адресам от 0x300000 до 0x30000F  включительно,  то есть вне пространства памяти программ. Большинство микроконтроллеров PIC18 имеют программный доступ к этой области только на  чтение и не могут ее программно изменять, т.е. изменение конфигурации может  осуществляться только при помощи внешнего перепрограммирования. В ранних  моделях PIC18 конфигурационная область представляла собой  однократно программируемую память, т.е. запись слов конфигурации являлась  одноразовой процедурой.
      В  последних версиях микроконтроллеров PIC18, таких как  подсемейство PIC18FxxJ, слова  конфигурации расположены в последних четырех словах программной памяти. При  подаче питания информации из этой области переписывается в область конфигурации  по адресам 0x300000  … 0x30000F, которая используются в дальнейшем и не  может быть изменена программно или при помощи внешнего доступа. Если слова  конфигурации в программной памяти изменены программно, то эта конфигурация не  вступит в силу до следующего сброса по включению питания. Следует заметить, что  бит защиты может быть изменен только в случае полного стирания и  перепрограммирования Flash памяти. Область  конфигурации (реальные регистры конфигурации по адресам 0x300000 … 0x30000F)  защищена битом четности. При ошибке четности производится сброс  микроконтроллера.
      Так  же как и в микроконтроллерах PIC18FxxJ слова конфигурации расположены в конце  программной памяти PIC24F. Однако значение слов конфигурации переписывается в  реальную область конфигурации при любом виде сброса, включая программный сброс  (инструкцию RESET). Это означает, что конфигурация устройства  (исключая бит защиты) может быть программно изменена и обновлена в любой  момент. Бит защиты, как уже было сказано, может быть изменен только при полном  стирании и перепрограммировании Flash памяти. Реальная  область конфигурации, так же как и в PIC18FxxJ, защищена от случайного изменения.
      
  1.10.2. Защита программного  кода
      Семейства  PIC18 и PIC24F предоставляют похожую функцию защиты  программного кода от чтения, исключая программный доступ во время выполнения  кода.
      Реализация  защиты кода в семействе PIC18 различается  для разных кристаллов в зависимости от деления программной памяти на  специальные блоки. Некоторые микроконтроллеры PIC18  содержат загрузочный (boot) блок, который  защищается от чтения индивидуальным битом, что позволяет закрыть код загрузчика  (бутлоадера). Все устройства с областью EEPROM  содержат  индивидуальный бит защиты этого блока энергонезависимой памяти.
      Защита  блоков производится с помощью трех независимых битов:
- CPn – защита от внешнего чтения и записи
- WRTn – запрет записи с помощью инструкций табличной записи
- EBTRn – запрет использования инструкций табличного чтения из другого блока программной памяти
В  отличие от PIC18, семейство PIC24F имеет возможность защиты только всей области  энергонезависимой памяти. Используются следующие конфигурационные биты: GCP  – аналогичен CPn в семействе PIC18  и GWRP – аналогичен WRTn.
      
        1.10.3. Встроенный  стабилизатор напряжения
      Микроконтроллеры  семейства PIC24F имеют встроенный  стабилизатор напряжения, предназначенный для питания ядра. Встроенный  стабилизатор позволяет использовать в системе источник питания с одним выходным  напряжением с допустимым рабочим диапазоном. Стабилизатор конфигурируется  аппаратно, подтяжкой определенного вывода к VDD  или к земле. Для получения более подробной информации рекомендуем обратиться к  литературе [1].
    Микроконтроллеры  PIC18 с максимальным напряжением питания 5 В не имеют  встроенного стабилизатора. Подсемейство PIC18FxxJ имеет стабилизатор, аналогичный PIC24F. Следует  заметить, что микроконтроллеры PIC18FxxJ и PIC24F в аналогичных корпусах совместимы по  выводам питания.
