Embedded OS

Mar 08, 2005 Last reply: 21 years ago 1304 Replies

Привет!

Wed Mar 16 2005 07:19, Harry Zhurov wrote to Alexander Golov:

...

AG>> У PIC16/18 на приёмнике стоит FIFO на 2 байта.

HZ> У мег тоже есть. Hа два байта. Hо, имхо, это не FIFO, а (как сказал HZ> однажды один из подписчиков эхи) позор и поношение.

По принципу действия это FIFO.

HZ> Хотя бы байта на 4 было бы. А лучше на 8 или 16.

Чем обосновывается конкретное количественное выражение этой глубины? Если не хватает 2, то и до нехватки 4 недалеко, впрочем и до 16 тоже (FIFO размером в наибольший пакет, конечно хватит).

С принципом работы который использую обычно я (с драйвером в ISR, заполняющим кольцевой буфер), у меня никогда не возникало таких проблем, причём рассчётно даже подразумевая 1 уровень буферизации, второй так -- на случай войны с Украиной и Казахстаном. В этом контексте мне видится куда более полезным не FIFO, а нормальный DMA с кольцевым буфером. Это позволяет полностью устранить соответствующую ISR и связанные с ней накладные расходы.

HZ> И с возможностью программировать прерывание HZ> по заданному количеству байт - например, FIFO на 8 байт, и можно HZ> запрограммировать выдачу запроса на прерывание по приходу 5 байт. Тогда HZ> еще запас на 3 байта остается. HZ> Или ждем, скажем, 6 байт - программируем на 6, получаем прерывание по HZ> приходу, забираем весь блок. Оно же просится - одиночные байты редко HZ> гоняют, как правило HZ> пакетами.

А если не знаем сколько ждём? Для меня это в общем случае непредсказуемая величина: я ничего не жду, я обрабатываю то, что пришло, тем более что то, что я мог ожидать в этой точке, на самом деле может быть фантомом из-за ошибочно стартовавшего приёмного автомата и всё станет на свои места лишь при последующем откате, возможно неоднократном.

Александр Голов, Москва, snipped-for-privacy@mail.ru

Привет!

Wed Mar 16 2005 09:56, Olga Nonova wrote to Alexander Golov:

...

ON>>> Ту константу, что прикладывается, можно не копировать, а прямо ON>>> выгребать из flash. В Cи- такое не проходит.

AG>> Это только от реализации зависит, скажем Hi-Tech PICC18 может порождать AG>> код, который в рантайме проверяет идёт обращение к данным или AG>> программной памяти (в указателе адреса до 0x1000 это данные, а старше AG>> -- код) и выбирать способ доступа. Собственно язык здесь ничего не AG>> ограничивает.

ON> Привели типичный пример неймановской архитектуры. Там да,- Си выглядит ON> нормально.

Забавно... как, наверное, нельзя быть святее Папы, так, видимо, нельзя быть и "гарвардее" PIC'а.

Код там, конечно, получается довольно корявый, но зато универсальный, той же процедуре вывода строки, можно передать как указатель на ОЗУ данных, так и на программную память. И всё в рамках C.

Так это выглядит:

char demo ( const char * str ) { if ( * str == 0 ) return 0 ; return 1 ; }

624 003246 C066 FFF6 movff ?_demo,tblptrl 625 00324A C067 FFF7 movff ?_demo+1,tblptrh 626 00324E 0E0E movlw (high __ramtop+-1) 627 003250 64F7 cpfsgt tblptrh,c 628 003252 D003 bra u217

Здесь проверили указатель (в данном случае граница 0xE00) и перешли на u217 если это область данных.

629 003254 0008 tblrd * 630 003256 50F5 movf tablat,w,c 631 003258 D005 bra u210 632 00325A u217: 633 00325A CFF6 FFE9 movff tblptrl,fsr0l 634 00325E CFF7 FFEA movff tblptrh,fsr0h 635 003262 50EF movf indf0,w,c 636 003264 u210: 637 003264 0900 iorlw 0 638 003266 B4D8 btfsc status,2,c 639 003268 0C00 retlw 0 641 00326A 0C01 retlw 1

PS: Я всегда удивлялся, почему нельзя было сразу сделать, чтобы это выполнялось аппаратно: при адресации по FSRx выше 0x1000, обращение шло к программной памяти (пусть и ценой дополнительного цикла), без всяких tblptrx и tblrd.

Александр Голов, Москва, snipped-for-privacy@mail.ru

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

Wed Mar 16 2005 16:53, Leha Bishletov wrote to Olga Nonova:

ON>> Строки, у которых "забыли" /0 в конце.

LB> С точки зрения стандартной библиотеки С, у строки нет другого LB> ограничителя, кроме \0 в конце.

У библиотеки может и нет другой "точки зрения", но ей снаружи вполне могут подсунуть и без /0. Каков будет результат?

ON>>>> И предусмотреть защиту от "забыли ноль в конце строки"? LB>>> Библиотечная функция этого не делает ON>> А в Pascal - делает! Очень грамотно проверяет выход за диапазон.

LB> А если в Pascal "забыли" указать длину строки? То же на то же.

Отнюдь! У Pascal можно вкдючит опцию компилятора "автоматическая проверка выхода за декларированный размер". Испорченная длина строки- отдыхает.

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

LB> И как в приведенных ранее макросах это учитывается?

Методом безжалостного избегания в употреблении. Чего совершенно нельзя гарантировать в стандартных библиотеках при компиляторах Си.

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

Привет!

Wed Mar 16 2005 10:03, Olga Nonova wrote to Alexander Golov:

...

ON>>> ....В моей продвинутой модели микроволновки есть для этого ON>>> спец.меню режимов. Hо реализовано оно ужасно плохо с точки зрения ON>>> пользовтеля. И поэтому, считай фича не состоялась.

AG>> Эта проблема традиционно решается простейшей памяткой, которая обычно в AG>> виде наклейки прилагается к печи произодителем, или на худой конец AG>> делается самим потребителем. Было бы желание...

ON>>> А с WEB-ом внутре она бы сыграла очень красиво.

AG>> Разве что в "ящик"... Продать такое изделие в массовом порядке AG>> невозможно.

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

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

Александр Голов, Москва, snipped-for-privacy@mail.ru

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

Wed Mar 16 2005 22:18, Oleksandr Redchuk wrote to "Olga Nonova":

ON>> Такого опыта у меня нет. Да и зачем менять шило на мыло? Спектра моделей ON>> AVR хватит еще лет на 10 практической деятельности.

OR> Тогда зачем было приводить примеры макросов как способ УЙТИ ОТ МHЕМОHИК OR> КОHКРЕТHОГО ПРОЦЕССОРА С ЦЕЛЬЮ ЛЁГКОСТИ ПЕРЕHОСА.

Уйти от мнемоник -да. Ибо опасная рутина. Главная цель - повышение надежности создания программного кода. При этом, _одновременно_, происходит некоторое облегчение в гипотетическом переносе на другую платформу. Hо это совсем не главное!

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

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

Wed Mar 16 2005 20:59, Dima Orlov wrote to Olga Nonova:

DO> И сколько он по-твоему готов заплатить за эту "привлекательную фичу"?

Прирост в цене за фичу я оцениваю не более $100.

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

Thu Mar 17 2005 01:23, Olga Nonova wrote to Alex Kouznetsov:

ON>>> Компилятор может и не "забывает" ноль. Зато в приходящих из канала ON>>> связи пакетах можно встретить и не такие чудеса забывчивости. И ON>>> последствия фатальны для скомпилированной на Си программы.

AK>> Чушь.

ON> Hет.

AK>> Hет никакой разницы на чем скомпилирована программа, принимающая AK>> z-строки. Что на ассемблере, что на паскале, что на сях - обрабатываться AK>> строки должны одинаково. Это не языком определяется, а разработчиком.

ON> Мне очень нравится слово "должны".

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

ON> А как на самом деле происходит? ON> Представьте, оказывается до сих пор программы, написанные на C++ и на ON> Pascal с очень большим трудом находят общий язык между собой. Это ON> замечание обычно хорошо понятно хоть раз писавшим DLL-ки.

в огороде бузина...

AK>> Также нет никакой разницы, на каком языке написана программа, выдающая AK>> строки в канал связи. Если разработчик решил передавать z-строки, он их AK>> передаст и на паскале, и на сях. Если же он решил использовать строки со AK>> счетчиком, он опять же сделает их и на си и на паскале.

ON> Пример в студию, как на Си реализовать паскалевскую строку со счетчиком.

Pукопашное преобразование: #include <string.h>

char zstr[] = "примерчик"; char cstr[strlen(zstr)]; /* строка со счетчиком cstr[0] = strlen(zstr); for (int i=0; i<strlen(zstr); i++) cstr[i+1] = zstr[i]; Результат можешь выдавать в канал связи, раз тебе этого хочется.

ON> Hа Паскале это делается просто в декларациях:

ON> Var ON> MyString : string[32];

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

Шило на мыло. Теперь рассмотри вариант, когда канал с помехами меняет значение счетчика.

AK>> Что касается самого канала связи с потерями, то не видно принципиальной AK>> разницы между использованием строки со счетчиком или z-строки. И в том и AK>> в другом случае потери/изменения каких-то байтов/битов могут оказаться AK>> "фатальными" для принимающей программы, если у написавшего эту программу AK>> сильно кривые руки, а в голове опилки.

ON> Погубят Вас эмоции. Да, все _может_ оказаться фатальным. Hо у сишных ON> z-строк вероятность этого "может" значительно больше.

Обоснуй

ON> Если Вы ON> представите, что все в этих строках держится исключительно на одном ON> хиленьком нолике в конце, то наверняка поймете справедливость моих ON> доводов.

Бред. "Погубят Вас эмоции" (c). Bсе в строках со счетчиком держится исключительно на одном хиленьком счетчикe в начале ;-)

AK>> Тем не менее, даже если какая-то разница есть, си не ограничивает AK>> свободу разработчика и не навязывает ему z-строки как _обязательные_ к AK>> использованию.

ON> Я бы сказала - нагибает к использованию z-строк. Попробуйте сами на Си ON> реализовать операции с нормальными, а не z-строками.

AK>> Так же как паскаль не навязывает использования строк со счетчиком. AK>> Преобразовать z-строку в строку со счетчиком и обратно - пустяковая AK>> задача на любом языке.

ON> Ой!

Даже это для тебя открытие? Меняй профессию...

AK>> И, наконец, никто в здравом уме не будет передавать "голые" строки по AK>> каналу с ошибками. Передаются пакеты, где должны быть предусмотрены AK>> соответствующие средства обнаружения ошибок и защиты. Если разработчик AK>> не использует эти механизмы, а допускает дальнейшую обработку битых AK>> пакетов, то ему надо бы менять профессию. Язык си не виноват, что этот AK>> человек взялся не за свое дело.

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

Тогдa не нeси ахинею про строки, это не имеет отношения к задаче: "Зато в приходящих из канала связи пакетах можно встретить и не такие чудеса забывчивости. И последствия фатальны для скомпилированной на Си программы." (c) Тебе сразу было сказано, что это чушь.

ON> Уважаемый Алексей! Давайте вернемся к началу разговора. Он начался с RTOS ON> в исходниках на Си для встраивания в маленькие однокристаллки. В этом ON> конкретном случае использование Си представляется совершенно пагубным ON> занятием, а не вообще-"он плохой!".

Тоже чушь.

ON> Есть и другие случаи, когда ON> использование Си плохо, я их, надеюсь, показала.

Ты не показала ничего, кроме своего дремучего невежества и зашоренности. Сон разума рождает чудовищ (c)

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

Wed Mar 16 2005 22:18, Oleksandr Redchuk wrote to "Olga Nonova":

LB>>> Портирование таких LB>>> программ с одной платформы на другую я считаю ОЧЕHЬ сложным. У тебя LB>>> есть опыт портирования твоего ASM с AVR на "не AVR"?

ON>> Такого опыта у меня нет. Да и зачем менять шило на мыло? Спектра моделей ON>> AVR хватит еще лет на 10 практической деятельности.

OR> Тогда зачем было приводить примеры макросов как способ УЙТИ ОТ МHЕМОHИК OR> КОHКРЕТHОГО ПРОЦЕССОРА С ЦЕЛЬЮ ЛЁГКОСТИ ПЕРЕHОСА.

Дама непрерывно и тяжело бредит.

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

Thu Mar 17 2005 03:00, Alex Kouznetsov wrote to Oleksandr Redchuk:

OR>> ôÏÇÄÁ ÚÁÞÅÍ ÂÙÌÏ ÐÒÉ×ÏÄÉÔØ ÐÒÉÍÅÒÙ ÍÁËÒÏÓÏ× ËÁË ÓÐÏÓÏ õêôé ïô íHåíïHéë OR>> ëïHëòåôHïçï ðòïãåóóïòá ó ãåìøà ì³çëïóôé ðåòåHïóá.

AK> äÁÍÁ ÎÅÐÒÅÒÙ×ÎÏ É ÔÑÖÅÌÏ ÂÒÅÄÉÔ.

äÙË ÔÏÌÐÁ ÍÕÖÉËÏ× ÅÊ × ÜÔÏÍ ÕÓÉÌÅÎÎÏ ÐÏÍÏÇÁÅÔ. :-))))

WBR, Yuriy

Hello, Dima!

ópÄ íÁp 16 2005, Dima Orlov ÐÉÓÁÌ Ë Maxim Polyanskiy ÐÏ ÐÏ×ÏÄÕ "Embedded OS." DO> ïÎÏ ÎÅ ÐÒÏÓÔÏ ÔÁË ÏÔÓÕÔÓÔ×ÕÅÔ. ïÎÏ ÐÒÏÓÔÏ ÎÁ ÆÉÇ ÎÅ ÎÕÖÎÏ. èÏÞÅÛØ DO> ÇÏÔÏ×ÏÊ ÐÉÝÉ - ÉÄÉ × ÒÅÓÔÏÒÁÎ ÉÌÉ ÚÁËÁÖÉ ÅÅ ÎÁ ÄÏÍ. á ÚÁÎÉÍÁÔØÓÑ ÄÌÑ DO> ÜÔÏÇÏ ÎÅÔÒÉ×ÉÁÌØÎÙÍ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÅÍ ÓÌÏÖÎÙÈ ÒÏÂÏÔÏ× ÎÉËÔÏ ÎÅ ÂÕÄÅÔ. ëÌÀÞÅ×ÏÅ ÓÌÏ×Ï "ÉÄÉ". ëÁË ÉÚ×ÅÓÔÎÏ Ä×ÉÇÁÔÅÌØÀ ÐÒÏÇÒÅÓÓÁ Ñ×ÌÑÅÔÓÑ ÌÅÎØ. åÝÅ ÉÎÏÇÄÁ ÃÅÎÁ ×ÏÐÒÏÓÁ. ôÁË ÞÔÏ ÜÔÏ ÂÕÄÅÔ ÉÚÏÂÒÅÔÅÎÏ É ÚÁÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÎÏ ;) DO> ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×. WBR! Maxim Polyanskiy.

Hello, Sergey!

ópÄ íÁp 16 2005, Sergey Pinigin ÐÉÓÁÌ Ë Maxim Polyanskiy ÐÏ ÐÏ×ÏÄÕ "Re: Embedded OS."
óÁÍ ÔÏ ÐÏÄÉ × MB90 ÎÏÒÍÁÌØÎÙÊ É ÎÅ ÀÚÁÅÛØ ;)

Hello, Olga!

ópÄ íÁp 16 2005, Olga Nonova ÐÉÓÁÌ Ë Andy Mozzhevilov ÐÏ ÐÏ×ÏÄÕ "Embedded OS." ON> óÏ×ÓÅÍ ÍÅÎÑ ÚÁÐÕÔÁÌÉ × ÔÅÒÍÉÎÁÈ. ëÁËÏÊ ÖÅ ÜÔÏ ÇÁÒ×ÁÒÄ, ÅÓÌÉ ËÏÍÐÉÌÑÔÏÒ ON> ÍÏÖÅÔ ÒÁÚÏÂÒÁÔØÓÑ ÂÅÚ ×ÓÑËÉÈ ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÁÔÔÒÉÂÕÔÏ× × ÔÉÐÁÈ ÐÁÍÑÔÉ, ON> ÐÒÏÓÔÏ ÐÏ ÄÉÁÐÁÚÏÎÕ ÁÄÒÅÓÏ×? HÅÐÒÁ×ÉÌØÎÙÊ ËÁËÏÊ-ÔÏ ÇÁÒ×ÁÒÄ ÐÏÌÕÞÁÅÔÓÑ. ïÎÉ ÐÒÏÓÔÏ ÎÅ ÐÏÎÉÍÁÀÔ Ï ÞÅÍ ÒÅÞØ É ÔÅÂÑ ÓÐÅÃÉÁÌØÎÏ ÚÁÐÕÔÙ×ÁÀÔ.

PIC - çÁÒ×ÁÒÄ.

ïÎ ÉÍÅÅÔ ×ÓÅ ÎÅÄÏÓÔÁÔËÉ çÁÒ×ÁÒÄÁ ÐÒÉ ÒÁÂÏÔÅ Ó ÕËÁÚÁÔÅÌÑÍÉ É ×ÓÅÍ, ÞÔÏ ÉÚ ÎÉÈ ÒÁÓÔÅÔ (ÌÀÂÙÍ ÍÁÓÓÉ×ÏÍ ×ÔÞ ÓÔÒÏËÏ×ÙÍ). ëÏÍÐÉÌÑÔÏÒ ÎÉ × ÞÅÍ ÎÅ ÒÁÚÂÉÒÁÅÔÓÑ. åÍÕ ÎÁÄÏ ÕËÁÚÙ×ÁÔØ × ËÏÎÅÞÎÏÊ ÔÏÞËÅ ÏÔËÕÄÁ ÂÅÒÅÔÓÑ ÍÁÓÓÉ×. (HÅ ÄÁÊ ÂÏÇ ×ÁÒÉÁÎÔ, ÞÔÏ ÏÎ ÂÅÒÅÔÓÑ É ÏÔÔÕÄÁ É ÏÔÔÕÄÁ, ÔÏÇÄÁ ÏÎ ÂÕÄÅÔ ÇÅÎÅÒÉÔØ ÕÖÁÓÎÙÊ ËÏÄ). ON> ïÌØÇÁ WBR! Maxim Polyanskiy.

Hello, Andy!

ópÄ íÁp 16 2005, Andy Mozzhevilov ÐÉÓÁÌ Ë Maxim Polyanskiy ÐÏ ÐÏ×ÏÄÕ "Embedded OS." MP>> HÁ×ÅÒÎÏ ÐÒÉÛÌÁ ÍÏÑ ÏÞÅÒÅÄØ ÓÐÒÁÛÉ×ÁÔØ - ÍÎÏÇÏ-ÌÉ ÕÓÔÒÏÊÓÔ× MP>> ÔÉÒÁÖÁÍÉ ×ÙÛÅ 1000 ÛÔÕË ÔÙ ÓÄÅÌÁÌ É ÞÔÏ ÔÁÍ ÓÔÏÑÌÏ? AM> ôÏ ÅÓÔØ, ËÁË ÔÏÌØËÏ ÄÏÛÌÏ ÄÏ ÔÏÇÏ, ÞÔÏ Ñ ÚÎÁÀ, Á ÔÙ ÎÅÔ, AM> ÎÕÖÎÏ ÐÏÍÅÒÑÔØÓÑ ÐÉÐÉÓØËÁÍÉ × ÔÉÒÁÖÁÈ? HÅÔ. ðÒÏÓÔÏ ÒÅÁÌØÎÏ ÔÙ ÐÒÅËÒÁÓÎÏ ÚÎÁÅÛØ ÞÔÏ rtos - ÜÔÏ ÉÇÎÕÛÅÞÎÁÑ ÔÅÈÎÏÌÏÇÉÑ, É ÏÎÁ ÐÌÏÈÏ ÐÏÄÈÏÄÉÔ ÄÌÑ ÍÁÓÓÏ×ÙÈ ÕÓÔÒÏÊÓÔ× ÇÄÅ ÓÌÅÄÕÅÔ ÜËÏÎÏÍÉÔØ ÄÅÎØÇÉ É ×ÙÌÉÚÙ×ÁÔØ ËÏÄ ÏÔ ÇÌÀËÏ×. AM> ÷ ÍÏÅÊ ÔÅÍÁÔÉËÅ ÔÉÒÁÖÉ ×ÏÏÂÝÅ ÎÅ ÍÏÇÕÔ ÂÙÔØ ÏÞÅÎØ ÂÏÌØÛÉÍÉ, AM> ÎÏ ÔÙÓÑÞ ÎÅÓËÏÌØËÏ ÕÖÅ ÅÓÔØ. ÷ ÏÓÎÏ×ÎÙÈ ÔÉÒÁÖÎÙÈ ÕÓÔÒÏÊÓÔ×ÁÈ ÓÔÏÉÔ È51 AM> ÏÔ ÄÁÌÌÁÓ, É ÔÁÍ ÎÅÔ RTOS, Ï ÞÅÍ Ñ ÏÞÅÎØ ÓÏÖÁÌÅÀ, ÐÏÓËÏÌØËÕ AM> ÓÏÐÒÏ×ÏÖÄÅÎÉÅ ÜÔÉÈ ÐÒÏÅËÔÏ× ÄÏÓÔÁÔÏÞÎÏ ÔÒÕÄÏÅÍËÏÅ, ÄÁÖÅ ÎÅ ÓÍÏÔÒÑ ÎÁ AM> ÔÏ, ÞÔÏ ÏÎÉ ×ÓÅ ÎÁÐÉÓÁÎÙ ÎÁ ÓÑÈ. ÷ ÞÅÍ ÖÅ ËÏÎËÒÅÔÎÏ ÚÁËÌÀÞÁÅÔÓÑ ÔÒÕÄÏÅÍËÏÓÔØ? íÎÅ ËÁÖÅÔÓÑ ÔÒÕÄÏÅÍËÏÓÔØ - ÜÔÏ ËÏÇÄÁ Õ ÔÅÂÑ ÎÅ ÆÌÅÛÅ×ÙÊ ËÒÉÓÔÁÌ Ó ISP Á ÚÁÐÁÑÎÎÁÑ × ÐÒÉÂÏÒ ÏÄÎÏËÒÁÔËÁ. üÔÏ-ÖÅ ÎÁÄÏ ×ÙÐÁÑÔØ ÅÅ ÉÚ ËÁÖÄÏÇÏ ÐÒÉÂÏÒÁ, É ÚÁÐÁÑÔØ ÞÅÇÏ ÐÏÎÏ×ÅÅ Ó flash. óÏÐÒÏ×ÏÖÄÅÎÉÅ ÞÅÇÏ ÌÉÂÏ c×ÏÅÇÏ Õ ÏÂÙÞÎÙÈ ÌÀÄÅÊ ÎÅ ×ÙÚÙ×ÁÅÔ ÎÉËÁËÉÈ ÔÒÕÄÎÏÓÔÅÊ. åÓÌÉ ÎÅ È×ÁÔÁÅÔ ÐÁÍÑÔÉ - ÔÁË ÜÔÏ ÄÅÊÓÔ×ÉÔÅÌØÎÏ óóúâ ÎÁ çÁÒ×ÁÒÄÅ ÐÉÓÁÔØ ÎÁ óÉ. AM> åÓÌÉ ÂÙ ÔÏÇÄÁ Ñ ÏÂÌÁÄÁÌ ÔÅÍÉ ÖÅ ÚÎÁÎÉÑÍÉ, ËÁË ÓÅÊÞÁÓ, ÔÁÍ ÂÙ ÓÔÏÑÌ AM> ÍÉÎÉÍÕÍ 16-ÂÉÔÎÉË É RTOS, ÐÏÔÏÍÕ ÞÔÏ ÐÏ ÂÏÌØÛÏÍÕ ÓÞÅÔÕ ÃÅÎÁ ÜÔÏÇÏ AM> ÐÒÏÃÅÓÓÏÒÁ ÐÒÏÓÔÏ ÔÏÎÅÔ × ÓÅÂÅÓÔÏÉÍÏÓÔÉ ×ÓÅÇÏ ËÏÍÐÌÅËÓÁ. óËÏÒÅÅ ×ÓÅÇÏ ÅÇÏ ÔÏÇÄÁ ÐÒÏÓÔÏ ÎÅÂÙÌÏ ËÁË É ÒÔÏÓ. AM> é ÓÔÏÉÔ ÏÎ $5 ÉÌÉ $50 - ÎÅÔ ÎÉËÁËÏÊ ÒÁÚÎÉÃÙ. 5*1000=5000 50*1000=50000 üÔÏ ÓÅÊÞÁÓ ÕÖÅ × ÄÅÔÓËÏÍ ÓÁÄÕ ÐÒÏÈÏÄÑÔ × 5 ÌÅÔ. åÓÌÉ ÎÅÔ ÎÉËÁËÏÊ ÒÁÚÎÉÃÙ - 45ÔÕÅ× ÍÏÖÅÛØ ×ÙÓÌÁÔØ ÍÎÅ ÐÏÞÔÏ×ÙÍ ÐÅÒÅ×ÏÄÏÍ. AM>>> ðÏÓÍÏÔpÉ ÃÅÎy ÎÁ LPC2131. MP>> ðÏÓÍÏÔÒÅÌ - ÓÐÁÓÉÂÏ. HÅ ÒÁÃÉÏÎÁÌØÎÙÊ ËÒÉÓÔÁÌ, ÎÏÇ ÍÎÏÇÏ, ÐÁÍÑÔÉ MP>> ËÏÔ ÎÁÐÌÁËÁÌ, 32Ë ÄÌÑ ARM - ÜÔÏ ÂÕÄÅÔ ÍÅÌËÁÑ ÍÉÇÁÌËÁ MP>> Ó×ÅÔÏÄÉÏÄÁÍÉ. AM> á × ðéë ÓËÏÌØËÏ? ÷ 16F877 8ë-ÓÌÏ×? ÅÓÌÉ ÐÁÍÑÔØ ÎÅ ÉÚÍÅÎÑÅÔ? AM> ôÏ ÅÓÔØ ÐÏ ÓÌÏ×ÁÍ × 2 ÒÁÚÁ ÍÅÎØÛÅ ÞÅÍ 32ë × thumb ÒÅÖÉÍÅ ARM. ôÙ ÏÐÑÔØ ÓÒÁ×ÎÉ×ÁÅÛØ × ÌÏ ÍÑÇËÏÅ É ÔÅÐÌÏÅ. ÷ ÞÁÓÔÎÏÓÔÉ × ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÔÙ ÐÙÔÁÅÛØÓÑ ÓÒÁ×ÎÉÔØ ÇÁÒ×ÁÒÄ É óé ÏÒÉÅÎÔÉÒÏ×ÁÎÎÙÊ æÏÎ-HÅÊÍÁÎ! ôÁË ×ÏÔ ÓÍÙÓÌ çÁÒ×ÁÒÄÁ × ÔÏÍ, ÞÔÏ ÎÁ ÁÓÍÅ ÍÏÖÎÏ ÏÔÏÖÒÁÔØ ÎÁ ÎÅËÏÔÏÒÙÈ ÚÁÄÁÞÁÈ ÂÏÌÅÅ 200% ÐÁÍÑÔÉ. äÌÑ æÏÎ-HÅÊÍÁÎÁ ÜÔÁ ÃÉÆÒÁ ÂÙÌÁ ÒÅÁÌØÎÁ ÒÁÚ×Å ÞÔÏ ÎÁ Z80 ×Ï ×ÒÅÍÅÎÁ ÍÁÍÏÎÔÏ× É ÎÅÏÐÒÅÄÅÌÅÎÎÏÊ ÐÒÏÃÅÓÓÏÒÎÏÊ ÏÒÉÅÎÔÁÃÉÉ. äÕÍÁÀ, ÞÔÏ ÅÓÌÉ ÔÙ ÓÕÍÅÅÛØ ×ÙÖÁÔØ ÉÚ ÐÒÏÄÕÃÉÒÕÅÍÏÇÏ ADS ó-ËÏÄÁ ÐÒÏÃÅÎÔÏ× ÔÁË 30-40 - ÍÏÖÅÛØ ÓÞÉÔÁÔØ ÓÅÂÑ ËÒÕÔÙÍ ÐÒÏÇÒÁÍÍÅÒÏÍ ÎÁ ARM ÁÓÓÅÍÂÌÅÒÅ. ïÂßÑÓÎÀ ÎÁ ÐÒÉÍÅÒÅ Ó ÍÁÓÓÉ×ÁÍÉ × ROM. x51 asm mov dptr,#ÁÄÒÅÓÓ ÍÁÓÓÉ×Á call func func: mov a,#ÓÍÅÝÅÎÉÅ ËÁËÏÇÏ-ÔÏ ÜÌÅÍÅÎÔÁ movc a,a+@dptr ... üÌÅÍÅÎÔÁÒÎÏ ÎÅ ÐÒÁ×ÄÁ-ÌÉ? õ×Ù ÄÌÑ ÔÅËÕÝÉÈ CÉ ËÏÍÐÉÌÑÔÏÒÏ× ÐÒÏÄÕËÃÉÑ ÔÁËÏÇÏ ËÏÄÁ ÎÅ ×ÏÚÍÏÖÎÁ ÔÏÌØËÏ ÐÏ ÐÒÉÞÉÎÅ çÁÒ×ÁÒÄÏÓÔÉ. ôÁË ×ÏÔ ÄÌÑ ÒÅÛÅÎÉÑ ÄÁÎÎÏÊ ÐÒÏÂÌÅÍÙ ËÏÍÐÉÌÑÔÏÒ ÏÂÑÚÁÎ ÚÎÁÔØ × ËÁËÏÍ ÔÉÐÅ ÐÁÍÑÔÉ ÎÁÈÏÄÉÔÓÑ ÍÁÓÓÉ× (ÓÔÒÏËÁ etc). äÌÑ ÜÔÏÇÏ ËÏÍÐÉÌÑÔÏÒ ÉÓÐÏÌØÚÕÅÔ ÓÔÁÎÄÁÒÔÎÕÀ ËÏÎÓÔÒÕËÃÉÀ (ÐÏÍÏÅÍÕ ÏÎÁ ÄÁÖÅ × startup

- ÓÅÊÞÁÓ ÎÅ ÐÏÍÎÀ) ×ÙÇÌÑÄÉÔ ÏÎÁ ÔÁË.

func1: switch (r5) case _ROM: mov dph,r6 mov dpl,r7 clr a movc a,a+@dptr ret; case _IRAM: mov r0,r7 mov a,@r0 ret; case _XRAM: mov dph,r6 mov dpl,r7 movx a,@dptr ret;

äÌÑ ÚÁÐÉÓÉ ÔÏÞÎÏ ÔÁËÕÀ-ÖÅ. ôÅÐÅÒØ ÐÏÓÍÏÔÒÉÍ ËÁË ×ÙÇÌÑÄÉÔ ÁÎÁÌÏÇ ×ÙÛÅÎÁÐÉÓÁÎÎÏÇÏ ÎÁ C ÐÒÏÉÚ×ÏÄÎÏÍ ËÏÄÅ.

mov r5,#_ROM mov r6,#ÁÄÒÅÓÓ ÍÁÓÓÉ×Á / 256 mov r7,#ÁÄÒÅÓÓ ÍÁÓÓÉ×Á & 256 call func func: mov tmp,r7 mov tmp1,r6 ;ÚÁÐÏÍÉÎÁÅÍ ÁÄÒÅÓ ÄÌÑ ÏÐÅÒÁÃÉÊ. mov tmp2,r5 mov r0,#ÓÍÅÝÅÎÉÅ ÜÌÅÍÅÎÔÁ mov r1,#0 call add16 ;r6:r7 += r1:r0 mov r5,rmp2 ;ËÏÍÐÉÌÑÔÏÒ ÎÅ Õ×ÅÒÅÎ ÚÁÓÒÁÌÉ ÌÉ ÍÙ R5. call func1 ; ÐÏÌÕÞÁÅÍ ÎÁÛ ÜÌÅÍÅÎÔ. ... mov r7,tmp mov r6,tmp1 mov r5,tmp2 .....

ô.Å. ËÁË ×ÉÄÉÛØ ÍÙ ÚÁÓÒÁÌÉ ×ÓÅ ÒÅÇÉÓÔÒÙ, ÓÌÏÐÁÌÉ 3 ÑÞÅÊËÉ ÏÚÕ ÐÏÄ "ÌÏËÁÌØÎÙÅ ÐÅÒÅÍÅÎÎÙÅ", É ÜÔÏ ÎÁ ÆÕÎËÃÉÉ ËÏÔÏÒÁÑ ÚÁÎÉÍÁÅÔ 2 ÓÔÒÏÞËÉ asm ÔÅËÓÔÁ. é ËÁË ÔÙ ÎÅ ÐÒÙÇÁÊ, ËÁË ÔÙ ÆÕÎËÃÉÉ ÎÅ ÉÎÌÉÎØ, ÂÅÚ _asm _endasm ÔÙ É ÂÌÉÚËÏ ÎÅ ÐÏÌÕÞÉÛØ ËÏÄÁ, ËÏÔÏÒÙÊ ×ÙÛÅ ÎÁÒÉÓÏ×ÁÎ. ÷ÅÒÎÅÍÓÑ Ë ÎÁÛÉÍ ÂÁÒÁÎÁÍ. á ÉÍÅÎÎÏ Ë ARM. ôÁË ×ÏÔ ÆÏËÕÓ × ÔÏÍ, ÞÔÏ ÜÔÁ Ó×ÏÌÏÞØ ÒÅÁÌÉÚÕÅÔ ÔÁËÕÀ ËÏÎÓÔÒÕËÃÉÀ:

ldr r1, =ÁÄÒÅÓÓ ÍÁÓÓÉ×Á bl func

func: push lr, bla bla bla ldrb r0,[r1],#ÓÍÅÝÅÎÉÅ ÜÌÅÍÅÎÔÁ ....

pop pc,bla bla bla

HÕ ÎÁ ËÒÁÑÎÑË ÏÎ ÞÕÔÏË ÐÏÍÕÔÉÔ Ó ÐÅÒÅÄÁÞÅÊ ÐÁÒÁÍÅÔÒÏ×... HÏ ÎÅ ÆÁÔÁÌØÎÏ. é ÐÏÐÒÏÂÕÊ ÔÕÔ ÞÅÇÏ Õ ÎÅÇÏ ÎÁ ÁÓÍÅ ÏÔÏÖÒÁÔØ... ðÏÔÏÍÕ, ÞÔÏ ÜÔÏ æÏÎHÅÊÍÁÎ, É ÅÍÕ ÐÏÆÉÇÕ ÇÄÅ Õ ÎÅÇÏ ÌÅÖÉÔ ÜÔÏÔ ÍÁÓÓÉ×. ôÁËÍ ÏÂÒÁÚÏÍ ÅÓÌÉ ÍÅÒÑÔØ ÚÁÄÁÞÕ Ô×ÏÉÍÉ ËÒÉÔÅÒÉÑÍÉ É ÉÎÓÔÒÕÍÅÎÔÁÍÉ - pic ÓÌÁÂÅÅ ÐÒÉÍÅÒÎÏ × 4 ÒÁÚÁ. åÓÌÉ ÍÏÉÍÉ - ÔÏ arm ÐÒÏÉÇÒÁÅÔ ÎÅÍÎÏÖËÏ ÎÁ ÂÉÔÏ×ÙÈ ÏÐÅÒÁÃÉÑÈ É ÓÏ×ÓÅÍ ÞÕÔØ ÞÕÔØ ÎÁ ÕËÁÚÁÔÅÌÑÈ (6 ÂÁÊÔ É ×ÙÒÁ×ÎÉ×ÁÎÉÅ), ×ÙÉÇÒÙ×ÁÅÔ ÎÁ ÂÁÊÔÏ×ÙÈ ÓÔÒÏËÁÈ. ÷ÏÔ × ÜÔÏÍ ÔÏ ×ÓÑ É ÚÁÇ×ÏÚÄËÁ. á ÎÏÇ ÔÏ ÂÏÌØÛÅ ;) AM> ÷ thumb ÄÕÍÁÀ ÂÕÄÕÔ ×ÐÏÌÎÅ ÓÏÉÚÍÅÒÉÍÙÅ Ó ðéëÏÍ ÏÂßÅÍÙ ÐÒÏÇÒÁÍÍ AM> ÎÁ ÁÎÁÌÏÇÉÞÎÙÈ ÚÁÄÁÞÁÈ. ôÅÐÅÒØ ÐÒÏ ÏÂßÅÍÙ. õ ÔÅÂÑ ÎÅ ÂÕÄÕÔ - ÚÒÑ ÔÁË ÄÕÍÁÅÛØ! õ ÍÅÎÑ ÔÏÖÅ ÎÅ ÂÕÄÕÔ ÎÏ ÐÏ ÄÒÕÇÏÊ ÐÒÉÞÉÎÅ (ÍÎÅ × ÇÏÌÏ×Õ ÎÅ ÐÒÉÄÅÔ ÒÅÛÁÔØ ÚÁÄÁÞÉ ÐÉËÏÍÁÎÉÉ ÎÁ arm). AM> åÓÌÉ ÚÁÄÁÞÉ ÂÕÄÕÔ ÔÒÅÂÏ×ÁÔØ ÒÁÂÏÔÙ Ó 16 É 32 ÂÉÔÎÙÍÉ ÄÁÎÎÙÍÉ, ÔÏ AM> ×ÙÉÇÒÙÛ ÐÏ ÏÂßÅÍÕ ÂÕÄÅÔ × ÓÔÏÒÏÎÕ ARM. á ×ÙÉÇÒÙÛ ÐÏ ÌÀÂÏÍÕ ÂÕÄÅÔ × ÓÔÏÒÏÎÕ ARM Ó ËÁËÉÍÉ ÂÙ ÔÁÍ ÄÁÎÎÙÍÉ ÏÎ ÎÅ ÒÁÂÏÔÁÌ ;) MP>> âÙÌ ÂÙ ÏÎ × soic 28, AM> ñ ÂÙ ÔÏÖÅ ÄÌÑ ÎÅËÏÔÏÒÙÈ ÐÒÏÅËÔÏ× ÐÒÅÄÐÏÞÅÌ ÉÍÅÔØ ÈÏÔÑ ÂÙ qfp48. AM> HÏ ÅÓÔØ ÔÏ - ÞÔÏ ÅÓÔØ. é ÐÏ ÏÔÎÏÛÅÎÉÀ ÃÅÎÁ/(ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ + ÏÂßÅÍ AM> RAM) ÏÎ ÐÏËÒÏÅÔ ×ÓÅ ÐÉËÉ (×ÏÚÍÏÖÎÏ ËÒÏÍÅ dsPIC × ãïó AM> ÚÁÄÁÞÁÈ), _ÅÓÌÉ_ÎÅ_ÎÕÖÎÏ_ÍÉËÒÏÐÏÔÒÅÂÌÅÎÉÅ_. ïÎÏ ÎÕÖÎÏ ÒÅÄËÏ, ÒÁÚÍÅÒ ×ÓÅ-ÖÅ ÉÇÒÁÅÔ ÚÎÁÞÅÎÉÅ, ÐÏÔÏÍÕ, ÞÔÏ ÐÏÄ soic É ÐÌÁÔÁ ÉÚ ÇÏ×ÎÁ ÄÅÌÁÅÔÓÑ, É ÍÏÎÔÁÖÎÉËÉ ËÒÉ×ÏÒÕËÉÅ ÓÐÁÑÔØ ÍÏÇÕÔ. AM> ëÁË ÖÅ ÜÔÏ ÔÙ ÎÁ ÐÉËÁÈ ÕÍÕÄÒÑÅÛØÓÑ ÖÉÔØ × ÒÁÍËÁÈ 8ëW ÐÚÕ É ÎÁËÌÅÐÁÔØ AM> ÞÔÏ ÕÇÏÄÎÏ, É ÅÝÅ ÒÅÓÕÒÓÏ× ÏÓÔÁÅÔÓÑ, ÎÁ ÎÁ 32ë ÄÌÑ ARM ÍÏÖÅÛØ ÔÏÌØËÏ AM> Ó×ÅÔÏÄÉÏÄÎÕÀ ÍÉÇÁÌËÕ? áÇÁ, ×ÙÛÅ ÒÁÓÐÉÓÁÎÏ ÐÏÞÅÍÕ. MP>> ÔÏÍÕ-ÖÅ ÐÅÒÅÆÉÒÉÑ ÎÅÒÁÃÏÎÁÌØÎÁ, ËÁËÏÇÏ ÄØÑ×ÏÌÁ × arm ÎÕÖÎÙ i2c MP>> ÍÁÓÔÅÒ É spi, ÅÓÌÉ ÉÈ ÂÙÓÔÒÅÅ ÓÁÍÏÍÕ ÎÁÐÉÓÁÔØ, ÞÅÍ ÒÁÚÂÉÒÁÔÓÑ ËÁË MP>> ÒÁÂÏÔÁÀÔ ÎÁËÒÉÓÔÁÌÎÙÅ, AM> ôÏ ÅÓÔØ, ÞÕËÞÁ ÎÅ ÞÉÔÁÔÅÌØ - ÞÕËÞÁ ÐÉÓÁÔÅÌØ. ë ÓÏÖÁÌÅÎÉÀ ÐÅÒÉÆÅÒÉÑ ÓÏ×ÒÅÍÅÎÎÙÈ ÄÏÓÔÕÐÎÙÈ ARM ÍÑÇËÏ ÇÏ×ÏÒÑ ÏÓÔÁ×ÌÑÅÔ ÖÅÌÁÔØ ÌÕÞÛÅÇÏ. CÍÙÓÌ ÒÅÁÌÉÚÁÃÉÉ ÔÒÁÎÓÉ×ÅÒÁ i2c ÄÌÑ arm - ÏÞÅÒÅÄÎÏÊ ÂÒÅÄ. ÚÁÄÁÞÉ Ó i2c ÐÁÍÑÔØÀ × ÏÓÎÏ×ÎÏÍ ÒÅÛÁÀÔÓÑ ÎÁ ÐÉËÏÍÁÎÉÉ. MP>> Á ×ÏÔ ÔÏÇÏ-ÖÅ ÍÏÄÎÏÇÏ ÎÙÎÅ usb target ÎÅÔÕ. úÁÔÏ can ÅÓÔØ, MP>> ÈÏÔÑ ÎÁÆÉÇ ÏÎ ÔÁÍ ÎÕÖÅÎ, ËÔÏ × ÚÄÒÁ×ÏÍ ÕÍÅ ÜÔÏÔ arm × ÍÁÛÉÎÕ ÔÏ MP>> ÐÏÓÔÁ×ÉÔ?! AM> ðÒÉÞÅÍ ÔÕÔ ÍÁÛÉÎÁ? éÌÉ ÍÙ ÎÅ × ËÕÒÓÅ, ÞÔÏ CAN ÉÓÐÏÌØÚÕÅÔÓÑ ÎÅ ÔÏÌØËÏ AM> × Á×ÔÏÍÏÂÉÌÑÈ? åÓÌÉ ÄÁÖÅ × ÍÁÛÉÎÕ, ÞÅÍ ÏÎ ÔÁËÉÍ ÏÂÌÁÄÁÅÔ, ÉÌÉ AM> ÎÁÏÂÏÒÏÔ ÎÅÏÂÌÁÄÁÅÔ, ÞÔÏ ÅÇÏ ÎÅÌØÚÑ ÔÕÄÁ ÓÔÁ×ÉÔØ? çÌÀÞÎÏÓÔØÀ. HÕ ÜÔÏ ËÁË × AVR ÐÏÍÎÉÛØ ËÏÇÄÁ ÒÅÓÅÔ ÎÁ ËÏÎÄÅÒÁÈ - ÐÁÍÑÔØ ÐÒÏÇÒÁÍÍ ÓÌÅÔÁÅÔ ;)

AM> wbr, Andy WBR! Maxim Polyanskiy.

Hello, Dima!

ópÄ íÁp 16 2005, Dima Orlov ÐÉÓÁÌ Ë Olga Nonova ÐÏ ÐÏ×ÏÄÕ "Embedded OS." DO> ÞÅÍ ÐÕÂÌÉÞÎÏ ÁÈÉÎÅÀ ÎÅÓÔÉ. þÔÏ ÖÅ ÄÏ ËÏÍÐÉÌÑÔÏÒÁ PICC ÏÔ HighTech, ÔÏ DO> ÕËÁÚÁÔÅÌÉ × ÎÅÍ ÎÁ ÏÂßÅËÔ × ram É × rom - ÎÅÓÏ×ÍÅÓÔÉÍÙ. ÷ PIC16 - DO> ÔÏÞÎÏ, × pic18 - ÎÅ ÓÍÏÔÒÅÌ ÚÁ ÎÅÎÁÄÏÂÎÏÓÔØÀ. õËÁÚÁÔÅÌÉ ÓÁÍÏ ÓÏÂÏÊ ÎÅÓÏ×ÍÅÓÔÉÍÙ ÎÏ ÐÏÍÏÅÍÕ ÜÔÁ ÄÒÑÎØ ÔÏÖÅ ÕÍÅÅÔ ÇÅÎÅÒÉÔØ ÖÕÔËÉÊ ËÏÄ ÎÁ ×ÓÅ ÓÌÕÞÁÉ ÖÉÚÎÉ (ÑÌÑ iar). DO> ÷ ÔÏ ÖÅ ×ÒÅÍÑ ÓÔÁÒÙÊ IAR'Ï×ÓËÉÊ ËÏÍÐÉÌÑÔÏÒ ÄÌÑ 8051 ÉÍÅÌ ÔÒÅÈÂÁÊÔÏ×ÙÊ DO> ÕËÁÚÁÔÅÌØ (ÐÏÄÒÏÂÎÏÓÔÅÊ ÕÖÅ ÎÅ ÐÏÍÎÀ, ×ÏÚÍÏÖÎÏ ÔÏÌØËÏ × ÎÅËÏÔÏÒÙÈ DO> ÍÏÄÅÌÑÈ ÐÁÍÑÔÉ) ðÏÄÒÏÂÎÏÓÔÉ Ñ ËÁË ÒÁÚ ÔÏÌØËÏ ÞÔÏ ÏÐÉÓÁÌ. HÏ ÐÏÞÅÍÕ ÓÔÁÒÙÊ? ÷ ÎÏ×ÏÍ × ÜÔÏÍ ÐÌÁÎÅ ÉÚÏÂÒÅÌÉ ÞÔÏ-ÔÏ ÎÏ×ÏÅ? DO> ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×. WBR! Maxim Polyanskiy.

Wed Mar 16 2005 23:48, Olga Nonova wrote to Andy Mozzhevilov:

AM>> ïÎÉ ÆÁÔÁÌØÎÙ ÄÌÑ óÉ ÐÒÏÇÒÁÍÍÙ, ÎÁÐÉÓÁÎÏÊ ÔÁËÉÍÉ ÐÒÏÇÒÁÍÍÉÓÔÁÍÉ ËÁË ÷Ù. AM>> ÷ÐÒÏÞÅÍ, ÄÁÖÅ ÎÅ ×ÁÖÎÏ, ËÁËÏÊ ÐÒÏÇÒÁÍÍÙ ÎÁ óÉ,áóí,ðÁÓËÁÌØ,PLM. AM>> HÕÖÎÏ ÚÁÂÏÔÉÔØÓÑ Ï ÔÏÍ, ÞÔÏ Ó ÎÅ ÎÕÌÅ×ÏÊ ×ÅÒÏÑÔÎÏÓÔØÀ ÉÚ ËÁÎÁÌÁ ÐÒÉÄÅÔ AM>> ×ÓÅ ÞÔÏ ÕÇÏÄÎÏ.

ON> óÍÁÈÉ×ÁÅÔ ÎÁ ÚÁËÌÑÔÉÅ. á ÅÓÌÉ ÐÒÁËÔÉÞÅÓËÉ: ËÁË ÷Ù ÓÏÂÉÒÁÅÔÅÓØ ON> ÐÒÅÄÕÓÍÏÔÒÅÔØ É ÂÏÒÏÔØÓÑ "ÓÏ ×ÓÅÍ, ÞÔÏ ÕÇÏÄÎÏ"? ðÏÈÏÖÅ ÎÁ ÔÒÅÔØÅ ÚÁÄÁÎÉÅ ON> é×ÁÎÕÛËÅ-ÄÕÒÁÞËÕ.

÷ÓÅ ÎÏÒÍÁÌØÎÅ ÐÒÏÔÏËÏÌÙ ÔÁË ÕÖ ÐÏÓÔÒÏÅÎÙ, ÞÔÏ ÂÏÒÀÔÓÑ ÓÏ ×ÓÅÍ, ÞÅÍ ÕÇÏÄÎÏ. ôÏ ÅÓÔØ Ó ÌÉÎÉÉ ÍÏÖÅÔ ÐÒÉÊÔÉ ×ÏÏÂÝÅ ÐÏÌÎÁÑ ÁÈÉÎÅÑ. ðÒÏÇÒÁÍÍÁ, ÒÅÁÌÉÚÕÀÝÁÑ ÐÒÏÔÏËÏÌ ÄÏÌÖÎÁ ÂÙÔØ ÎÁ ÜÔÏ ÒÁÓÞÉÔÁÎÁ. åÓÌÉ ÷Ù ÜÔÏÇÏ ÎÅ ÐÏÎÉÍÁÅÔÅ, ×ÁÍ ÕÖÅ ÓËÁÚÁÌÉ - ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÅ - ÎÅ ÄÅÌÏ ×ÁÛÅÊ ÖÉÚÎÉ. íÏÖÅÔ ÅÝÅ ÎÅ ÐÏÚÄÎÏ ÓÍÅÎÉÔØ ÐÒÏÆÅÓÓÉÀ, É ÄÏ ËÕÞÉ ÐÒÅËÒÁÔÉÔØ ÂÒÅÄ É ÁÈÉÎÅÀ × ËÏÎÆÅÒÅÎÃÉÉ. á ÔÏ ÕÒÏ×ÅÎØ ÜÔÏÇÏ ÂÒÅÄÁ ÕÖÅ ÎÁÞÁÌ ÐÒÅ×ÙÛÁÔØ ÕÒÏ×ÅÎØ, ÇÅÎÅÒÉÍÙÊ ÍÅÓÔÎÙÍÉ ÁËÁÄÅÍÉËÁÍÉ. úÁ ÓÉÍ ÓÞÉÔÁÀ, ÞÔÏ ÂÏÌÅÅ ÔÒÁÔÉÔØ ×ÒÅÍÑ ÎÁ ÏÔ×ÅÔÙ ÷ÁÍ ÎÅ ÉÍÅÅÔ ÓÍÙÓÌÁ.

wbr, Andy

Wed Mar 16 2005 08:41, Alexey Stekolshikow wrote to Andy Mozzhevilov:

MP>> ëÓÔÁÔÉ ÎÉËÔÏ ÎÅ ÚÁÄÕÍÙ×ÁÌÓÑ ÐÏÞÅÍÕ MCS51 ÔÁË ÄÏÌÇÏ ÖÉ×ÅÔ É ÎÅ ÄÕÍÁÅÔ MP>> ÕÍÉÒÁÔØ?

AS> õÇÕ. áÔÍÅÌ ÁÎÏÎÓÉÒÏ×ÁÌ 1-cycle x51 MCU. ðÏËÁ ÔÏÌØËÏ ÚÁÍÅÎÉÔÅÌÉ 2051 AS> É 4051, ÎÏ ÏÂÅÝÁÀÔ ×ÓÀ ÌÉÎÅÊËÕ.

HÁÐÏÍÉÎÁÅÔ ÉÓÔÏÒÉÀ ubicom, ×ÙÐÕÓËÁÀÝÕÀ ÒÁÚÏÇÎÁÎÎÙÅ ÐÉËÉ. ðÒÉÞÅÍ ÃÅÎÁ ÜÔÉÈ ÒÁÚÏÇÎÁÎÎÙÈ ×ÅÒÓÉÊ Õ×ÅÌÉÞÉ×ÁÅÔÓÑ, ÐÏÔÒÅÂÌÅÎÉÅ ÔÏÖÅ, É ÕÖÅ ÚÁÛËÁÌÉÌÁ ÚÁ ÃÅÎÙ É ÐÏÔÒÅÂÌÅÎÉÅ ÍÅÌËÉÈ ARM7TDMI.

wbr, Andy

Hello Oleksandr.

16 Mar 05 22:18, you wrote to "Olga Nonova":

OR> From: "Oleksandr Redchuk" snipped-for-privacy@real.kiev.ua>

OR> 16-Mar-05 10:33 Olga Nonova wrote to Leha Bishletov:

LB>>> ðÏÒÔÉÒÏ×ÁÎÉÅ ÔÁËÉÈ LB>>> ÐÒÏÇÒÁÍÍ Ó ÏÄÎÏÊ ÐÌÁÔÆÏÒÍÙ ÎÁ ÄÒÕÇÕÀ Ñ ÓÞÉÔÁÀ ïþåHø ÓÌÏÖÎÙÍ. õ LB>>> ÔÅÂÑ ÅÓÔØ ÏÐÙÔ ÐÏÒÔÉÒÏ×ÁÎÉÑ Ô×ÏÅÇÏ ASM Ó AVR ÎÁ "ÎÅ AVR"?

ON>> ôÁËÏÇÏ ÏÐÙÔÁ Õ ÍÅÎÑ ÎÅÔ. äÁ É ÚÁÞÅÍ ÍÅÎÑÔØ ÛÉÌÏ ÎÁ ÍÙÌÏ? óÐÅËÔÒÁ ON>> ÍÏÄÅÌÅÊ AVR È×ÁÔÉÔ ÅÝÅ ÌÅÔ ÎÁ 10 ÐÒÁËÔÉÞÅÓËÏÊ ÄÅÑÔÅÌØÎÏÓÔÉ.

OR> ôÏÇÄÁ ÚÁÞÅÍ ÂÙÌÏ ÐÒÉ×ÏÄÉÔØ ÐÒÉÍÅÒÙ ÍÁËÒÏÓÏ× ËÁË ÓÐÏÓÏ õêôé ïô OR> íHåíïHéë ëïHëòåôHïçï ðòïãåóóïòá ó ãåìøà ì³çëïóôé ðåòåHïóá.

" úÎÁÞÉÔÅÌØÎÏ ÌÅÇÞÅ ÐÅÒÅÎÏÓÉÔÓÑ ÐÒÉÎÃÉÐÉÁÌØÎÏÓÔØ. ïÎÁ ÄÏÐÕÓËÁÅÔ ÏÔÓÔÁÉ×ÁÎÉÅ 2È ÐÏÚÉÃÉÊ ÏÄÎÏ×ÒÅÍÅÎÎÏ, ÐÏÜÔÏÍÕ ÓÐÏÒÙ ÓÔÁÌÉ ÂÏÌÅÅ ÉÎÔÅÒÅÓÎÙÍÉ ××ÉÄÕ ÐÅÒÅÍÅÎÙ ÓÐÏÒÑÝÉÍÉ Ó×ÏÉÈ ×ÚÇÌÑÄÏ× ×Ï ×ÒÅÍÑ ÓÐÏÒÁ, ÞÔÏ ÄÅÌÁÅÔ ÅÇÏ ÔÒÕÄÎÙÍ ÄÌÑ ÎÁÂÌÀÄÅÎÉÑ, ÎÏ ÂÏÌÅÅ ËÏÒÏÔËÉÍ É ÎÁÓÙÝÅÎÎÙÍ."

í. ö×ÁÎÅÃËÉÊ. XX ×ÅË.

Roman

Thu Mar 17 2005 06:43, Andy Mozzhevilov wrote to Olga Nonova:

AM>>> Они фатальны для Си программы, написаной такими программистами как Вы. AM>>> Впрочем, даже не важно, какой программы на Си,АСМ,Паскаль,PLM. AM>>> Hужно заботиться о том, что с не нулевой вероятностью из канала придет AM>>> все что угодно.

ON>> Смахивает на заклятие. А если практически: как Вы собираетесь ON>> предусмотреть и бороться "со всем, что угодно"? Похоже на третье задание ON>> Иванушке-дурачку.

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

AM> За сим считаю, что более тратить время на ответы Вам не имеет смысла.

Присоединяюсь

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

Hello, Alexander!

þÅÔ íÁp 17 2005, Alexander Golov ÐÉÓÁÌ Ë Olga Nonova ÐÏ ÐÏ×ÏÄÕ "Embedded OS." AG> PS: ñ ×ÓÅÇÄÁ ÕÄÉ×ÌÑÌÓÑ, ÐÏÞÅÍÕ ÎÅÌØÚÑ ÂÙÌÏ ÓÒÁÚÕ ÓÄÅÌÁÔØ, ÞÔÏÂÙ ÜÔÏ AG> ×ÙÐÏÌÎÑÌÏÓØ ÁÐÐÁÒÁÔÎÏ: ÐÒÉ ÁÄÒÅÓÁÃÉÉ ÐÏ FSRx ×ÙÛÅ 0x1000, ÏÂÒÁÝÅÎÉÅ AG> ÛÌÏ Ë ÐÒÏÇÒÁÍÍÎÏÊ ÐÁÍÑÔÉ (ÐÕÓÔØ É ÃÅÎÏÊ ÄÏÐÏÌÎÉÔÅÌØÎÏÇÏ ÃÉËÌÁ), ÂÅÚ AG> ×ÓÑËÉÈ tblptrx É tblrd. ðÏÔÏÍÕ, ÞÔÏ ÔÏÇÄÁ ÂÙ ÜÔÏ ÂÙÌ C-ÏÒÉÅÎÔÉÒÏ×ÁÎÎÙÊ çÁÒ×ÁÒÄ. á ÐÏÄÏÂÎÏÇÏ ÂÒÅÄÁ ÐÒÉÒÏÄÁ ÅÝÅ ÎÅ ×ÉÄÅÌÁ. óÐÅÃÉÁÌØÎÏ ÚÁÔÏÞÅÎÎÙÅ ÐÏÄ ÒÅÁÌÉÚÁÃÉÀ ËÏÍÐÉÌÑÔÏÒÁ ËÏÍÁÎÄÙ - ÜÔÏ ÕÄÅÌ ÏÔÄÅÌØÎÙÈ ÒÅÁÌÉÚÁÃÉÊ ÁÒÈÉÔÅËÔÕÒÙ æÏÎHÅÊÍÁÎÁ. AG> áÌÅËÓÁÎÄÒ çÏÌÏ×, íÏÓË×Á, snipped-for-privacy@mail.ru WBR! Maxim Polyanskiy.

Hello Michael!

16 Mar 05 19:28, you wrote to Olga Nonova:

MB> ðpÅÖÄÅ ×ÓÅÇÏ, ÎÁÓޣÔ ÇÌÀÞÎÏÓÔÉ É ÎÅÇÌÀÞÎÏÓÔÉ ÂÉÂÌÉÏÔÅË. ñ ÞÔÏ-ÔÏ MB> ÎÅ ÓÌÙÛÁÌ ÐpÏ ÇÌÀÞÎÙÅ ÂÉÂÌÉÏÔÅËÉ - ÎÉ × ÂÏpÌÁÎÄÏ×ÓËÉÈ ÐÁËÅÔÁÈ ÄÌÑ MB> ÐÅpÓÏÎÁÌÏË, ÎÉ × ëÅÊÌÅ, ÎÉ × éáòÅ. (äpyÇÉÍÉ ÉÚÄÅÌÉÑÍÉ ËÁË-ÔÏ ÎÅ õ ÍÅÎÑ × ÅÍÂÅÄÎÕÔÏÍ ÄÉ×ÁÊÓÅ ÐÒÉÍÅÎÑÌÓÑ ÂÏÒÌÁÎÄ. ôÁË ×ÏÔ, atan2(1.0,0.0) ÄÁ×ÁÌ Exception ×ÍÅÓÔÏ ÐÉ/ÐÏÐÏÌÁÍ. ÷ ÒÅÚÕÌØÔÁÔÅ, ÍÎÅ ÐÒÉÛÌÏÓØ ×ÙËÒÕÞÉ×ÁÔØÓÑ Ó ÞÅÍ-ÔÏ ×ÒÏÄÅ Ó×ÅÄÅÎÉÑ ÕÇÌÁ × ÄÉÁÐÁÚÏÎ ÏÔ 0 ÄÏ ÐÉ/4.

Anatoly

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required