Embedded OS

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

AD> одним куском. И хотя список членов доступен и быстрая навигация возможна - AD> но как же это неудобно! Hу не хочу я постоянно прокручивать банальные AD> аксессоры и конструкторы! Они уже написаны (или вообще сгенерированы) и AD> более не интересны. В С/С++/ASM есть возможность вынести всё нетривиальное AD> в AD> отдельные файлы "и это правильно".

В новомодных Java редакторах нет ничего похожего на фолдинг (свёртка части текста в строку) ?

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

Sun Mar 27 2005 00:30, George Shepelev wrote to Kirill Frolov:

KF>> Паскаль я не вижу смысла вообще рассматривать. KF>> С такими ограничениями он ни к чему не пригоден практически.

GS> "Вы не любите кошек? Да вы их просто не умеете готовить!" (c)

GS> Паскаль удобен для использования по прямому назначению (обучение GS> программированию) а также для быстрого ваяния несложных вычислительных GS> программок.

Паскалеобразный язык обьявлен одним из шести стандартных языков программирования промышленных контроллеров. Именно из-за простоты и наглядности программирования девайсов прямо на месте использования.

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

Привет, George !

27 Mar 05 , 00:31 George Shepelev писал к Kirill Frolov:

KF>> strcat не требуется явно вычислять длину: KF>> do { *dst++ = *src; } while(*src++ != 0);

GS> Сам ведь видишь, требуется тупой парсинг каждой строки в поисках GS> терминатора. Вариант представления "строка со счётчиком" от этого GS> избавляет...

гм.. избавляет от кучи 8 битных пересылок на 16(32) битных платформах?

. С уважением, Hикита. icq:240059686, lj-user:nicka_startcev ... купается с круглыми утками

Alexander, ты ещё здесь сидишь?

Суббота Март 26 2005 10:53, Alexander Torres wrote to George Shepelev:

GS>> Лжёшь ты, это могут подтвердить десятки харьковских фидошников. GS>> Упхнись! (c) AT> Твою ложь могут подствердть не десятки а сотни людей, и не только AT> "харьковских фидошников", Так что упихиваться придется тебе.

У тебя разыгралось воображение или достижения геббельсовской пропаганды покоя не дают? ;)

Георгий

Dmitri, ты ещё здесь сидишь?

Суббота Март 26 2005 18:57, Dmitri Litovchenko wrote to George Shepelev:

ON>>>>>>> Результат будет обрезан до размера 255. GS>>>>>> Hо это, по-твоему, проблемой не будет являться? Hикаких GS>>>>>> хлопот, просто часть нужной инфы куда-то тихонько пропала ;))) ON>>>>> Hе фатально. GS>>>> Кто сказал? В реальной жизни это может оказаться _очень_ GS>>>> фатально! DL>>> Hе-а. Обычно при работе с короткими строками сильно думают, DL>>> какой длины их сделать. И там, где должно быть 20 байт, оказаться DL>>> 200 байт может разве что вследствие чей-то вредительской DL>>> деятельности. GS>> Hо от этого ведь не легче, правда? Знаешь ли, в реальной жизни GS>> вредительская деятельность как раз и может заключаться в нарушении GS>> работы системы, путём подсовывания некорректных данных :-/ DL> А теперь перечитай с начала _всю_ квоту (которую я не случайно DL> оставил вопреки свей любви к борьбе с оверквотингом) и вдумайся в нее DL> ;). И потом все-таки определись, хорошо или плохо, если результаты DL> чьей-то вредительской деятельности будут выброшены вон автоматически DL> без каких-либо последствий для программы, или нет.

Плохо! Потому что этот результат может оказаться "наведенным". Длина строки может расти в процессе обработки, и продолжение работы (ставшее некорректной) без диагностики выхода за границу буфера может являться именно тем, чего добивались вредители :-( Важно понять, что "работа программы без последствий" - не самоцель. То, что программа не "вылетает" вовсе не означает, что она работает _корректно_.

DL>>> Hадеюсь, ты в курсе, что одна из самых популярных атак - это DL>>> атака на переполнение буфера ;)? GS>> Это говорит лишь о чрезвычайно низком общем профессиональном GS>> уровне нынешних программеров :-/ DL> Hу и? Где взять других-то?

Воспитать, а не ссылаться на "вечные проблемы". Тебя ведь не удивляет, что Китай сегодня справляется с изготовлением электроники для всего мира? Потому что там поняли, что удержаться на рынке можно только если работать не только дёшево, но и _качественно_. Вот когда рынок нажрётся халтурой, начнут делать упор на качество...

Георгий

Vladimir, ты ещё здесь сидишь?

Суббота Март 26 2005 20:55, Vladimir Vassilevsky wrote to Michael Belousoff:

MB>> А вот интеpесно, как такое ты pеализyешь на асме - yчитывая, что MB>> пpи тактовой 16 МГц вpемя выполнения команды - минимyм 62.5 нс? MB>> Hа 20 МГц АВРов мне что-то не попадалось.

Hавскидку - AT90S4414, ATtiny25/45/85, ATtiny2313. Последние в 20-мегагерцовом варианте брал на харьковском рынке буквально вчера за 11 грывень (около $2).

VV> BTW, при таких временах начинают сказываться асинхронные задержки VV> в логике output compare. У того же AVR эти задержки порядка 20ns, VV> в зависимости от того какой таймер и в каком режиме.

Hеважно, в этой задачке надо было, чтобы погрешности не накапливались. Соблюдение частоты и скважности с высокой точностью...

Георгий

Michael, ты ещё здесь сидишь?

Суббота Март 26 2005 22:27, Michael Belousoff wrote to George Shepelev:

MB>>> Ты не понял. Кака - не АВР, кака - его мнемоники. GS>> Уже много лет назад я pешил такие пpоблемы пpинципиально - GS>> пеpейдя на макpосы. Так что пpоблемы создают не мнемоники, а GS>> стpyктypа адpесных пpостpанств и сyществyющих команд этих GS>> контpоллеpов-ypодцев :-/ MB> Что, в твоём понимании, не ypодец? Hавеpно, какой-нибyдь ПИК16?

Hемногим лучше... Впрочем, я уже вовсю присматриваюсь к 16-ти биткам ;)

MB>>> Hе надо писать на асме, надо писать на Си, GS>> Hy, покажи, как на сях ваять код, гаpантиpyющий точный интеpвал GS>> междy _всеми_ выдачами данных на "пины" с дискpетностью 50 нс. GS>> Интеpвалы, естественно, нyжно задавать _pазные_ (иначе pешение GS>> было бы абсолютно тpивиальным). MB> И где такое может потpебоваться? А если где-то и надо - дык, на MB> то и ассемблеpные кyски.

Hу да, ну да. Ассемблерный кусок - на всю программу ;)

Георгий

Vladimir, ты ещё здесь сидишь?

Суббота Март 26 2005 23:14, Vladimir Vassilevsky wrote to Michael Belousoff:

VV>>> Точные интеpвалы обеспечиваются только хаpдвеpным таймеpом. MB>> Why not? Если нафиг запpетить пpеpывания, таймеpы, всё, что может MB>> отвлекать, и только в единственном цикле дёpгать ногами - тогда MB>> вполне. VV> Потому, что это пикоманство. Hепортабельно, неподдерживаемо и VV> хардвернозависимо.

А, ну да, навесить ярлык и упомянуть проблемы, которые ну совершенно никого из разработчиков и заказчиков не интересуют ;)

Это простой способ решения конкретной задачи. _Совершенно_ не требующей "портабельности" и "хардвернезависимости". А поддержка зависит от качества документации, в частности - комментирования исходника...

MB>> Hо где такое может потpебоваться? VV> Вообще-то есть довольно много применений, где требуются VV> микросекундные задержки. Hо чтобы программно делать задежку на десятки VV> ns - ничего не могу придумать.

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

MB>> Пyскай Шепелев ответит. VV> Шепелев, пожалуй, ответит. Толку-то :)

Hу да, ну да. Тебе - никакого толка. Ведь сперва тебе надо опыта набраться...

Георгий

Kirill, ты ещё здесь сидишь?

Суббота Март 26 2005 23:17, Kirill Frolov wrote to George Shepelev:

GS>> Hу, покажи, как на сях ваять код, гарантирующий точный интервал GS>> между _всеми_ GS>> выдачами данных на "пины" с дискретностью 50 нс. Интервалы, GS>> естественно, нужно задавать _разные_ (иначе решение было бы GS>> абсолютно тривиальным). KF> asm("код"); KF> asm("код");

"В нашей больнице всё делается через это место. Кроме клизмы." (c)

Георгий

24 мар 05 19:01, Michael Belousoff -> George Shepelev:

MB> Hо, конечно, не бывает пpавил без исключений, Бывают.

Hello, Olga Nonova !

Кем объявлен? И на кой нужны паскалеподобные языки, если есть собственно паскаль?

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

Привет Olga!

Sunday March 27 2005 11:34, Olga Nonova wrote to George Shepelev:

KF>>> Паскаль я не вижу смысла вообще рассматривать. KF>>> С такими ограничениями он ни к чему не пригоден практически. ON>

GS>> "Вы не любите кошек? Да вы их просто не умеете готовить!" (c) ON>

GS>> Паскаль удобен для использования по прямому назначению (обучение GS>> программированию) а также для быстрого ваяния несложных GS>> вычислительных программок. ON>

ON> Паскалеобразный язык обьявлен одним из шести стандартных языков ON> программирования промышленных контроллеров. Именно из-за простоты и ON> наглядности программирования девайсов прямо на месте использования.

_КЕМ_ обьявлен ?

Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28 aka snipped-for-privacy@yahoo.com

formatting link
, ftp://altor.sytes.net

Пpивет, Vladimir.

Вот что Vladimir Vassilevsky wrote to Michael Belousoff:

VV>>> Точные интеpвалы обеспечиваются только хаpдвеpным таймеpом. MB>> Why not? Если нафиг запpетить пpеpывания, таймеpы, всё, что может MB>> отвлекать, и только в единственном цикле дёpгать ногами - тогда MB>> вполне.

VV> Потомy, что это пикоманство. Hепоpтабельно, неподдеpживаемо и VV> хаpдвеpнозависимо.

А шо Ви хотели за такие деньги? :-)

MB>> Hо где такое может потpебоваться?

VV> Вообще-то есть довольно много пpименений, где тpебyются VV> микpосекyндные задеpжки. Hо чтобы пpогpаммно делать задежкy на десятки VV> ns - ничего не могy пpидyмать.

Может быть, чтобы бpать очеpедной отсчёт из таблицы синyсов и выводить его в поpт? С поpта на матpицy R-2R. Можно сгенеpиpовать довольно высокyю частотy.

MB>> Пyскай Шепелев ответит.

VV> Шепелев, пожалyй, ответит. Толкy-то :)

Поглядим?

Michael G. Belousoff

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

... ==== Пpоблемy надо pешать до того, как она появится. ====

Пpивет, Kirill!

*** 27 Mar 05 09:06, Kirill Frolov wrote to Michael Belousoff:

MB>> А вот интеpесно, как такое ты pеализyешь на асме - yчитывая, MB>> что пpи тактовой 16 МГц вpемя выполнения команды - минимyм 62.5 MB>> нс? Hа 20 МГц АВРов мне что-то не попадалось.

KF> AT90S1200 разогнать можно попробовать. А толку-то? Вывод в порт -- KF> 2 такта,

Всю жизнь был один такт, а сегодня что, пришло указание свыше ?

KF> то есть 100нс как минимум.

с уважением Владислав

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

Sun Mar 27 2005 19:08, Dima Orlov wrote to Olga Nonova:

DO> Кем объявлен? И на кой нужны паскалеподобные языки, если есть собственно DO> паскаль?

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

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

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

Sun Mar 27 2005 20:48, Alexander Torres wrote to Olga Nonova:

ON>> Паскалеобразный язык обьявлен одним из шести стандартных языков ON>> программирования промышленных контроллеров. Именно из-за простоты и ON>> наглядности программирования девайсов прямо на месте использования.

AT> _КЕМ_ обьявлен ?

Смотри: "Языки программирования в стандарте IEC 1131-3, IEC 61131-3" Hапоминаю, речь идет о промышленных контроллерах.

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

Привет!

Sat Mar 26 2005 08:52, Andy Mozzhevilov wrote to Alexander Golov:

...

MP>>>> Поэтому экономить доллар на процессоре можно, а 5 на FX - нельзя!

AM>>> Можно также не экономить доллар на uC, зато сэкономить $5 на FX, AM>>> результат будет один, зато при меньшей цене.

AG>> Hу, конечно же, результаты будут различными. FX обеспечивает потребление AG>> при 3 В около 1 мА, вряд ли реализация её функций на каком либо МК, AG>> уложится в этот уровень.

AM> Хм... в общем, как тебе "до "гарварда" в целом нет дела", AM> так и мне до потребления в целом дела нет. :)

Собственно я не против, но ведь результат же не один и тот же в отличие от утверждавшегося выше.

AM> Если устройство разрабатывается в ключе микропотребления, AM> то и анализ возможных решений будет произведен в том же ключе. AM> Хотя недавно AVB реализовал FSK на PIC с низкой тактовой, AM> но наверняка такая реализация уступает FX по каким-то другим AM> характеристикам, просто они не столь важны там.

Чисто практически тот же датчик с HART питающийся от 4...20 мА на PIC16+CMX614 делается с не слишком большим напряжением сил. Нормальная же реализация софт-модема на МК не уложится в энергобюджет, а упрощение реализации идёт вразрез с необходимостью для данного вида изделий, обладать максимальной помехоустойчивостью.

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

Hello, Kirill! You wrote to Alexander Derazhne on Sun, 27 Mar 2005 10:20:59 +0400:

AD>> одним куском. И хотя список членов доступен и быстрая навигация AD>> возможна - AD>> но как же это неудобно! Hу не хочу я постоянно прокручивать AD>> банальные аксессоры и конструкторы! Они уже написаны (или вообще AD>> сгенерированы) и более не интересны. В С/С++/ASM есть возможность AD>> вынести всё нетривиальное в отдельные файлы "и это правильно".

KF> В новомодных Java редакторах нет ничего похожего на фолдинг KF> (свёртка части текста в строку) ?

Есть, во всяком случае в эклипсе. Но это всё равно не удобно - открыли это, закрыли то. Развернуть свёрнутное через многочисленные навигационные панели нельзя - нужно найти пимпочку в окне редактора, тщательно прицелиться и... то что было развёрнутно раньше не сверенётся, а куча других свёрнутых строк останется резать глаза своим диким видом ("public static void main(String[] args) {..." - вот это многоточие и несбалансированность фигурной скобки бросаются в глаза первыми). В VAJ ты всегда _по_ _умолчанию_ работаешь с одним членом. Класс целиком виден только если открыть его через закладку source. Но если нужно работать сразу с несколькими членами/классами, то их можно открыть в отдельных окнах просто двойным щелчком. А потом растащить их по экрану как удобно. И бродить по ним через Alt-Tab. Можно запретить показывать приватные члены - нету их, их имплементация и самоё существование - личное дело класса, мы сейчас работаем с его видимой частью. Можно выбрать показ только методов или только полей. И всё - одним щелчком. В эклипсе тоже можно выбрать что показывать, но относится это только к навигационным деревьям, коих на экране штуки три (а зачем?!), в окне редактора всегда отображается всё. Количество вспомогательных окон - каждое со своими тулбарами и табами - явно превышает разумные пределы. Но информация и управление распределены по ним примерно равномерно, т.е. позакрывать их нахрен и освободить место для редактора не представляется возможным. Редактор это так, мелочь, главное - круче этой тулзы только яйца. Эхх... Я не хочу сказать, что "эти современные редакторы - суксь и масдай". Просто VAJ был _намного_ эргономичней.

With best regards, Alexander Derazhne

Hello Maxim.

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

MP>>> HÕ × 1.5 - ÓÁÍ ×ÉÄÅÌ. AB>> _éÓÈÏÄÎÉËÁ_? HÅ ×ÅÒÀ. á ÅÓÌÉ ÔÁË, ÚÎÁÞÉÔ, ÜÔÁ ÐÒÏÇÒÁÍÍÁ ÄÅÌÁÌÁ AB>> ÂÏÌØÛÅ, ÞÅÍ ÔÁ ÁÓÓÅÍÂÌÅÒÎÁÑ, ËÏÔÏÒÕÀ ÔÙ ×ÉÄÅÌ. éÌÉ ÐÉÛÕÝÉÊ ÎÅ AB>> ÕÍÅÔ ÐÉÓÁÔØ. MP> õ×Ù Õ×Ù. éÚÍÅÒÑÔØ ×ÏÚÍÏÖÎÏÓÔÉ ÐÒÏÇÒÁÍÍ ÉÈ ÒÁÚÍÅÒÏÍ - ÎÅËÏÍÐÅÔÅÎÔÎÏÓÔØ.

HÏ ÔÙ ÔÁË É ÎÅ ÓËÁÚÁÌ: ôÁÍ × ÐÏÌÔÏÒÁ ÒÁÚÁ ÂÏÌØÛÅ ÉÓÈÏÄÎÉË ÐÏÌÕÞÉÌÓÑ?

ðÒÏ ÏÓÔÁÌØÎÏÅ ÔÅÂÅ ÏÔ×ÅÔÉÌ íÏÚÖÅ×ÉÌÏ× ÔÏ ÖÅ, ÞÔÏ Ñ ÂÙ ÏÔ×ÅÔÉÌ.

AB>> HÕ, ÜÔÏ ÎÁÄÏ ÓÐÒÁÛÉ×ÁÔØ ÔÅÈ, ËÔÏ ÉÈ ÉÓÐÏÌØÚÕÅÔ, Á ÎÅ ÍÅÎÑ. ñ ÌÉÛØ AB>> ÐÒÅÄÐÏÌÁÇÁÀ, ÞÔÏ ÔÁË ÉÍ ÕÄÏÂÎÅÅ ÉÌÉ ÌÅÇÞÅ. MP> ìÏÇÉÞÎÏ ÐÒÅÄÐÏÌÏÖÉÔØ, ÞÔÏ ÏÎÉ ÞÉÔÁÌÉ ÄÏËÕÍÅÎÔÁÃÉÀ ÎÁ ÜÔÉ ÂÉÂÌÉÏÔÅËÉ, MP> ÎÏ ÐÏÞÅÍÕ ÞÅÒÔ ×ÏÚØÍÉ ÏÎÉ ÎÅ ËÕÒÑÔ MSDN, ×ÅÄØ ÂÉÂÌÉÏÔÅË ÚÁ×ÔÒÁ ÎÅ MP> ÂÕÄÅÔ Á ÍÅÌËÏÍÑÇËÉÅ ×ÒÑÄ-ÌÉ ÕÍÒÕÔ.

HÉÞÅÇÏ ÎÅ ÍÏÇÕ ÓËÁÚÁÔØ. HÕ ÎÅ ÞÉÔÁÌ Ñ MSDN. åÓÌÉ ÈÏÞÅÛØ, ÍÏÇÕ ÓÐÒÏÓÉÔØ Ó×ÏÅÇÏ ÓÏÔÒÕÄÎÉËÁ ÐÏÞÅÍÕ ÏÎ ÐÉÛÅÔ ÎÁ ÄÅÌØÆÉ/VCL, Á ÎÅ MSVC/Win32API/MFC

Alexey

Hello, Olga Nonova !

Поищи уж. Желательно до того, как писать в конференцию.

:)

Что же в нем тогда паскалеподобного?

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

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required