і
М И К РО К О Н ТР О Л Л ЕР Ы
I
■ М аксимальная универсаль-
ность: работа с любыми типами ус-
тройств должна вестись одними и
теми же средствами, чтобы макси-
мально абстрагироваться от конк-
ретной архитектуры устройства и
оперировать в работе не “низко-
уровневыми” битами конф игура-
ции (к примеру), а осмысленными
понятиями вроде “полная защ ита -
защита только от считывания про-
граммы” и т.п.
■ Открытость: возможность ис-
пользовать единственную рабочую
среду для любых известных под-
держиваемых
И ПОЯВЛЯЮЩИХСЯ
но-
вых устройств. Расширение спект-
ра поддерживаемых аппаратных
средств програм м аторов и про-
граммируемых с их помощью уст-
ройств должно осуществляться без
замены (обновления) основной
программы-оболочки при помощи
отдельных (разрабатываемых все-
ми желаю щ ими) м одулей-плаги-
нов. Интерфейс для создания пла-
гинов предоставляется всем жела-
ющим.
■ П ростота и ф ун кц и о н а л ь-
ность: вся система должна быть
ориентирована на использование
по возможности простых схем ап-
паратных программаторов, дабы
их мог собрать любой желающий.
Однако это не исключает поддер-
ж ку и “сложных” программаторов!
■ П реемственность: систем а
должна быть готова к работе с уже
известным набором схем адапте-
ров для программаторов РопуРгод
и других, чтобы облегчить “мигра-
цию” пользователя на новую про-
грамму.
Достичь соответствия этим тре-
бованиям можно, если абстрагиро-
ваться от внутренней архитектуры
программируемых устройств. В этом
случае их (от микросхем ПЗУ до мо-
бильных телефонов) можно пред-
ставить как совокупность неких на-
боров непрерывных блоков данных,
каждый из которых имеет опреде-
ленную ф ункциональную значи-
мость и при этом обладает опреде-
ленным набором свойств, которые в
свою очередь определяют набор
действий, выполняемых над содер-
жимым этого блока. Аналогичный
принцип ш ироко используется в
программировании и называется
объектно-ориентированным подхо-
дом.
Поясню на примерах.
■ Обычная ПЗУ,
наприм ер
РФ5. Содержит единственный блок
данных (собственно, сама ПЗУ),
объемом 2К, обладаю щ ий свой-
ствами “чтение” и “однократная за-
пись” (стирание в обычном про-
грамматоре невозможно, поэтому
это свойство не принимаем во вни-
мание).
Р 1авН -пам ять,
наприм ер
24С 16. С одерж ит та к же е д и н -
ственный блок данных, однако до-
полнительно обладает свойством
“стирание”.
■ Микроконтроллер,
например
АТ9032313. Содержит уже 3 блока:
память программ (свойства “чте-
ние”, “запись”, “стирание”), память
данных (свойства те же) и конф и-
гурационные биты (биты защиты,
обладают свойством “запись").
■ Мобильник.
М ожет содер-
жать большое количество блоков,
например “Прошивка языка”, “Ф от-
ки”, “Мелодии”, “Игры” и т.п. Ф ай-
ловую систему можно при желании
так же представить в виде набора
блоков-файлов и папок.
Надеюсь, принцип ясен. Теперь,
используя абстрактные “блоки” с их
свойствами, любые операции по
програм м ированию любых у с т-
ройств можно свести всего к четы-
рем (!!!) основным: чтение блока,
запись блока, стирание блока, сти-
рание всего устройства. Более
того, раз блоки абстрагированы от
конкретной аппаратной архитекту-
ры устройства, то в некоторых слу-
чаях можно использовать не тра-
диционное двоичное (ш естнадца-
теричное - не суть!) представление
данных блока, а вразумительное
смысловое представление. В каче-
стве примера обратимся к fuse-би-
там известных микроконтроллеров
Atmei AVR. Во-первых, активация
той или иной функции при помощи
этих битов осуществляется при ус-
тановке их значения в 0, что при-
водит к логическом у противоре-
чию, ведь мы привыкли активному
состоянию присваивать ненулевое
значение! Даже в программаторах,
которые фирма Atmei распростра-
няет вместе со своей средой AVR
Studio, постоянно и неоднократно
напоминается: “значение 0 соот-
ветствует активном у состоянию
бита” (видимо, сами разработчики
понимают нелогичность принятого
подхода). Во-вторых, количество
этих битов в некоторых моделях
превышает полтора десятка, и не
запутаться в многообразии различ-
ных “CKOPT-SUT-RSTDISBL-CKSEL
и т.п.” не так-то просто! Но ведь
если всего-навсего отказаться от
Файл Правка Вид Устройство блок Сервис Справка
т ъ
'■ * а & Го
я
"о яма”*
I Журнал j CODE ! EEPROM
Калибровочные байты і Конфигурация
Защита |
Блок:
Память программы
Файл: C:\W ork\ARV.PRJ\EP2K\PRG\STEND\M YPR0JECT.BIN
0014 +0 +1 +2 43 ВИВ +5 +6 +7 +8 +9 +А +В +С +D +Е +F
0000 02 00 26 FF FF FF FF FF FF FF FF 02 03 В7 FF FF
ijjplff FF FF FF Ff|H| FF FF FF FF FF FF FF FF FF FF FF
0020 FF FF FF 02 03 DB 75 81 6F C2 90 E5 87 54 10 75
0030 96 2B 53 87 EF 75 1A 19 75 IB DC 75 1C 04 85 1B
0040 8C 85 1C 8A C2 A6 D2 A4 C2 A7 75 21 00 75 22 00
0050 90 00 03 71 IE F5 CC F5 CA A3 71 IE F5 QD F5 CB
0060 90 00 00 71 IE F5 IF F5 13 75 98 60 75 89 11 75
HEX
3
H
l
Рис. 1
38 I
I Радиолюбитель - 0 7 /2 0 0 6
предыдущая страница 38 Радиолюбитель 2006-07 читать онлайн следующая страница 40 Радиолюбитель 2006-07 читать онлайн Домой Выключить/включить текст