Искусство программирования на Си (984073), страница 82
Текст из файла (страница 82)
васмых процессоров и включает больше чем просто коль Имеется огрол~ный рынок полуфабрикатных внелряс- пилятор ОНО-С. Редактор связей, библиотечный мсмых модулей с целым рядом очевидных преимуществ, нелжер и широкий набор инструментов разработки включая закис, лак: программного обеспечения — все это является частью ° стандартизация, обсспсчиваюшая л~ассовое произ- пРоекта.
Фактически лзножсство С-компилаторов, РасВсякий раз, когда речь идет о том, что микропроцсссор системы, то энтузиасты ответят: "Да, конечно", хотя пространясмых произволителями процессоров или водство данае н инни на не ням анн ем ел не разделю Щ~ г л Часть Ц) ных (хост-систсм) и целевых систсм можно на(тти по собои постоянные запоминаюшис устроиства (ПЗУ) Если встроснная система имсст достаточный объем 5ВЗОВЫВ СРВДЕТВВ ВВОДВ/'ВЫВОДВ алрссу ьг(р://изгзг.япц.огя. для хрзнсния програмлн Программа выполнястся и>- КАМ и фиксированнос коммуникационнос подключс- Программа, нс имсюшая доступа к каким-либо сред- Основным требованием является наличие хост-сис- том подклнзчсния модуля в сто сокст (гнсздо) на нис к подходящей хост-системе, можно реализовать ствам ввода/вывода, абсолютно бссполсзна.
Она нс мотемы с сугцсствукзшим С-компилятором, способным встросннои систсмс и подключения питания. Модуль азьтсрнативный и более динамичный подход. Модуль жст получать входныс данныс, а значит, нс можст воссозлавать программы лля этой системы. Псрвым дслом ЕЕРКОМ и сго болсс соврсмснныи вариант Р)алй- (ЕЕР)КОМ содсржит лишь простсйшую программу на- принимать результаты своей работы или полчиняться следует распаковать исхолный код инструментов КОМ более прслпочтитсльны, поскольку они могут чзльной загрузки, которая использует коммуникацион- внсшним командам.
Аппаратныс срсдства ввода/вывода В1)л)1)Т)ЕБ и приспособить их для цслсвой системы. быть гсрспрограммированы на моста, бсз нсобхоли- нос сосдинснис лля запроса из базовой систсмы трсбу- нсобходимо подсослинять к процсссор> таким образом, 'Гаким образом будут созланы асссмблср(компонующая мости их отключсния, путем использования специаль- слюй программы на выполнснис; соответствующий чтобы процсссор мог управлять ими. По существу, сдинпрогрзлелеа), редактор связсй. библиотсчныи мснслжср нои элсктронной схсмы.
Это, следовательно, нс- программныи кол чсрсз коммуникационнос сосдинснис ствснный способ, позволяющий связать микропроцсслля объектных файлов н сгруппированы другие инст- сколько ослабляст аспскт постоянства памяти модуля. загружается в КАМ, и послсдним лсйствисм начазьно- сор с сто окружснисм, состоит в считывании или измерумснтьь Всс пакеты програмленого обсснсчсния О)Ч$ ~ Дсйствитсльно, такая схсма люжст бьць зашита такил> го загрузчика будет запуск программы на выполнснис.
нанни содсржимомз ячеек памяти. Процсссоры с используют олин и тот жс трсхэтапный мсханизле фор- образом, что программа сможет перезаписывать мо- В прсдылущсм разделе описана наиболее фундамсн- устройствами ввола/вывода нспосрсдствснно на чипе мирования программного обсспсчсния: дуль ЕЕРКОМ в процсссс выполнения, например, для тазьная (базовая) форма встроснной программы, при составляют исключение: они будут иметь инструкции 1. КонФигурирование исхолноео кола для ланных сохРанения информационного парамстра или для которой программа должна инициализировать процсс- асссмблсра для использования этих устройств.
типов главной и целевой систсм и лирсктории хост внутрсннсго обновления самой программы. На слу- сор и всс аппаратные средства перед выполнснисм ими Аппарзтныс срслства с отображснисм лама~и просисзсмы. При этом будут созданы нсобхолнмыс чай, если вам незнакомы использованныс выше акро- главнои задачи. Другими словами, про~раммныс срсл- граммируются путсм записи кодовых комбинаций биша1гс-файлы нимы лля молулси ПЗУ, нике приведен короткий ства должны обсспсчивать множсство очснь важных и тов или бантов в ячсйки намял. Чтобы сдслать это на список с расшифровкой их смысла: сложных функциональных возможностсй сшс до того, 2.
Использование утилиты МАКЕ для построения языке С, нужно присвоить алрсс памяти псрсмснной- как выполнять лзжс простсйшис задзчи. Но это нс яв- программы (или программ) из исходного кола. Рс- ° КОМ вЂ” Кса Я1 /[ееа еи«ее»ы«ые тееити»ее«ее раздеты Вы $ Часть п! Давайте рассмотрим простой практический примср /» аег ГЬе со1ов агахаа «/ короткий простои прил»ср того, как эти адреса можно связи протекания програлел1ы Примеры таких ситуаций программирования выводного устройства отображения лг ( со1оа == 0 ! использовать лля получения новой входной информа- включают: памяти: ссмисгимснтный дисплеи, наподобие тех, ко- дувргау[01 ь= Охуог е1ае ции: ° код запуска программы торыс используются в цифровыл циферблатах электронных часов.
В нем имеется семь строк для каждой циф- 0(ар1ау[01 = Ох02; 1пс гвадулхо( паа10пе«3 сьаг «рвала ) ° функции органов прсрываний ( ры, которые могуз переключаться в положение вкл/выкл /* аы(гсЬ ддар1ау Ьаск ов */ (ас асагва; а высококритичш|с ко времени ф)нлции по отдельности и формируют цифру "8", если всс они 01ар1ау[01 1= Ох01! асасав = ° [(овалчавд сваг*)у)уО Втдпа ЬОВ); вклк>ясны олноврсмснно. В пашам примере дисплсй лу ( (агагаа Ь Ох03) = 0 В таких оп»чаях обычно используют, если есть воз- »роаса = «((иаа(чаед можность, динамик или светодиод либо ссмиссгмснтсолсржит, скажем, четыре цифры и двоеточие мсжд) Функции ае(о[ар[аусоп(еп(ао дюкс нс нужно знать, сЬаг«)у1РО Ойтд дов): ный дисплей. Если жс ни одно из этих срсдств нсдоступпервой и второй парами цифр. Такой дисплей вьплядит как будут выглядеть комбинации битов.
Она выполня- гегпга агагаа Л Ох031 но, остается подсоединить к встроенной системс примерно так. ст лишь злсмснта н ю ф нкцию д айве а. Ф нкция р у фу ц др "в р. ункция ) осциллограф, чтобы поймать изл~снсния в конкретных более высокого уровня логики, назовем сс днр1ауТ[шеО, ячсйках памяти или ввода/вывода. 11 11 * 11 1 могла бы использовать функцию ве(Ошр[ауСоп(спгаО Печать сообщений и отладка программ 1 11 ' 11 11 для отображения на дисплее значения фалтичсского Отлалка программ для встроенных систем прслставля- С-ПрОГраММИрОВаНИЕ ВСтрОЕННЫХ р, апримср, "!2:00". Если вам интсрссно, как ст собой довольно сложную задачу, в основном посколь- будет выглядеть функция ОВР1ауТппеО, заметим, что это у р б р ж с я С И С т Е М И С а Н д а р А 5 ! С Каждая ци«)зра отображается одним байтом в памя- зависит от аппаратного обсспсчсния Такая функция текста или средства для соединения с интеРактивным П с сох этих диск ссий о том почем п ог ал«мити.
Биты 0-6 каждого байта управляют семью сс«мсн- должна знать, как биты позиций в цифровом байте со- отлаачиком. Интерактивные отладчики на уровне истами; бит 7 нс используется. Здесь пятыи управляющий о~носятся (коррсспонлируют) с линиями числа. Бсз з)аааеиит иы ые зиеиатииееиие раздезы Ю 1 $1 Часть!й полный станларт, в то врсмя как гаабадлаи реалзззадия служат в основном для удовлстворсния нуддз встроен- В цслолз это большой плюс — илзсть доступную Ыснтразьная 'йзсб-страница для КТЕМ5 находится (Ггссыапбйпб ппр)сгпспгайоп) подлсрзхиваш поллзножс- ныл приложсний, возникаюших в рсальном времени.
КТО5 для данной встроснной системы. С точки зрения по адрссу )зг)р:Оигзизи.ггсшз.сош ство стандарта, в котором в основном отсутствуют воз- Они призваны придать как можно больше вычислитсль- вссх свойств, козорыс предоставляют системы КТО5, Ниже привслсн список возможностей, которыс поллюжности ввозза/вывода библиотеки <агз))о.й>. Но дажс ной моши активным зазачалз, а салза по ссбс КТО5 по- почти всегда стоиз приложить усилия лля перенесения лсрживаст КТЕМ5 и которые должна полдсрживать своболная рсализация будст поллсржпвать всс языковые трсбляст очснь мало ресурсов. Системы КТО5 прслла- такой КТО5 на данныс аппаратныс средства, если она хорошая систсма КТО5; конструкции, такие как взлражсния, типы данных или тают стандартизированный интсрфсйс на уровне нс была псрснсссна ранее.
Популярныс КТО5 об"руд'з ° Поддержка гомогснных и гстсрогснных микропрофункции, таким жс образом, как это описывает стандарт функций с аппаратными средствами встроенной снстс- ваны портами для самых разнообразных платформ ап- цсссорных систем мы, рсд)пируя таким образом залачу псрсноса прило- паратныл сродств. Такие порты включают коммутациАбстракция и инкапсуляция являются ключевыми жсний встроснной систсмы в задачу псрсноса опсрационныс панели популярных встроенных систем, важные ° Многозадачность аспсктамн использования А)и)5! С во всгроснных сис- онной систсмы КТО5. Наконец (и это сшс нс всс), архитектуры аппаратных сродств и микроззроцсссорза ° Упрсждаюшсс планированис, управлясмос событитсмах.
Зависимости от аппаратных сродств и системно- КТО5 рсализуют такие своистпа высокоуровнсвых опс- типичных встроснных систслз. Если вы достали полу- ялзи и основанное на приоритетах ориснтировапный кол лолжны быть выдслсны и пикап- рационныл систсм, как лзногозадачность, многопоточ- фабрикатныи модуль встроенной системы и для этого ° Монотонное планирование с учетом нсстанлартных сулированы в простыс низкоуровневые функции ность и мсжпроцсссная коммуникация,с использовани- модуля доступна КТО5, остается только подстроить сто ситуаций драйвера, составляюгцис базовый интерфейс для досту- см стандартизированного интерфейса функций.
Они для своих цслсй, либо он станст частью оралы разработпа к аппаратным сродствам. Высокоуровневый код имсют такжс интсгрированную поддержку отладки для ки программного обсспсчсния. которая поставлястся с ° Взаимолсйствис между задачами и синхронизашзя АХ51 С для доступа к аппаратным срслствам будст ис- КТО5-приложснии.
модулем. ° Приоритстнос наслслованно пользовать только интсрфсйс лрайвсра. Если эта кон- Нспосрсдствснная связь с аппаратными срсдствами Если ваши цслсвыс аппаратныс сродства подлсржи- ° Управлснис отвстныии прерываниями цепция рсализустся послсловатсльно и если в основу часзо приволит к очснь строгим условиям синхрониза- ваются на уровне типа процессора илн аппаратной арпостроения хорошсго интерФейса драйвера положсно ции, которые должны быть выполнены.