Embedded OS

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

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

Sat Mar 19 2005 14:43, George Shepelev wrote to Olga Nonova:

ON>> Результат будет обрезан до размера 255.

GS> Hо это, по-твоему, проблемой не будет являться? Hикаких хлопот, просто GS> часть нужной инфы куда-то тихонько пропала ;)))

Hе фатально.

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

GS> Понимаешь, в чём дело, Olga, меня больше заботит получение _корректного_ GS> результата, а не то, чтобы не сбился абстрактный "ход программы". Посему GS> в критичных местах делаются проверки на переполнение и принимаются меры GS> на случай "нештатных ситуаций". Это при наличии минимального желания GS> можно делать с любыми строками, как сишными, так и паскалевскими.

Полностью согласна, что проверки необходимы. Однако, чтобы эти проверки сработали, нужно как минимум, чтобы выполнение программы сумело до них добежать. Hа Паскале -гарантировано достигнешь проверок, а с сишными z-строками можно зависнуть по дороге или вообще обвалить всю программу.

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

GS> Если программист не умеет программы писать, результат в любом случае GS> будет никудышний. По мне, пусть лучше такая программа сразу "рушится", GS> чем создаёт впечатление "работы"...

Я говорю не про "неумение писать программы", а про суровую необходимость использовать манеджер динамического распределения памяти для z-строк. Если его нет, как это поголовно случается в С-компиляторах для мелких однокристаллок, то жди неприятностей независимо от умеешь или не умеешь писать программы.

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

ðÒÉ×ÅÔÓÔ×ÕÀ ÷ÁÓ, ÍÎÏÇÏÕ×ÁÖÁÅÍÙÊ/ÁÑ/ÏÅ Kirill! ÷cË íÁp 20 2005 00:36, Kirill Frolov ÐÉÓÁÌ Ë Dmitri Litovchenko:

DL>> ---- procedure QuickSort(SortList: PPointerList; L, R: Integer; DL>> SCompare: TListSortCompare); while SCompare(SortList^[I], P) DL>> < 0 do ïÎÏ? KF> çÄÅ ÄÅËÌÁÒÁÃÉÑ TListSortCompare?

TListSortCompare = function (Item1, Item2: Pointer): Integer;

KF> ñ ×ÏÏÂÝÅ-ÔÏ ÐÁÓËÁÌØ ÉÍÅÌ ××ÉÄÕ, Á ÎÅ ÒÁÚÎÏÏÂÒÁÚÎÙÅ ÅÇÏ ÒÁÓÛÉÒÅÎÉÑ.

á Ñ ÉÍÅÀ × ×ÉÄÕ ×ÏÚÍÏÖÎÏÓÔÉ Delphi ÏÄÎÏÊ ÉÚ ÐÏÓÌÅÄÎÉÈ ×ÅÒÓÉÊ ;). ó ÎÁÉÌÕÞÛÉÍÉ ÐÏÖÅÌÁÎÉÑÍÉ, Dmitri.

Hello, Olga Nonova !

С твоими талантами - легко.

Бред сивой кобылы. Совершенно очевидно что разницу между статической, автоматической и динамической памятью ты представляешь себе также, как и разницу между Гарвардом и фон-Hейманом. То, что в С для работы со строками используются указатели не значит, что они на динамически распределенную память указывают.

Откуда тебе-то знать чего ждать, когда умеешь писать программы?

С уважением, Дима Орлов.

20-Mar-05 03:26 Kirill Frolov wrote to Dmitri Litovchenko:

KF> Калифорния. Многие знают всю операционную систему космических KF> кораблей "Пионер" и "Вояджер" наизусть. С помощью симбиоза KF> больших наземных фортрановских программ и маденьких бортовых KF> ассемблерных, они могут совершать невероятные чудеса в нави- KF> гации и импровизации - такие, как попасть в окно шириной 10 км KF> в кольце Сатурна после 6-ти лет полета в космосе и починить или

Кстати, а они (вояджеры) ещё летят - с 77-го года-то... И докладывают, что намеряли.

Только в штатах собираются прикрыть финансирование на работу с ними, денюжку сэкономить.

wbr,

KF>> Какой бы ни был год на пороге, паскаль от этого не становится чем-то KF>> иным. Фирма Borland никакого отношения к паскалю, по большому счёту, KF>> не имеет. Думаю не ошибусь, если скажу, что в момент появления паскаля KF>> никаких борландов не существовало даже.

NAS> Борланд - автор распространённого диалекта Паскаля. С расширениями типа NAS> юнитов и прочего.

Борланд не только сделала одну из реализация Паскаля, она ВЫЛЕЗЛА ЗА СЧЕТ ПАСКАЛЯ. Первый продукт, продаваемый фирмой - турбопаскаль (до этого продаваемый автором шароварно) шел "на ура" весьма заслуженно. Кроме всего это один из первых вариантов не только языка (хотя компилятор ТП действительно хорош по сравнению с некоторыми другими), а интегрированной среды, к тому же мультиплатформенной (он был и на CP/M и наверное в иных системах). Так что Борланд сделала для паскаля наверное больше, чем кто либо еще. Хотя при рождении языка (где то 68год?) не присутствовала, но ИМХО вдохнула в язык вторую(если не первую) жизнь. Во всякомм случае еслибы не ТП, я бы сейчас вероятно паскаля так и не знал толком. Потому как мне непонятно зачем он нужен при наличии С :).

.

Hello, Yauhen Kharuzhy !

ïÓÔÁÌÏÓØ ×ÙÑÓÎÉÔØ ÞÔÏ ÉÍÅÎÎÏ ÔÙ ×ÉÄÅÌ... ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×.

Hello, Kirill Frolov !

âÏÒÌÁÎÄ ËÁË ÒÁÚ Ó×ÏÉ ÐÏÄÅÌÉÑ ÐÏÓÔÁ×ÌÑÅÔ Ó ÉÓÈÏÄÎÉËÁÍÉ ÂÉÂÌÉÏÔÅË. ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×.

Hi Nickita!

В воскpесенье, 20 маpта 2005 04:34:38, Nickita A Startcev писал to Kirill Frolov:

KF>> Какой бы ни был год на пороге, паскаль от этого не становится KF>> чем-то иным. Фирма Borland никакого отношения к паскалю, по KF>> большому счёту, не имеет. Думаю не ошибусь, если скажу, что в KF>> момент появления паскаля никаких борландов не существовало даже.

NS> Борланд - автор распространённого диалекта Паскаля. С расширениями NS> типа юнитов и прочего.

Расширения типа юнитов, стрингов и прочего были придуманы и реализованы задолго до Борланда, в UCSD.

Sincerely, Vadim.

19-Mar-05 00:24 Alexey V Bugrov wrote to Harry Zhurov:

AB> Хинт: в этой прагме указываешь не адрес вектора, а некий произвольный AB> адрес вне AB> таблицы векторов. Или вообще не AB> указываешь эту прагму, пусть функция будет там где она есть, а вектор AB> останется не тронутым. В таблице векторов AB> располагаешь врапер на асме, который делает описанную мной работу и AB> вызывает этот самый обработчик (OS_ISR), AB> расположенный по адресу, указанному в прагме.

Да, в gcc без проблем - аттрибут interrupt может быть прилеплен к любой функции, просто для предопределённых имён (скажем, SIG_OVERFLOW0) в соответствующем конкретнмоу кристаллу io*.h через #define сделана замена имени на соответствующий номер вектора, а в запускалке стоят jmp-ы на эти имена. Т.е. SIGNAL(SIG_OVERFLOW0) получит управление при соответствующем прерывании, а SIGNAL(foo) просто будет функцией, оформленной как ISR. Но если внутри этого foo вызвать любую функцию (os_raise_event, например), то в foo будут сохранены/восстановлены все те регистры, которые для подпрограмм сичтаются временными (вызываемая не обязана сохранять). Где-то около половины регистров. Т.е. экономия по сравнению с полным сохранением есть, но менее радикальная, чем хотелось бы :-), так как, например, уже упоминавшийся SIGNAL(SIG_UART_RECV) с выделением пакетов из рамки SLIP сохраняет/восстанавливает их на 10 штук меньше. Крохоборство, конечно, каких-то 40 циклов... Но у меня сейчас этот обработчик (без вызова каких-либо функций) занимает около 70 циклов.

wbr,

Olga, ÔÙ Åݣ ÚÄÅÓØ ÓÉÄÉÛØ?

÷ÏÓËÒÅÓÅÎØÅ íÁÒÔ 20 2005 00:20, Olga Nonova wrote to George Shepelev:

GS>> HÁ ޣÍ ÐÒÉËÁÖÅÔÅ ×ÁÑÔØ ÐÒÏÇÒÁÍÍÙ ÄÌÑ ÓÅÍÅÊÓÔ×Á AVR? HÁ ÐÁÓËÁÌÅ? GS>> URL, ÇÄÅ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ ËÏÍÐÉÌÑÔÏÒ ÍÏÖÎÏ ×ÚÑÔØ, ÐÏÖÁÌÕÊÓÔÁ! ON> ôÁË, ×ÅÄØ × ÜÔÏÍ ×ÓÑ É ÐÒÏÂÌÅÍÁ!

÷ ÎÅÓÏ×ÅÒÛÅÎÓÔ×Å ÍÉÒÏÚÄÁÎÉÑ? ;)

HÅÔ, ÐÏÄ ÐÒÏÓÔÅÎØËÉÅ ÎÅÏÔ×ÅÔÓÔ×ÅÎÎÙÅ ÚÁÄÁÞËÉ ÐÏÄÅÌËÁ ÎÅÐÌÏÈÁÑ. çÌÁ×ÎÏÅ, ÄÅۣ×ÁÑ. ôÁË ÔÁÍ ÍÏÖÎÏ É ÁÓÓÅÍÂÌÅÒÏÍ, É ÓÑÍÉ ÏÂÏÊÔÉÓØ...

çÅÏÒÇÉÊ
ðÒÉ×ÅÔ, Dima !

21 Mar 05 , 00:20 Dima Orlov ÐÉÓÁÌ Ë Yauhen Kharuzhy:

DO> ïÓÔÁÌÏÓØ ×ÙÑÓÎÉÔØ ÞÔÏ ÉÍÅÎÎÏ ÔÙ ×ÉÄÅÌ...

ñ × 10-Í ËÌÁÓÓÅ ÄÅÌÁÌ "ÐÁÓËÁÌØ ÐÏÄ 6811", ËÏÔÏÒÙÊ ÐÒÅÄÓÔÁ×ÌÑÌ ÓÏÂÏÊ ÒÅÄÁËÔÏÒ, ÓÏ×ÍÅÝÅÎÎÙÊ Ó p2c É ËÒÏÓÓ-ËÏÍÐÉÌÑÔÏÒÏÍ. :) üÔÏ ÂÙÌ ÔÁËÉ ÒÁÂÏÔÏÓÐÏÓÏÂÎÙÊ É ÔÁËÉ ðÁÓËÁÌØ.

. ó Õ×ÁÖÅÎÉÅÍ, HÉËÉÔÁ. icq:240059686, lj-user:nicka_startcev ... üÌÅËÔÒÏÎ Ó Õ×ÏÌØÎÉÔÅÌØÎÏÊ ÏÔ ÆÁÒÁÄÅÑ Ó ×ÉÚÏÊ ëÉÒÈÇÏÆÁ

Привет, Vadim !

21 Mar 05 , 00:46 Vadim Rumyantsev писал к Nickita A Startcev:

KF>>> Какой бы ни был год на пороге, паскаль от этого не становится KF>>> чем-то иным. Фирма Borland никакого отношения к паскалю, по KF>>> большому счёту, не имеет. Думаю не ошибусь, если скажу, что в KF>>> момент появления паскаля никаких борландов не существовало даже.

NS>> Борланд - автор распространённого диалекта Паскаля. С NS>> расширениями типа юнитов и прочего.

VR> Расширения типа юнитов, стрингов и прочего были придуманы и VR> реализованы задолго до Борланда, в UCSD.

Я нигде не говорил про первернство, я сказал, что их диалект получил распространение.

. С уважением, Hикита. icq:240059686, lj-user:nicka_startcev ... Hикого умнее нет наааашего Хасана

Fri Mar 18 2005 04:32, Maxim Polyanskiy wrote to Alex Gavrikov:

MP>>> Кстати справедливости ради - в 1997 году Ольга Hонова работавшая MP>>> тогда вроде в Фитоне расказывала нам о том, как пикам скоро MP>>> придет AG>> -Они настоящие???!!!... плюх... (ц) pеклама

MP> Я тебя удивлю - но они еще и довольно последовательны в своих суждениях.

MP> google/группы/ru.embedded/поиск/поиск только в fido7.ru.embedded/Olga MP> Nonova/поиск/сортировать по дате.

AG>> Ты ее в pиллайфе видел или так - в электpонном виде?

MP> Я почему-то очень не люблю контору Фитон. Hе могу объяснить почему. MP> Как-то на подсознании. Групе психологов об этом стоит задуматся, может с MP> сайтом у них чего не так, или это здание где они находятся как-то на меня MP> давит что-ли. Таким образом вероятность, что мы видели друг-друга MP> сттремится к 0. ;)

Интересно, что слово "Фитон" почему-то появляется в твоем ответе oт

1997/06/13, хотя его не было в исходном посте ON oт 1997/06/10.

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

Hello Dmitri.

19 Mar 05 17:01, you wrote to me:

DL>>> A, b, s - размером до 2G. AB>> И на паскале, а не на дельфи. DL> А что, нужно было на BP7? Hу очень древний продукт... неплохой, но DL> древний.

Отмотай тред.

AB>> Да, я знаю, что в Дельфи стандартные строки улучшили. DL> Hу а чего от общественности утаиваешь ;)? И вообще, на пороге DL> D2005, зачем обсуждать BP7? Правда, к эхотагу это уже не относится, DL> так что я пошел :))).

Точно. Проехали.

Alexey

Hello Dima.

19 Mar 05 18:25, you wrote to me:

HÕ, ÈÏÔÑ ÂÙ ÉÍÉÔÉÒÏ×ÁÔØ.

÷ÏÔ. á ÄÁÌØÛÅ ×ÈÏÄÉÛØ × ×ÙÚ×ÁÎÎÕÀ ÆÕÎËÃÉÀ, É ×ÓÅ ÔÏ ÖÅ ÓÁÍÏÅ.

Alexey

Hello Dima.

19 Mar 05 18:25, you wrote to me:

HÅÔ, ËÏÎÅÞÎÏ. HÏ printf - ÕÄÏÂÎÅÅ. åÓÌÉ ÅÓÔØ ÍÅÓÔÏ - ÔÏ ÌÕÞÛÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÅÇÏ.

Alexey

Hello Dima.

19 Mar 05 18:26, you wrote to me:

Почему ж тогда нельзя регулировать ток ШИМом? Если действующее значение не превышает заданное для лампы?

Alexey

Hello Vadim.

20 Mar 05 00:18, you wrote to me:

DL>>> Hу и кто в здравом уме так напишет? AB>> Пример был абстрактный. Призваный показать, что и в паскале не AB>> все гладко. VR> Проще на ноль поделить.

Да фиг с ними, чё вы прицепились.

AB>> И на паскале, а не на дельфи. VR> Hа стандартном Паскале приведённый пример вызовет ошибку компиляции.

Hикогда, не писал на стандартном паскале. И даже не видел.

VR> А если под "паскалем" понимается Borland Pascal 7, то результаты в VR> нём в данном случае ничем не отличаются от Delphi.

Delphi string != BP7 string. Hу да ладно.

Alexey

Hi Kirill!

÷ ×ÏÓËpÅÓÅÎØÅ, 20 ÍÁpÔÁ 2005 11:03:56, Kirill Frolov ÐÉÓÁÌ to Anton Abrosimov:

KF> çÒÁÖÄÁÎÉÎ, ×Ù Ó ÐÁÓËÁÌÅÍ ÈÏÔØ ÓËÏÌØËÏ-ÎÉÂÕÄØ ÚÎÁËÏÍÙ? HÅÔ ÔÁÍ ÈÏÔÑ KF> ÂÙ ×ÏÚÍÏÖÎÏÓÔÉ ÐÅÒÅÄÁÔØ × ÆÕÎËÃÉÀ ÐÅÒÅÍÅÎÎÏÅ ÞÉÓÌÏ ÁÒÇÕÍÅÎÔÏ×. HÅ KF> ÎÁÄÏ ÐÕÔÁÔØ Ó delphi. ÷ÏÔ Õ ÍÅÎÑ Pascal/MT+ (C) 1983 by Digital KF> Research, Inc ÅÓÔØ -- ËÁË × ΣÍ ÜÔÏ ÒÅÁÌÉÚÏ×ÁÔØ? éÌÉ, ÞÔÏ ÎÅ KF> ×ÏÚÉÔØÓÑ Ó ÜÍÕÌÑÔÏÒÁÍÉ CP/M ÍÏÖÎÏ ×ÚÑÔØ ÈÏÔÑ ÂÙ p2c ÔÒÁÎÓÌÑÔÏÒ Ó KF> ÐÁÓËÁÌÑ ÎÁ c -- Á ÔÏÔ ÔÕÔ GS ÍÕÞÁÅÔÓÑ, ÎÅ ÚÎÁÅÔ ËÁË ÄÌÑ AVR ÍÏÖÎÏ ÎÁ KF> ÐÁÓËÁÌÅ ÐÉÓÁÔØ. íÏÖÎÏ ÄÌÑ ÎÅÇÏ ÎÁÐÉÓÁÔØ Ó×ÏÊ ÁÎÁÌÏÇ write?

ó×ÏÊ ÁÎÁÌÏÇ write × ðÁÓËÁÌÅ ÎÁÐÉÓÁÔØ ÎÅÌØÚÑ, ÐÏÔÏÍÕ ÞÔÏ write -- ÜÔÏ ÏÐÅÒÁÔÏÒ, Á ÎÅ ÆÕÎËÃÉÑ (ÉÌÉ ÐÒÏÃÅÄÕÒÁ). ïÎ, ËÓÔÁÔÉ, ÓÉÎÔÁËÓÉÞÅÓËÉ ÏÔÌÉÞÁÅÔÓÑ ÏÔ ×ÙÚÏ×Á ÐÒÏÃÅÄÕÒÙ ÎÅ ÔÏÌØËÏ ÐÅÒÅÍÅÎÎÙÍ ÞÉÓÌÏÍ ÁÒÇÕÍÅÎÔÏ×. íÏÖÎÏ × óÉ ÎÁÐÉÓÁÔØ Ó×ÏÊ ÁÎÁÌÏÇ switch?

Sincerely, Vadim.

Fri, 18 Mar 2005 21:30:52 +0300 Alex Gavrikov wrote to Harry Zhurov:

HZ>> Подозреваю, что просто на момент появления мода еще не пришла. Hо HZ>> тенденция, имхо уже есть. Думаю, через несколько лет в старших членах HZ>> семейств мелких МК будет появляться коммуникационная периферия с HZ>> буферами.

AG> Ритоpический вопpос: почему более новые пpоцессоpы, сиpечь pожденные AG> недавно, считаются стаpшими? Казус.

Риторический ответ: имеются в виду не новые процы, а более толстые мемберы. Т.е. tiny, например, это младшие (хотя какой-то из них может уже давным-давно появился), а меги - старшие. Т.е. старший - более крупный, большой. К возрасту это отношения не имеет. Когда говорят про возраст МК (или семейства), обычно употребляют слова "древний" или "сырой". :)

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required