Embedded OS

Mar 08, 2005 Last reply: 21 years ago 1304 Replies
ðpÉ×ÅÔÓÔ×yÀ, Olga. ÷ÏÔ ÞÔÏ Olga Nonova wrote to Vladimir Vassilevsky:

ON> ðÏÄÐÉÓÙ×ÁÀÓØ ÏÂÅÉÍÉ pyËÁÍÉ. ôÏÌØËÏ ÓÉÅ, ÐÏ-ÍÏÅÍy, ÔÁË É ÏÓÔÁÎÅÔÓÑ ON> ÍÅÞÔÏÊ. óÌÉÛËÏÍ ÍÎÏÇÏ ÁÐÐÁpÁÔÎÙÈ ËÏÎÆÉÇypÁÃÉÊ ÍÏÖÅÔ ÂÙÔØ y ÏÄÎÏÊ É ON> ÔÏÊ-ÖÅ ÐÅpÉÆÅpÉÉ × ÏÄÎÏËpÉÓÔÁÌÌËÅ É ÆÉÚÉÞÅÓËÏÊ pÅÁÌÉÚÁÃÉÉ ×ÎÅÛÎÉÈ ON> ÓÈÅÍ. ÷ÚÑÔØ ÔÏÔ-ÖÅ UART, ×ÚÄyÍÁÅÔ ÚÁËÁÚÞÉË ÉÓÐÏÌØÚÏ×ÁÔØ ÅÇÏ × ON> ÐÏÌyÄyÐÌÅËÓÅ Ó Ä×yÐpÏ×ÏÄÎÙÍ RS-485, É ×ÓÅ- ÐpÉÄyÍÙ×ÁÊ ÎÏ×ÙÊ ÄpÁÊ×Åp, ON> ÄyÍÁÊ, ÞÅÍ ÂyÄÅÛØ ÐÅpÅËÌÀÞÁÔØ ÌÉÎÉÀ "ÐpÉÅÍ/ÐÅpÅÄÁÞÁ". ïÄÎÏÍy ÔÁË, ON> ÄpyÇÏÍy ÜÔÁË, Á ÔpÅÔØÅÍy ÓÏ×ÓÅÍ ÉÎÁÞÅ- É ÌÏÐÎyÌÁ ÉÄÅÑ yÎÉ×ÅpÓÁÌØÎÏÇÏ ON> ÄpÁÊ×ÅpÁ.

HÅ ÍÏÖÅÔ ÂÙÔØ yÎÉ×ÅpÓÁÌØÎÏÇÏ ÄpÁÊ×ÅpÁ ×ÓÅÇÏ É ×ÓÑ. "õÎÉ×ÅpÓÁÌØÎÙÊ ÄpÁÊ×Åp" - ÍÁÎÉÌÏ×ÝÉÎÁ. äÅÌÁÅÔÓÑ ÐÏ-ÄpyÇÏÍy. HyÖÅÎ "ÐpÏÓÔÏ" UART ÉÌÉ, ÓËÁÖÅÍ, RS-232 - ÐÉÛÅÍ ÄpÁÊ×Åp UART-Á. á ×ÏÔ ËÁË ÔÏÌØËÏ ÐÏÎÁÄÏÂÉÔÓÑ ÄpÁÊ×Åp RS-485 - ÔÏÇÄÁ ÎÁÐÉÛÅÍ ÄpÁÊ×Åp RS-485, ×ÏÚÍÏÖÎÏ, ËÁË "ÎÁÄÓÔpÏÊËy" ÎÁÄ pÁÎÅÅ ÎÁÐÉÓÁÎÎÙÍ ÄpÁÊ×ÅpÏÍ UART-Á. þÔÏ × ÜÔÏÍ ÎÅÐpÁ×ÉÌØÎÏÇÏ? á, ÎÁÐÉÓÁ× ÃÅÌyÀ ÂÉÂÌÉÏÔÅËy ÜÔÉÈ ÄpÁÊ×ÅpÏ×, ×ÙÌÏÖÉÍ ÉÈ ÉÓÈÏÄÎÉËÉ ÐpÑÍÏ ×ÏÔ ÔyÔ, × ÜÈÅ, × ËÁÞÅÓÔ×Å ÐpÅÚÅÎÔÁ ÌÉÞÎÏ ÷ÌÁÄÉÍÉpy ÷ÁÓÉÌÅ×ÓËÏÍy É ÌÉÞÎÏ ÷ÁÍ.

Michael G. Belousoff

formatting link
mailto: mickbell(dog)r66(dot)ru

... ==== ðpÏÂÌÅÍy ÎÁÄÏ pÅÛÁÔØ ÄÏ ÔÏÇÏ, ËÁË ÏÎÁ ÐÏÑ×ÉÔÓÑ. ====

14-Mar-05 09:43 Alexey V Bugrov wrote to Oleksandr Redchuk:

OR>> В том-то и дело, что не OR>> "переключения контекста не происходит", OR>> а OR>> "он переключается назад туда, где был"

AB> Да. Хотя в "кривых пиках" в этом случае сохраняется только минимальный Когда-то давно, в одном из первых pic vs AVR (почему-то именно они были горячими) я уже говорил - нет кривых архитектур, есть архитектуры, кривизна которых не совпадает с кривизной извилин.

OR>> Т.е. с точки зрения затрат времени "логическое" отсутствие OR>> переключения и "логическое" его наличие эквивалентны - так как OR>> "физическое" происходит.

AB> В общем случае нет. Перед пользовательским прерыванием не надо сохранять AB> весь контекст, обычно достаточно какой-то его AB> минимально необходимой части. Конечно, в этом случае на обработчик AB> прерывания накладываются некоторые ограничения, но в AB> том или ином виде они есть всегда.

На AVR это можно только на ассемблере либо хорошо топтаться по С-компилятору - чтобы он всегда в прерываниях использовал одни и те же регистры и при этом сохранял их все, даже если нужна часть, и при этом не брал больше, даже если надо - заводил на стеке.

OR>> Т.е. ISR полностью сохраняет всё, делает OR>> свою работу, потом работает перепланировщик и при необходимости OR>> делает переключение на другой контекст.

AB> Да, так делается довольно часто (в той же uC/OS), но это не лучшее AB> решение. О том и речь - разговор с HZ фактически идёт о AVR и MSP430, а там тяжело выбрать минимум для сохранения и нужно учить этому C-компилятор. При написании ассемблерной ОС можно как-то решить как это делать и оно будет работать с частичным сохранением до необходимости перепланировки либо с восстановлением всего, а потом, непосредственно перед reti - вызовом перепланировщика (когда всё жуе в "стандартном" состоянии).

OR>> При такой постановке по OR>> каждому байту переключаться на процесс приёма и обработки пакета OR>> или накапливать пакет без перепланировки - разница тоже есть, в OR>> _дополнительное_ переключение контекста уже _после_ отработки OR>> процесса приёма байта.

AB> Hа самом деле два переключения. Hа процесс и обратно. Ну так я и говорю - одно дополнительное - если (а для AVR и uC/OS, ScmRTOS это так) "осевое" прерывание делает всегда полное сохранение контекста.

AB> Даже на AVR можно сохранять не весь контекст, правда обработчику придется AB> быть писанным на асме. Увы. О том и речь.

OR>> получается. Hа стеке - *огрызок* контекста текущего процесса, причём с OR>> большой вероятностью совершенно не соответствующий начальной OR>> части "осевого" формата и вообще зависит от перекомпиляции.

AB> Да. Поэтому неплохо сохранять этот огрызок не средствами компилятора, а AB> средствами ядра. Компилятор пусть считает, что AB> это обычная функция. Hе знаю, можно ли сказать авровским компиллерам AB> какие ресурсы можно использовать внутри функции Ограничить - "пользуй R0,R1 и с R16 по R21 а остальные не трогай" - нельзя.

AB> или нет, но если нет, то такой простейший обработчик сам бог велел AB> писать на асме. Тоже можно, так как это - очень небольшая и довольно сильно аппаратно-зависимая вещь, такие что на C, что на ассемблере пишутся за одинаковое время и сопровождаются с одинаковым трудом.

wbr,

Здравствуйте, Уважаемый Dima!

Sun Mar 13 2005 21:40, Dima Orlov wrote to Olga Nonova:

DO> Ты знаешь альтернативное решение этой задачи без ОС? Можешь указать DO> сколько она заняла ресурсов?

Примерно столько же, поскольку OS там по-моему только 10% от полного стека протоколов TCP/IP.

DO> Так я не понял. Для модных web-серверов нужна ОС или нет?

Это вопрос не ко мне. Я вижу одно, что все разработчики embedded WEB-серверов поголовно используют ту или иную многозадачную RTOS и ОЗУ больших обьемов. А поскольку я намерена использовать в работе готовые технические решения, то поневоле придется иметь дело с RTOS и Cи. Деваться некуда.

DO> Странно, у меня почему-то ни в одном приборе нет интерпретации команд, DO> поступающих с разных интерфейсов... Зато много приборов, где вообще нет DO> интерфейса никакого.

Очень сильно повезло. У меня наоборот- все приборы обязательно, как с ручным, так и с дистанционным управлением в составе системы.

DO> Обычно или есть средства объяснить компилятору этого не делать, или он DO> сам этого не делает. К различиям гарвард/фон-нейман это отношения не DO> имеет вообще.

В IAR и Craft's компиляторах отключить копирование констант из flash в SRAM перед использованием в библиотечных операциях - невозможно! Так или иначе, но константы будут скопированы в ОЗУ.

DO> Почему "даже"? Это совершенно нормально и необходимо особенно на DO> начальных этапах работы с новым кристаллом и компилятором.

По-моему, это сильно ненормально для продуктов, которые рекламируются в качестве упростителей программирования, отладки и сопровождения.

[....]

DO> RTOS - сильно от задачи и имеющихся ресурсов зависит. Чистому ассемблеру DO> сейчас на мой взгляд вообще не место в инженерной практике. За редчайшим DO> исключением может быть.

Отнюдь. Грамотное использование макросов в макроассемблере влегкую накрывает очень приличные по сложности задачи, дает оптимальный код без всякой нагрузки тех теоритических абстракций, что пришли из мира больших машин и поэтому несвойствены и не нужны в практическом embedded.

Всего Вам Хорошего Ольга

Здравствуйте, Уважаемый Andy!

Mon Mar 14 2005 09:19, Andy Mozzhevilov wrote to Olga Nonova:

AM> Почемy все сpазy начинают пpо какyю-то сложность говоpить? AM> Да не сложная задача, вполне обычная.

После того, как вы прояснили техническеи характеристики,- то да, несложная. Hи по скоростям, ни по физической реализации канала, ни по набору протоколов обмена.

AM> А не надо споpить, надо сначала пpобовать, а потом yже обсyждать.

Пробовала. Hа однокристаллках не понравилось.

AM>>> А если надо более или менее полноценный TCP/IP, то внешнюю память AM>>> придется ставить независимо от наличия ОС.

ON>> Вот именно! Для связных задач нужны буферы обмена внушительных размеров.

AM> Тогда пpичем здесь ОС? Тpебования к памяти - это не тpебование ОС к ней, AM> а тpебование конкpетного пpиложения. Посколькy точно такие же бyфеpы AM> бyдyт оpганизованы и без использования ОС, только с бОльшим количеством AM> pyчной и pyтинной pаботы.

Возращаюсь к началу разговора. Весь вопрос в том как организовывать эти буферы- статически или динамически по мере надобности. Простенькая OS не умеет динамически ничего ни создавать, ни убирать из памяти. Поэтому простенькая, урезанная по фичам OS не годится для приличных связных задач. Ее прикладная ценность весьма сомнительна. Только это я и хотела сказать.

[...]

ON>> стиральные машинки запускаются не вставая с дивана,

AM> А белье кто загpyжает?

ON>> режимы приготовления микроволновок устанавливают из красочного меню в ON>> окне броузера.

AM> А таpелкy с сyпом в нее кто ставит?

Ирония мне нравится. Однако, у вас есть микроволновка дома? Видели, как у нее устроено меню с режимами, например, для разморозки различных продуктов? Я лично запуталась в этих кодах сразу, плюнула и теперь просто устанавливаю режим наглазок. А все дело исключительно в убогой системе индикации на семисегментных LCD. Вы можете запомнить, что разморозить курицу- это режим E-4, а согреть стакан молока- H-23? Я не смогла. А вот, если бы микроволновка, как один из WEB-серверов в домашнем интранете, выводила на экран PC меню режимов прямо в картинках и оттуда же запускалась с сигнализацией о готовности- то совсем другое дело! Кроме нормального меню, WEB- сервер позволил бы дистанционно запускать приготовление заранее заряженной продукции через Internet. И пускать тогда, когда ты действительно уже приближаешься к дому, а не по пошлому таймеру.

ON>> В промышленности распределенные контроллеры переводят в режим ON>> WEB-серверов, чтобы они сами дистанционно прорисовывали себя на ON>> экране диспетчера,

AM> Это еще более или менее опpавданное пpименение web технологий. AM> Hо эти контpоллеpы pеализyются далеко не на AVR с 2К RAM.

Правильно. Это еще один довод, что разговор про обоснованность применения RTOS следует вести исключительно в контексте практических задач, а не отвлеченно абстрактно.

[...]

AM> AVR - это кстати гаpваpд.

Да, наверное я перепутала. Hо вы же поняли, о чем идет речь?

ON>> Hу где же тут интуиция, когда я лично наблюдала в дизассем,лере, как Си ON>> компилятор копирует из Flash в SRAM константы? Зачем? Можете обьяснить?

AM> Hасколько я помню, это тpебование стандаpта.

Вот именно! И разработчики С-компиляторов ему следуют неукоснительно.

AM> Еще pаз повтоpю, RTFM. Есть ключевое слово __flash, котоpое запpещает AM> компилятоpy это делать. Все компилятоpы для uC имею те или иные AM> pасшиpения AM> Си для достижения более оптимальных pезyльтатов. Поэтомy пpи изyчении AM> очеpедного компилятоpа pекомендyется обязательно заглянyть в pаздел AM> докyментации "language extention".

Вы сами пробовали использовать написанное в разделе "language extention"? Или только надеетесь, что там все хорошо? Ключевое слово flash не спасает от копирования констант в ОЗУ, например строковых, поскольку все библиотечные функции C работают исключительно с обьектами, размещенными в SRAM. Hасколько мне известно, это ключевой момент языка Cи.

[...]

ON>> Это все в классической теории. Hа практике же Си компиляторы для AVR ON>> начинают пользоваться стеком для передачи формальных параметров в ON>> процедуры, только когда исчерпан запас рабочих регистров R16...R23.

AM> Это поpаботали pазpаботчики компилятоpа, оптимизиpовав таким обpазом AM> соглашение о вызовах. Это лyчше, быстpее, чем пеpедача чеpез стек, но AM> имеет огpаничение на количество паpаметpов. Hа мелких uC такая AM> оптимизация встpечается часто. Если ее pесypс заканчивается, то начинают AM> использоваться дpyгие методы. Они могyт pеализоваться легко или сложно, в AM> зависимости от системы команд пpоцессоpа.

Все это по-человечески очень понятно. Однако вспомните, разговор начинался с пресловутой легкости переноса С-проектов с одной платформы на другую. И якобы эта легкость обусловлена точному следованию стандартам языка. Сейчас же вы подтверждаете, что стандарт на самом деле не соблюдается в угоду быстродействию и эффективности. Значит, летит к черту и плаформонезависимость С-программ. Вместе с RTOS, написанными на языке Cи.

ON>> Для стека данных используется только регистры YL,YH. И это вы ON>> называте платформонезависимымым решением?

AM> YL YH (или соответствyющая паpа pегистpов) - это конкpтеная пpинадлежноть AM> AVR, его модели CPU. О какой платфоpмонезависимости может вообще идти AM> pечь на этом ypовне, если этот код пpедназначен AM> _yже_для_конкpтеной_платфоpмы_?

Так, и я то же самое говорю- о какой?! Если компилятор уже заточен именно так реализовать стек данных и разработчик подладился под данный механизм. Захочет ли он переносить готовый софт на другую платформу, для которой С-компиляторы устраивают совершенно другой механизм организации стека данных? По моему весьма чревато.

ON>> И потом, я еще раз обращаю внимание на главную направленность языков ON>> Си и C++ - это работа с динамически размещаемыми обьектами ON>> (классами), которые могут располагаться только в ON>> ОЗУ.

AM> Работа с yказателями - сильная стоpона Си, но из этого не следyет, что AM> объекты должны быть обязательно динамическими и обязательно в ОЗУ.

Если обьекты будут не в ОЗУ, то С-компиляторы создают неэффективный код. См. пример с аттрибутом flash.

ON>> Попробуйте средствами компилятора Cи в неймановской архитектуре ON>> создать в SRAM программный код и отдать управление ему. В гарвардской ON>> же такое делается одним движением.

AM> 1. Уважаемая, вы пyтаете 2 аpхитектypы, все с точностью до наобоpот.

Извините еще раз. Больше не повторится.

AM> 2. Потом, касательно embedded выполнение кода из RAM иногда нyжно, но это AM> достаточно pедко. Hо если нyжно, то это делается без особых пpоблем. AM> Этот код лежит где-нибyдь во FLASH, в стаpтапе копиpyется в ОЗУ на нyжный AM> адpес. В Си это выглядит, как обычный вызов фyнкции, ничем по внешнемy AM> видy не отличающийся от дpyгих.

Hа практике никого особо не волнует, как "это выглядит на Си". Интересует же цена вопроса. Вы предлагаете решение с очень большой ценойи по быстродействию и по аппаратуре.

AM> 3. Если система такая, что тpебyет постоянной загpyзки каких-то пpоцессов AM> в RAM и выполнение запyска их там, то это не совсем embedded, AM> польше похоже на PDA или desktop.

Граница терминов чрезвычайно размыта.

ON>>>> Второй момент- отсутствие защиты в битовых операциях от случайной ON>>>> модификации из-за прерываний.

AM>>> Можно узнать, в каком языке эта защита есть?

ON>> Hапример в PLM-51 от Intel. Там используются нормальные команды ON>> обращения к битовым переменным в памяти 51-ых ядер процессоров.

AM> Это свойство битового пpоцессоpа х51, а не в коей меpе не заслyга AM> PLM.

Это заслуга именно разработчиков компилятора с языка PLM-51, которые использовали возможности MCS-51 по максимуму. Hасколько мне известно, компиляторы C-51 не используют битовые переменные и соответсвующие инструкции ядра 51-го, а продолжают в лоб следовать стандарту языка. Отсюда сразу и геморрой с прерываниями.

ON>> В тех же AVR, ON>> если использовать часть младших регистров для хранения битов, то ON>> получаются вполне надежные, неисчезающие семафоры событий. Однако язык ON>> Си этого не допускает в принципе, ему обязательно нужно все проделать в ON>> три захода- считал, модифицировал, записал обратно. И поэтому имеем ON>> большие проблемы с семафориванием из прерываний.

AM> 1. Это не пpоблема Си, это пpоблема поддеpжки пpоцессоpом соответствyющих AM> команд. В том же PLM для пpовеpки бита со сбpосом была введена встpоенная AM> фyнкция _testbit_, котоpая компилиpовалась в JBC.

Это именно проблема Cи,- тупое следование стандартам переносимости. Посмотрите на те же AVR- там тоже есть команды работы с битами, которые не "портятся" прерываниями потому, что делаются за один цикл. Однако, ни один из широкоизвестных С-компиляторов для AVR не использует эту возможность кристаллов, а продолжает следовать стандартам и, конечно же, вляпывается в неприятности.

AM> 2. Достyп к pазделяемым с пpеpываниями pесypсам в фоновой пpогpамме AM> должен быть обеpнyт в кpитическyю секцию __DI(); __EI(); Это стандаpтный AM> метод.

Этот прием и возник, как панацея борьбы с прерываниями. Борьбы с приключениями, которые сами же себе разработчики С-компиляторов и устроили.

Всего Вам Хорошего Ольга

Здравствуйте, Уважаемый Oleksandr!

Mon Mar 14 2005 10:24, Oleksandr Redchuk wrote to "Olga Nonova":

ON>> Да, наверное и не надо. Hо динамическое создание и удаление процессов ON>> нужно. ON>> Hапример, сейчас модны WEB-сервера с возможным подключением клиентов ON>> более, чем один. А сколько их будет- оценить трудно.

OR> Эту же проблему гораздо легче решить одним едиснвтенным процессом (или, OR> допустим, по одному процессу на одно физическое подключение - будь то OR> сетевая карта, COM, ...). Процесс получает из очереди (туда суёт драйвер) OR> MAC-пакет - всё равно это делает один процесс, а затем вместо выбора OR> по полям пакета - какому готовому процессу пользователя перслать этот OR> пакет или породить новый - выбрать из массива/списка структуру, связанную OR> с этим клиентом или найти в массиве свободную структуру (добавить в OR> список распределённую по malloc). В структуре - всё связанное с этим OR> подключением (это были бы локальные переменные процесса в многопроцессной OR> модели). OR> И один код, построенный по принципу автомата (машины состояний). OR> Такой сервер и работать быстрее должен - "контекст процесса" заменяется OR> на "контекст соединения", а последний переключается сменой одного OR> указателя.

ON>> Пол-года вообще может не ON>> быть ни одного. Динамическое размещение процессов решает эту проблему,

OR> Этот единственый процесс можно породить статически и пусть спит пол-года. OR> ОЗУ он жрать не будет (кроме *одного* описателя процесса), если OR> структуры, отвечающие за соедниение - выделять динамически. OR> Код в ПЗУ он жрёт всё равно, раз он вообще есть в системе. OR> Так что нужно просто правильно комбинировать подходы.

Спасибо за идеи. Когда освоюсь в этой новой тематике, я обязательно вернусь к ним еще раз. Однако на данный момент, в силу определенного цейтнота, вынуждена обратиться к готовым решениям в данной области и отложить всякую самодеятельность. И когда я вникла в эти готовые решения, то увидела, что люди решают проблемы просто в лоб без всякой экономии и изысков- динамически создают и убирают отдельные задачи под каждое подключение, которое возникает. Правда, они ограничили число одновременных подключений, кажется 32-мя.

ON>>>> Hо на практике, для неймановской архитектуры, которой ON>>>> обладают подавляющее большинство мелких однокристаллок,

OR> Тебе уже сказали - что-то ты путаешь в нейманах/гарвардах.

Виновата. Hадеюсь, поняли меня правильно.

По остальным пунктам ваших замечаний я много уже ответила в письме к M. Отвечу лишь вот на это:

ON>>>> Hапример, некоторые библиотечные функции работы со строками портили ON>>>> пойнтеры на исходные строки! Вряд-ли такое можно считать фичей.

OR> А как это? OR> Может что-то типа того, что компилятор строки в ОЗУ разместил - просто OR> что-то ещё прочесть надо было??

Простое сложение строк (конкат.). В подпрограмму передаются пойнтеры на эти строки. После сложения, пойнтер на результат портился, а значит, результат просто исчезал неизвестно куда. Ваши действия? Библиотека string IAR-C V1.40

Всего Вам Хорошего Ольга

Tue Mar 15 2005 01:18, Alex Gavrikov wrote to Olga Nonova:

AG> úÄÒÁ×ÓÔ×ÕÊ, Olga!

AG> <âpÅÄ ÐÏÓËÉÐÁÎ>

AG> ôÀ! ÷ÉpÔÕÁÌÙ ÐÏÖÁÌÏ×ÁÌÉ....

öÅÌÁÀÝÉÍ ÐÏÏÂÝÁÔØÓÑ Ó _ÎÁÓÔÏÑÝÉÍÉ_ ×ÉÒÔÕÁÌÁÍÉ

formatting link
ðÏÖÁÌÕÊ ÐÏÉÎÔÅÒÅÓÎÅÅ ÂÕÄÅÔ. :-)))

AOT: It is about embedded artifitial intelligence...

WBR, Yuriy.

Mon Mar 14 2005 20:58, Olga Nonova wrote to Dima Orlov:

ON> Кстати, язык Cи создавался, как библиотека ON> макросов для ассемблера 8086.

Бред. Язык С создавался примерно в 1970-м году. Тогда не только 8086, но и вообще никаких микроконтроллеров не было.

Пока, Алексей

Здраствуйте, Уважаемый Andrey!

Mon Mar 14 2005 21:11, Andrey Kekalo wrote to Olga Nonova:

ON>> Кстати, язык Cи создавался, как библиотека ON>> макросов для ассемблера 8086.

AK> Я плакалъ.

AK> Hе говоря уж о сути.... Где "C" и где 8086? по времени это минимум лет AK> 10 разницы. Причем "С" старше.

Видно слезы умиления помешали вам увидеть чуть ниже слова про С-компиляторы от GNU. Тогда бы и хронология, и процессор-родоначальник сразу на место встали.

Всего Вам Хорошего Ольга

Здавствуйте, Уважаемый Alex!

Tue Mar 15 2005 00:22, Alex Kouznetsov wrote to Olga Nonova:

ON>> Кстати, язык Cи создавался, как библиотека ON>> макросов для ассемблера 8086.

AK> Бред. Язык С создавался примерно в 1970-м году. Тогда не только 8086, но AK> и вообще никаких микроконтроллеров не было.

А если вернутся к сути разговора? Суть его в том, что язык вырос из библиотеки макросов столь нелюбимого здесь ассемблера. Мне ссылку давать на историю создания Си, или сами прочтете?

Всего Вам Хорошего Ольга

Здравствуйте, Уважаемый Alex?

Tue Mar 15 2005 01:18, Alex Gavrikov wrote to Olga Nonova:

AG> Тю! Виpтуалы пожаловали....

Предлагаю держаться эхотага.

Всего Вам Хорошего Ольга

Hello, Olga Nonova !

ôÏÇÄÁ ËÁËÏÇÏ ÞÅÒÔÁ ÇÎÁÔØ ÎÁ ïó?

é ÐÉÛÕÔ ÎÁ ó. HÁ×ÅÒÎÏÅ ÏÎÉ ×ÓÅ ÐÏÇÏÌÏ×ÎÏ ÎÅ ÕÍÅÀÔ ÇÒÁÍÏÔÎÏ ÎÁ ÍÁËÒÏÓÁÈ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÔØ...

ïÔÏÖ.

þÔÏ ÚÎÁÞÉÔ ÐÏ×ÅÚÌÏ? ðÒÉÞÅÍ ÔÕÔ ×ÅÚÅÎÉÅ? ðÏ×ÅÚÌÏ ÔÅÍ, ËÏÍÕ ÂÏÇÁÔÙÊ ÄÑÄÀÛËÁ ÎÁÓÌÅÄÓÔ×Ï ÏÓÔÁ×ÉÌ É ÉÍ ÎÅ ÎÁÄÏ ÒÁÂÏÔÁÔØ. á ÒÅÛÁÔØ ÐÒÏÂÌÅÍÙ ÎÁÐÉÓÁÎÉÑ web-ÉÎÔÅÒÆÅÊÓÏ× ÉÌÉ ÜÌÅËÔÒÏÍÁÇÎÉÔÎÏÊ ÓÏ×ÍÅÓÔÉÍÏÓÔÉ ÚÁ ÚÁÒÐÌÁÔÕ - ËÁËÁÑ ÒÁÚÎÉÃÁ?

ôÙ ÐÒÏÓÔÏ ÎÅ ÕÍÅÅÛØ ÉÍ ÐÏÌØÚÏ×ÁÔØÓÑ. ÷ÓÅ ×ÏÚÍÏÖÎÏ, ÐÏ ËÒÁÊÎÅÊ ÍÅÒÅ × IAR. ñ ×ÐÏÌÎÅ ÄÏÂÉ×ÁÌÓÑ ÒÁÚÍÅÝÅÎÉÑ ÔÅËÓÔÏ×ÙÈ ËÏÎÓÔÁÎÔ × ROM. åÓÌÉ Õ ÔÅÂÑ ÐÒÉ ÜÔÏÍ printf ÎÅ ÒÁÂÏÔÁÅÔ, ÔÁË É ÈÒÅÎ ÂÙ Ó ÎÉÍ. åÓÌÉ ÔÅÂÑ ×ÏÌÎÕÅÔ ÎÅÜÆÆÅËÔÉ×ÎÏÓÔØ ËÏÐÉÒÏ×ÁÎÉÑ ËÏÎÓÔÁÎÔ × RAM, ÔÏ ËÁËÏÊ Ë ÞÅÒÔÕ printf?

åÓÌÉ ÎÅ ÕÍÅÔØ ÐÏÌØÚÏ×ÁÔØÓÑ ÉÎÓÔÒÕÍÅÎÔÁÒÉÅÍ, ËÏÎÅÞÎÏ.

óÏ×ÅÒÛÅÎÎÏ ÎÏÒÍÁÌØÎÏ.

þÕÛØ. íÁËÒÏÓÙ, × ÏÔÌÉÞÉÅ ÏÔ ×ÙÒÁÖÅÎÉÊ ó, ÎÅ ÏÐÔÉÍÉÚÉÒÕÀÔÓÑ É ÎÅÉÚÂÅÖÎÏ ÐÌÏÄÑÔ Ï×ÅÒÈÅÄ, ËÏÔÏÒÙÊ ó É ÎÅ ÓÎÉÌÓÑ. ðÒÉ ÜÔÏÍ ×ÓÅ ÒÁ×ÎÏ ×ÍÅÓÔÏ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ × ÔÅÒÍÉÎÁÈ ÁÌÇÏÒÉÔÍÁ ÒÅÛÁÅÍÏÊ ÚÁÄÁÞÉ ÔÙ ÜÔÏ ÄÅÌÁÅÛØ × ÔÅÒÍÉÎÁÈ ÒÅÇÉÓÔÒÏ× É ÍÎÅÍÏÎÉË ÐÒÏÃÅÓÓÏÒÁ. ìÉÛÁÑÓØ ÐÒÉ ÜÔÏÍ ÍÉÎÉÍÁÌØÎÏÇÏ ËÏÎÔÒÏÌÑ ÐÒÁ×ÉÌØÎÏÓÔÉ Ó×ÏÉÈ ÄÅÊÓÔ×ÉÊ, ×ÏÚÍÏÖÎÏÓÔÉ source-level debuging, ÐÅÒÅÎÏÓÉÍÏÓÔÉ, ÓÏÐÒÏ×ÏÖÄÁÅÍÏÓÔÉ ËÅÍ-ÎÉÂÕÄØ ËÒÏÍÅ Á×ÔÏÒÁ ÜÔÉÈ ÍÁËÒÏÓÏ×, ÄÁ É ÔÏ ÐÏËÁ ÏÎ ÐÏÍÎÉÔ ÞÔÏ ÐÉÓÁÌ. ðÌÁ×ÁÌÉ, ÚÎÁÅÍ.

äÁ ËÁËÉÅ × ÇÏÌÏÍ ó ÔÅÏÒÅÔÉÞÅÓËÉÅ ÁÂÓÔÒÁËÃÉÉ? üÔÏ Ö ÄÏ ËÁËÏÊ ÓÔÅÐÅÎÉ ÎÅ×ÍÅÎÑÅÍÙÍ ÎÕÖÎÏ ÂÙÔØ, ÞÔÏÂÙ × ó ÉÈ ÒÁÚÇÌÑÄÅÔØ? äÁ É ËÁËÏÅ ÔÁÍ ÒÅÁÌÔÁÊÍÏ×ÏÅ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÅ ÖÅÌÅÚÁ, ÅÓÌÉ ÔÙ Ï ÒÁÚÒÁÂÏÔËÅ web-ÉÎÔÅÒÆÅÊÓÏ× ÇÏ×ÏÒÉÛØ? ôÁÍ Ë ÖÅÌÅÚÕ ÔÏÎÞÁÊÛÁÑ ÐÒÏÓÌÏÊËÁ - Á ×ÓÅ ÏÓÔÁÌØÎÏÅ - ÐÒÉÛÅÄÛÉÅ ÉÚ ÍÉÒÁ "×ÚÒÏÓÌÏÇÏ" networking'Á ÁÂÓÔÒÁËÃÉÉ, ÎÅ ÉÍÅÀÝÉÅ Ë ÖÅÌÅÚÕ ÎÉËÁËÏÇÏ ÏÔÎÏÛÅÎÉÑ. ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×.

Hello, Olga Nonova !

äÁ, ÅÓÔØ ËÎÏÐËÁ ÒÁÚÍÏÒÏÚËÉ É ËÎÏÐËÁ Ó ÐÉËÔÏÇÒÁÍÏÊ ËÕÒÉÃÙ.

ëÏÎÅÞÎÏ ÄÒÕÇÏÅ. óÔÏÉÌÁ ÂÙ ÏÎÁ ÎÅ $150, Á ÒÁÚ ÔÁË × 10 ÂÏÌØÛÅ, ÎÕÖÄÁÌÁÓØ ÂÙ × ÎÅÄÅÛÅ×ÏÊ ÉÎÆÒÁÓÔÒÕËÔÕÒÅ, ÓÐÅÃÉÁÌÉÓÔÅ, ÓÐÏÓÏÂÎÏÍ ÎÁÓÔÒÏÉÔØ ÜÔÕ ÉÎÆÒÁÓÔÒÕËÔÕÒÕ. á ÐÏÔÏÍ ÂÅÇÁÔØ Ó ÍÏËÒÙÍÉ ÏÔ ËÕÒÉÃÙ ÒÕËÁÍÉ Ë ËÌÁ×ÉÁÔÕÒÅ Ó ËÒÙÓÏÊ, ÎÁÂÉÒÁÔØ ÅÅ ÁÄÒÅÓ, ×ÏÚÀËÁÔØ ÐÏ ÍÅÎÀ... äÅ×ÕÛËÁ, ÔÙ ÎÁ ËÕÈÎÅ ÂÙÌÁ ËÏÇÄÁ-ÎÉÂÕÄØ?

äÌÑ ÔÅÂÑ ÎÁ×ÅÒÎÏÅ ÂÕÄÅÔ ÏÔËÒÏ×ÅÎÉÅÍ, ÎÏ ÍÉËÒÏ×ÏÌÎÏ×ËÁ - ÎÁÇÒÅ×ÁÔÅÌØÎÙÊ ÐÒÉÂÏÒ É ÓÁÍÁ ÎÉÞÅÇÏ ÎÅ ÇÏÔÏ×ÉÔ. þÔÏÂÙ × ÎÅÊ ÞÔÏ-ÔÏ ÓÄÅÌÁÔØ, ÜÔÏ ÞÔÏ-ÔÏ ÎÁÄÏ ÓÎÁÞÁÌÁ ÐÒÉÇÏÔÏ×ÉÔØ, Á ÔÏÌØËÏ ÐÏÔÏÍ ÐÏÓÔÁ×ÉÔØ ÇÒÅÔØÓÑ. é ÄÌÑ ÜÔÏÇÏ ÎÕÖÅÎ ÔÁÊÍÅÒ É ÕÒÏ×ÅÎØ ÍÏÝÎÏÓÔÉ, Á ÎÅ ÕÐÒÁ×ÌÅÎÉÅ ÞÅÒÅÚ ÉÎÔÅÒÅÎÅÔ. ëÓÔÁÔÉ ÄÁÖÅ ËÏÇÄÁ ÐÒÉÂÌÉÖÁÅÛØÓÑ Ë ÄÏÍÕ ÐÏÌÅÚÎÏ ×ÓÅ ÖÅ ÎÁ ÄÏÒÏÇÕ ÓÍÏÔÒÅÔØ, Á ÎÅ ÎÁ web-ÉÎÔÅÒÆÅÊÓ ÍÉËÒÏ×ÏÌÎÏ×ËÉ Ó ÐÒÏÔÕÈÛÅÊ Ó ÕÔÒÁ ËÕÒÉÃÅÊ.

äÁ. ôÙ ÐÏÎÑÔÉÑ ÎÅ ÉÍÅÅÛØ Ï ÞÅÍ ×ÅÝÁÅÛØ.

õËÏÓÎÉÔÅÌØÎÏ.

ñ ÓÁÍ ÎÅ ÔÏÌØËÏ ÐÒÏÂÏ×ÁÌ, ÎÏ É ÄÅÌÁÌ É ÏÎÏ ÒÁÂÏÔÁÌÏ.

ëÁËÉÅ ÉÍÅÎÎÏ ÆÕÎËÃÉÉ? ëÔÏ ÍÅÛÁÅÔ Ó×ÏÉ ÎÁÐÉÓÁÔØ? ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×.

Hello, Olga Nonova !

ñÚÙË ó ×ÙÒÏÓ ÉÚ ÑÚÙËÁ ÷...

ôÙ ÅÅ ÓÁÍÁ ÓÎÁÞÁÌÁ ÐÏÞÉÔÁÊ. ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×.

Hello, Olga Nonova !

ëÁË ÍÏÖÎÏ ÓÄÅÌÁÔØ ËÏÎËÁÔ ÓÔÒÏË, ÎÅ ËÏÐÉÒÕÑ ÉÈ ÉÚ ðúõ × ïúõ? ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×.
úÄÒÁ×ÓÔ×ÕÊ, Olga!

Sunday March 13 2005 12:48, you (2:5020/400) wrote to Andy Mozzhevilov:

<âpÅÄ ÐÏÓËÉÐÁÎ>

ôÀ! ÷ÉpÔÕÁÌÙ ÐÏÖÁÌÏ×ÁÌÉ....

ðÏÍÎÉÔÓÑ ÎÅÓËÏÌØËÏ ÌÅÔ ÎÁÚÁÄ Õ ÔÅÂÑ ÄpÕÇÉÅ ÔÁÌÁÎÔÙ ÂÙÌÉ - ×ÅÓØÍÁ ÏÔÌÉÞÎÙÅ ÏÔ embedded. HÏ ÕÖ ÂpÅÄÉÔØ ÔÙ ÎÅ pÁÚÕÞÉÌÓÑ...

Alex

Hello, Dima!

ðÏÎ íÁp 14 2005, Dima Orlov ÐÉÓÁÌ Ë Maxim Polyanskiy ÐÏ ÐÏ×ÏÄÕ "Embedded OS."
ñ ÂÙ ×ÏÔ ÈÏÔÅÌ ÞÔÏÂ × 8-ÍÉÎÏÇÏÍ ËÏÒÐÕÓÅ ÂÙÌ ÐÒÏÃ Ó ÐÁÍÑÔØÀ × 4 ÒÁÚÁ ÂÏÌØÛÅ ÞÅÍ ÅÓÔØ. ðÏÓËÏÌØËÕ ÅÓÔØ ÚÁÄÁÞÉ ÇÄÅ ÎÏÇÉ ÎÁÆÉÇ ÎÅ ÎÕÖÎÙ Á ÓÞÉÔÁÔØ ÏÞÅÎØ ÍÎÏÇÏ ÎÁÄÏ. DO> ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×. WBR! Maxim Polyanskiy.

Hello, Andy!

ðÏÎ íÁp 14 2005, Andy Mozzhevilov ÐÉÓÁÌ Ë Olga Nonova ÐÏ ÐÏ×ÏÄÕ "Embedded OS."

ON>> óËÏÒÏÓÔØ ÏÂÍÅÎÁ? AM> 9600 ôÏÇÄÁ Ô×ÏÑ ÌÀÂÏר Ë RTOS ×ÐÏÌÎÅ ÐÏÎÑÔÎÁ. 9600. âÙÌÏ ÂÙ Ï ÞÅÍ ÇÏ×ÏÒÉÔØ. 9600 Ñ ÎÁ 621 ÐÉËÅ ×Ï ×ÒÅÍÅÎÁ ËÏÇÄÁ ÎÏÒÍÁÌØÎÙÈ ÆÌÅÛÅ×ÙÈ ÎÅÂÙÌÏ ÐÒÏÇÒÁÍÍÎÏ ÄÅÌÁÌ ÂÅÚ ËÁËÉÈ-ÌÉÂÏ ÚÁÔÙËÏ×.

ñ ÎÁÐÒÉÍÅÒ ×ÉÄÅÌ ÕÓÔÒÏÊÓÔ×Ï, ÏÂÝÁÑ ÓÕÔØ ËÏÔÏÒÏÇÏ ÎÁ×ÏÒÏÞÅÎÎÙÊ LPT 2 USART ËÏÎ×ÅÒÔÅÒ, ÇÄÅ ÎÁ PIC16F876A ÂÙÌ ÒÅÁÌÉÚÏ×ÁÎ ÏÂÍÅÎ ÓÏ ×ÓÅÍÉ ÓÔÁÎÄÁÒÔÎÙÍÉ ËÒÁÔÎÙÍÉ ÓËÏÒÓÔÑÍÉ ×ÐÌÏÔØ ÄÏ 921600, Ë×ÁÒà 14.74. ëÁËÕÀ RTOS ÍÏÖÅÛØ ÐÏÓÏ×ÅÔÏ×ÁÔØ ÞÔÏ ÔÁÍ ÅÝÅ ÞÔÏ-ÔÏ ÕÓÐÅ×ÁÌÏ ÚÁÄÁÞÉ ÐÅÒÅËÌÀÞÁÔØ? (Á ÏÎÉ ÔÁÍ ÅÓÔØ - ÎÁÐÒÉÍÅÒ 2-Ê ÐÒÏÇÒÁÍÍÎÙÊ ÍÅÄÌÅÎÎÙÊ usart, ÎÅÍÎÏÖËÏ ÍÁÔÅÍÁÔÉËÉ, ÎÏÖËÁÍÉ ÐÏÄÅÒÇÁÔØ). ñ ÄÕÍÁÀ ÔÙ × ÐÏÄÏÂÎÏÅ ÂÙ ÐÏÓÔÁ×ÉÌ ÄÌÑ ÉÇÒÉÝ Ó RTOS ÎÅ ÍÅÛØÛÅ ÞÅÍ LPC2106 ÎÅ ÔÁË-ÌÉ? ëÓÔÁÔÉ ÓËÏÌØËÏ Õ ÎÁÓ ÔÁÍ ÓÔÏÉÔ LPC2106!? äÏÌÌÁÒÏ× 15 ÍÉÎÉÍÕÍ, Á ÔÏ É 20-ÔÏÞËÕ. 876 ÐÉË cÔÏÉÔ $4.5. HÅ - RTOS ÜÔÏ ÖÅ ÂÁÎÁÌØÎÏ ÄÏÒÏÇÏ ;) AM> Andy WBR! Maxim Polyanskiy.

Hello, Andy!

ðÏÎ íÁp 14 2005, Andy Mozzhevilov ÐÉÓÁÌ Ë Maxim Polyanskiy ÐÏ ÐÏ×ÏÄÕ "Embedded OS." AM> ôÙ, Ñ ÓÍÏÔpÀ, ÐpÅyÓÐÅÌ yÖÅ × pÅÛÅÎÉÉ É ÍÏÉÈ ÚÁÄÁÞ. AM> çÄÅ-ÎÉÂyÄØ ÍÏÖÎÏ ÐÏÓÍÏÔpÅÔØ pÅÁÌÉÚÁÃÉÀ, Á ÔÏ ×ÄpyÇ Ñ É ×ÐpÁ×Äy ÞÅÇÏ ÎÅ AM> ÔÁË ÄÅÌÁÀ? ëÏÇÄÁ ÔÒÅÂÏ×ÁÎÉÑ ËÏÎËÒÅÔÎÅÅ ÏÐÉÛÅÛØ - ÐÒÅÄÌÏÖÕ ÒÅÁÌÉÚÁÃÉÀ. ôÙ ÖÅ ×ÓÅ ÂÏÌÅÅ × ÎÅËÏÎËÒÅÔÎÙÈ ÒÁÓÐÌÙ×ÞÁÔÙÈ ÒÁÍËÁÈ rtos Ó×ÏÅÊ ×ÉÔÁÅÛØ, Õ ÔÅÂÑ ÄÁÖÅ ÄÏÛÌÏ ÄÏ ÔÏÇÏ, ÞÔÏ ÔÒÅÂÏ×ÁÎÉÑ ÚÁÄÁÞÉ ÓÐÅÃÉÁÌØÎÙÍ ÏÂÒÁÚÏÍ Ë ÒÁÂÏÔÅ ÐÌÁÎÉÒÏ×ÝÉËÁ ÐÏÄÏÇÎÁÎÎÙ. ôÉÐÁ "ÍÎÅ ÎÁÄÏ ÓÄÅÓØ ÎÅ ÍÅÄÌÅÎÎÅÅ, ÞÅÍ ÓÔÏÌØËÏ-ÔÏ É ÎÅ ÂÙÓÔÒÅÅ, ÞÅÍ ÓÔÏÌØ-ÔÏ ÔÏ", ÐÒÉ ÜÔÏÍ ÔÙ ÓÁÍ ÎÅ ÚÎÁÅÛØ ÓËÏÌØËÏ, ÎÏ ÔÏÞÎÏ ÚÎÁÅÛØ, ÞÔÏ ÏÎÏ Háäï... óÏ ÓÔÏÒÏÎÙ ×ÓÅ ÜÔÏ ÏÞÅÎØ ÎÅÐÌÏÈÏ ×ÉÄÎÏ.

AM> Andy WBR! Maxim Polyanskiy.

Hello, Oleksandr!

ðÏÎ íÁp 14 2005, Oleksandr Redchuk ÐÉÓÁÌ Ë Maxim Polyanskiy ÐÏ ÐÏ×ÏÄÕ "Re: Embedded OS." MP>>>> ïÎÏ ÂÕÄÅÔ ×ÙÚ×ÁÎÎÏ ÓÒÁÚÕ-ÖÅ ÐÏ ×ÙÈÏÄÕ ÉÚ usart, OR>>> ôÀ, ÚÁÞÅÍ? MP>> ëÒÁÓÉ×Ï, ÐÏÎÑÔÎÏ, 100% ÂÕÄÅÔ ×ÅÚÄÅ ÒÁÂÏÔÁÔØ. OR> HÅ "×ÅÚÄÅ", Á ÔÏÌØËÏ ÔÁÍ, ÇÄÅ ÎÁÊÄÕÔÓÑ Ó×ÏÂÏÄÎÙÅ ÐÒÅÒÙ×ÁÎÉÑ (ÞÔÏ? É OR> ÔÙ ÔÏÖÅ ÓÔÁ×ÉÛØ ÐÒÏÃÅÓÓÏÒÙ Ó ÌÉÛÎÉÍÉ ÒÅÓÕÒÓÁÍÉ? ðÏÓËÏÌØËÕ ÏÓÎÏ×ÎÏÊ ÚÁÄÁÞÅÊ ÐÉËÏÍÁÎÉÉ Ñ×ÌÑÅÔÓÑ ÎÏÇÏÄÅÒÇÁÎÉÅ ÏÓÎÏ×ÎÙÍ ÕÞÉÔÙ×ÁÅÍÙÍ ÒÅÓÕÒÓÏÍ Ñ×ÌÑÀÔÓÑ ÏÔÎÏÛÅÎÉÅ ÍÅÖÄÕ ÞÉÓÌÏÍ ÎÏÇ É ÐÁÍÑÔØÀ ÐÒÏÇÒÁÍÍ. ðÒÉ ÞÅÍ ÐÒÉ ÐÉÓÁÎÉÉ ÎÁ ÁÓÓÅÍÂÌÅÒÅ Ñ ÌÀÂÌÀ ÂÒÏÓÁÔÓÑ × ÒÁÚÎÙÅ ËÒÁÊÎÏÓÔÉ É ÍÎÅ ÐÏÞÅÍÕ-ÔÏ ×ÓÅÇÄÁ × ÓÅÍÅÊÓÔ×ÁÈ Microchip ÐÏÐÁÄÁÀÔÓÑ ×ÁÒÉÁÎÔÙ ÎÅÐÒÉÅÍÌÅÍÙÈ ÏÔÎÏÛÅÎÉÊ (ÎÏÇ ÓÌÉÛËÏÍ ÍÎÏÇÏ Á ÐÁÍÑÔÉ ÐÒÏÇÒÁÍÍ ÓÌÉÛËÏÍ ÍÁÌÏ, ÉÌÉ ÎÏÇ ÓÌÉÛËÏÍ ÍÁÌÏ Á ÐÁÍÑÔÉ ÎÁÏÂÏÒÏÔ ÈÏÔØ ÚÁÐÉÛÉÓØ). ÷ ÒÅÚÕÌØÔÁÔÅ ËÁË ÐÒÁ×ÉÌÏ ÓÔÁ×ÑÔÓÑ ËÒÉÓÔÁÌÙ Ó ÉÂÙÔËÏÍ ÎÏÇ (16f648 ÔÁÍ ÇÄÅ 12f629 ÂÙ ÓÐÒÁ×ÉÌÓÑ) ÉÌÉ Ó ÉÚÂÙÔËÏÍ ÐÁÍÑÔÉ (16f877 ÐÏÔÏÍÕ ÞÔÏ ÐÒÏÓÔÏ 874 É ÍÅÎØÛÅ ÓÌÏÖÎÅÅ ËÕÐÉÔØ, ÈÏÔÑ × ÔÅÏÒÉÉ ÏÎ ÅÓÔØ). ïÓÎÏ×ÎÙÍ ÒÅÓÕÒÓÏÍ rtos-ÏÍÁÎÎÉÉ Ñ×ÌÑÅÔÓÑ ÓÁÍ ÒÅÓÕÒÓ, ÐÏÜÔÏÍÕ rtos-ÎÏÅ ÐÏÄÅÌÉÅ ÍÏÖÎÏ ÞÅÔËÏ ÏÔÌÉÞÉÔØ ÏÔ ÄÒÕÇÉÈ ÐÏ ÄÉËÏÍÕ ËÏÌÉÞÅÓÔ×Õ ÐÕÓÔÙÈ ÎÏÇ ÎÁ ÖÉÒÎÏ-ÍÉÐÓÏ×ÏÍ ÐÒÏÃÅÓÓÏÒÅ. OR> :-)) É ÇÄÅ ÍÏÖÎÏ ÐÒÏÇÒÁÍÍÎÏ ÉÎÉÃÉÉÒÏ×ÁÔØ ÁÐÐÁÒÁÔÎÏÅ ÐÒÅÒÙ×ÁÎÉÅ ÐÕԣÍ OR> ÚÁÐÉÓÉ ÂÉÔÉËÁ. æÌÁÇÉ ÐÒÅÒÙ×ÁÎÉÊ-ÔÏ ÚÁÐÒÏÓÔÏ ÍÏÇÕÔ ÂÙÔØ read-only ÓÏ OR> ÓÂÒÏÓÏÍ ÞÔÅÎÉÅÍ ÒÅÇÉÓÔÒÁ ÉÌÉ ÓÏ ÓÂÒÏÓÏÍ ÚÁÐÉÓØÀ ÅÄÉÎÉÃÙ - Ô.Å. OR> ÕÓÔÁÎÏ×ÉÔØ ÐÒÏÇÒÁÍÍÎÏ ÆÌÁÇ ÐÒÅÒÙ×ÁÎÉÑ ÎÅ×ÏÚÍÏÖÎÏ. íÏÖÅÔ ÎÏ ×ÓÅ-ÖÅ ÎÁÂÏÒ ÐÒÏÃÅÓÓÏÒÏ× Ó ÈÏÒÏÛÅÊ ÓÉÓÔÅÍÏÊ ÐÒÉÏÒÉÔÅÔÏ× ×ÏÏÂÝÅ ÏÇÒÁÎÉÞÅÎ. HÁÓËÏÌØËÏ Ñ ÔÁË ÎÁ ×ÓËÉÄËÕ ÐÏÍÎÀ cÉÓÔÅÍÙ Ó ÒÁÚÎÙÍÉ ×ÅËÔÏÒÁÍÉ - mcs51, hcXX, Z8, ARM, AVR. á ÐÒÉÏÒÉÔÅÔÙ ÔÁË ×ÏÏÂÝÅ ÅÓÔØ ÔÏÌØËÏ × x51 (1 ÕÒÏ×ÅÎØ) É ARM (8 ÕÒÏ×ÎÅÊ), hcXX ÄÉÂÉÌØÎÁÑ ÓÉÓÔÅÍÁ ÇÄÅ ÏÄÎÏÍÕ ÐÒÅÒÙ×ÁÎÉÀ ÍÏÖÎÏ ÓÄÅÌÁÔØ ÕÒÏ×ÅÎØ ×ÙÛÅ ÞÅÍ Õ ×ÓÅÈ. OR> ôÁË ÞÔÏ "100% ÂÕÄÅÔ ÒÁÂÏÔÁÔØ" ÎÁ MCS51, ÎÏ ÔÁÍ ÖÅ 100% ÂÕÄÅÔ ÒÁÂÏÔÁÔØ OR> É ÏÞÉÓÔËÁ ÞÅÒÅÚ reti. HÁ ARM ÍÏÖÎÏ ×ÙÈÏÄ ÎÁ ×ÈÏÄ ×ÙÚÙ×ÁÀÝÉÊ ÐÒÅÒÙ×ÁÎÉÅ ÚÁÍÁËÎÕÔØ É ÄÅÒÇÁÔØ - Ñ ×ÉÄÅÌ ÔÁËÏÅ ÖÉרÅÍ ;) èÏÔÑ ÔÁÍ ×ÒÏÄÅ ÅÓÔØ ÐÒÅÒÙ×ÁÎÉÑ ÐÏ ÉÚÍÅÎÅÎÉÀ ÓÏÓÔÏÑÎÉÑ ×ÙÈÏÄÁ. HÏ ËÁË ÐÒÁ×ÉÌÏ ÚÁ ÓÞÅÔ ÓËÏÒÏÓÔÒÅÌØÎÏÓÔÉ ÜÔÏ É ÎÅ ÎÕÖÎÏ. OR> wbr, OR> /* Oleksandr Redchuk, Brovary, Ukraine */ WBR! Maxim Polyanskiy.

Hello, Alex!

÷Ôp íÁp 15 2005, Alex Gavrikov ÐÉÓÁÌ Ë Olga Nonova ÐÏ ÐÏ×ÏÄÕ "Embedded OS." AG> <âpÅÄ ÐÏÓËÉÐÁÎ>

AG> ôÀ! ÷ÉpÔÕÁÌÙ ÐÏÖÁÌÏ×ÁÌÉ.... AG> ðÏÍÎÉÔÓÑ ÎÅÓËÏÌØËÏ ÌÅÔ ÎÁÚÁÄ Õ ÔÅÂÑ ÄpÕÇÉÅ ÔÁÌÁÎÔÙ ÂÙÌÉ - ×ÅÓØÍÁ AG> ÏÔÌÉÞÎÙÅ ÏÔ embedded. HÏ ÕÖ ÂpÅÄÉÔØ ÔÙ ÎÅ pÁÚÕÞÉÌÓÑ... ðÏÓËÏÌØËÕ Ñ ÏÔÒÉÃÁÀ ÒÁÚÄ×ÏÅÎÉÅ ÌÉÞÎÏÓÔÉ, × ÄÁÎÎÏÍ ÓÌÕÞÁÅ ÕÍÅÓÔÎÏ ÏÂÒÁÝÅÎÉÅ "÷ù" É ÍÎÏÖÅÓÔ×ÅÎÎÏÅ ÞÉÓÌÏ. AG> Alex WBR! Maxim Polyanskiy.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required