Шрифт:
Жесткий диск
Современные материнские платы могут автоматически распознавать большинство периферийных устройств, подключенных к компьютеру, в частности жесткий диск (или диски). При обращении к программе SETUP (раздел, посвященный жесткому диску) можно увидеть, что жесткий диск обычно признается специальной моделью. Материнские платы типа «Plug and Play» («включай и работай») автоматически заполняют нужные рубрики, а для более ранних моделей выбор параметров диска производится вручную.
В любом случае полезно выписать параметры жесткого диска и наклеить памятку на корпус прибора.
Материнская плата и микропроцессор не вечны, и вполне возможно, что рано или поздно придется подключать старый жесткий диск к другому компьютеру. Без упомянутой предосторожности, особенно если жесткий диск распознавался автоматически, не останется практически никакой возможности определить его параметры. Крупные производители иногда указывают нужные показатели на корпусе прибора, но в подавляющем большинстве случаев эти данные на диске отсутствуют. Пример маркировки жесткого диска приведен ниже:
СТИРАЕМЫЕ ПРОГРАММИРУЕМЫЕ ЗАПОМИНАЮЩИЕ УСТРОЙСТВА
Работа некоторых устройств памяти, в которых информация стирается оптическим способом диапазона УФ, может нарушиться при наличии яркого света вблизи окна стирания. Это справедливо для стираемых программируемых постоянных ЗУ и для микроконтроллеров. И солнечное, и искусственное освещение одинаково опасны, но чаще всего, особенно на стадии доводки устройства, рабочий стол ярко освещается искусственным светом. Поэтому из предосторожности следует всегда закрывать окно стирания непрозрачной наклейкой. Во время программирования достаточно прикрывать окно обычным ластиком. Некоторые полезные замечания по программированию ЗУ сделаны в главе 2, в разделе «Программируемое постоянное запоминающее устройство».
ФОРМАТЫ ФАЙЛОВ
Программирование микроконтроллера или ПЗУ практически всегда проходит через стадию сохранения двоичного файла в одном из наиболее распространенных форматов.
Существует три таких формата, два из которых были разработаны производителями микропроцессоров. Самым простым является собственно двоичный формат, в котором байты сохраняются один за другим в форме последовательности. Он воспринимается многими программами, но для него не существует стандартного расширения, которое добавляется к имени файла при его сохранении. Часто используется расширение. bin, но оно не является универсальным. Два другие распространенных формата, созданных компанией Motorola, — это формат S19 (расширение. sl9) и так называемый формат Intel (расширение. hex). В этих форматах данные сохраняются в форме кода ASCII и обычно через каждые 16 байт добавляется контрольная информация (checksum — проверка суммы). Для ее формирования выполняется сложение этих байтов. Результат сложения, превышающий FFH, делится на 256 или 16 (в зависимости от формата) и в соответствующем виде сохраняется в начале или в конце строки. Каждая строка предваряется адресом, по которому байты строки будут располагаться в ЗУ. В этих условиях размер сохраняемого файла во многом зависит от структуры программы. Например, если объем ЗУ равен 8 Кб, то для сохранения 10 байт полезной информации при компактном размещении данных потребуется файл размером 8 Кб в двоичном формате и приблизительно 25 байт в других форматах. В этом случае файл будет содержать адрес, за которым следует 10 байт информации, предназначенной для хранения.
На практике обычно выбирают один из двух более совершенных форматов — скорее, по причине их стандартизации, а не из-за других свойств, которые в конечном итоге обеспечивают лишь незначительную экономию объема памяти при разработке небольших программ.
Рассмотрим представление информации в различных форматах.
Пусть устройство памяти объемом 8 Кб должно содержать по адресу 01 00Н следующие 16 байт:
9В А6 FF В7 04 В7 05 А6 F7 В7 06 11 00 15 00 13
В двоичном формате файл займет 8192 байт, включая 256 (FFH) пустых байтов, после которых размещаются 16 байт данных, и затем опять 7920 пустых байтов.
В формате S19 файл будет записан таким образом:
В кодах ASCII получим последовательность, занимающую в шестнадцатеричной форме 43 байта:
53 31 31 31 33 30 31 30 30 39 42 41 36 46 46 42 37 30 34 42 37 30 35 41 36 46 37 42 37 30 36 31 31 30 30 31 35 30 30 31 33 41 35
Эквивалентная запись в формате Intel имеет вид:
Соответствующая последовательность кодов ASCII в шестнадцатеричной форме займет 42 байта:
31 30 30 31 30 30 30 30 39 42 41 36 46 46 42 37 30 34 42 37 30 35 41 36 46 37 42 37 30 36 31 31 30 30 31 35 30 30 31 33 41 35
ЭНЕРГОНЕЗАВИСИМОЕ ОПЕРАТИВНОЕ ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО
Сохранение данных в устройстве памяти при отключении напряжения питания можно обеспечить путем использования специальных компонентов. В случае применения классических компонентов оперативной памяти тот же результат достижим при организации бесперебойного питания ЗУ.
В первом варианте используются постоянные ЗУ, представляющие собой программируемые устройства, в которых информация стирается не оптическим, а электрическим способом. Недостатками таких ЗУ являются относительная сложность их применения (требуется специальное программное обеспечение, рассматриваемое ниже), довольно большое время доступа, недостаточная емкость наиболее распространенных моделей и высокая стоимость.
Есть микросхемы энергонезависимых ОЗУ, которые в своем несколько увеличенном корпусе содержат статическую память и одну или две батарейки питания. В этом случае основным недостатком также является высокая стоимость и невозможность замены израсходованных батареек. Следует, однако, отметить, что батарейки теоретически имеют очень большой срок службы.