Embedded OS

Reply to
Anton Abrosimov
Loading thread data ...

Привет Vladimir!

Wednesday March 23 2005 07:07, Vladimir V Teplouhov wrote to Alexander Torres:

ON>>>>> И если компилятор не дает сообщений про ошибки, то пусть будет ON>>>>> хуже пользователю такого компилятора. KF>>>> Компилятор, который вместо работающих программ выдаёт сообщения о KF>>>> дурацких ошибках, называется паскаль... GS>>>

GS>>> Компилятор, который вместо сообщений о дурацких ошибках выдаёт GS>>> неработающие программы, называется си ;) VT>

AT>> Фидошник, котрый 8 лет тарахтит в эхах о том, о чем он не имеет ни AT>> малейшего понятия, называется "Жора Шепелев", который в очередной раз AT>> не зная Си - делает какие-то "глобальные выводы". VT>

AT>> А видимо, для подтверждения своих слов опять, как в прошлый раз, AT>> приведет фрагмент программы с синтаксическими ошибками.... VT>

VT> а что, кто-то еще пишет на Ц?

Большинство здесь присутствующих :)

VT> Hу ладно там программеры, но в embedded это уже на направление VT> к психиатору тянет...

Товарисч, к психиатру это Вам давно пора.

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

Reply to
Alexander Torres

Привет Alexey!

Wednesday March 23 2005 16:09, Alexey Boyko wrote to Dima Orlov:

AB> 2Alexander Torres: Большая просьба не раздваиваться. А то почти все письма AB> от вас идут в двух экземплярах. Вы легко можете на работе договориться кто AB> из вас будет отвечать.

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

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

Reply to
Alexander Torres

Пpивет, Vladislav.

Вот что Vladislav Baliasov wrote to Michael Belousoff:

GS>>> А для AVR я могy и на ассемблеpе пpогpаммкy сделать (собственно, GS>>> как pаз сейчас делаю), хоть это и не самое пpиятное занятие.

MB>> Пожалей себя, бpось какy.

VB> Для AVR писать на asm - сплошное yдовольствие. По кpайней меpе до VB> одного-двyх килослов объектного кода.

После 51-го я на АВРовские мнемоники без слёз смотpеть не могy.

Michael G. Belousoff

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

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

Reply to
Michael Belousoff
Reply to
Anton Abrosimov
Reply to
Vadim Rumyantsev
Reply to
Anton Abrosimov

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

Вторник Март 22 2005 08:34, Alexander Torres wrote to George Shepelev:

ON>>>> И если компилятор не дает сообщений про ошибки, то пусть будет ON>>>> хуже пользователю такого компилятора. KF>>> Компилятор, который вместо работающих программ выдаёт KF>>> сообщения о дурацких ошибках, называется паскаль... GS>> Компилятор, который вместо сообщений о дурацких ошибках выдаёт GS>> неработающие программы, называется си ;) AT> Фидошник, котрый 8 лет тарахтит в эхах о том, о чем он не имеет ни AT> малейшего понятия, называется "Жора Шепелев",

Скунс смердящий зовётся Алеском Торресом, одиныжды уже экскоммуницированным за подобное поведение.

Георгий

Reply to
George Shepelev

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

Вторник Март 22 2005 08:40, Kirill Frolov wrote to George Shepelev:

MB>>>>> Компенсиpовано. GS>>>> Hе совсем. Для разных задач могут оказаться удобными разные GS>>>> представления! KF>>> Эффективен смешанный вариант. GS>> Зачем? В огромной массе случаев удобен один из простейших GS>> вариантов. KF> Один из простейших видов сортировки -- сортировка пузырьком...

И что? Сортировка - вовсе не единственное действие над строками. И "пузырьковая" сортировка - отнюдь не лучший метод сортировки...

KF>>> И не спорь. Чисто паскалевский требует хранить длину в отдельном KF>>> регистре GS>> В "нулевом" элементе символьного массива, хранящего строку. GS>> Занимает ровно столько же места, сколько сишный "нуль-терминатор". KF> Hет. Одно слово -- типично 4 байта.

Один байт. Отсюда и ограничение длины текстовой строки - 255 символов.

KF>>> и всё время её перевычислять, GS>> А каждый раз парсить строку в поисках "нуль-терминатора" тебя не GS>> напрягает? KF> Hетрудно догадаться, что в функции вроде strtoul оно автомагически KF> парсится.

По-твоему автоматический парсинг выполняется мгновенно? ;)

KF>>> Чисто сишный имеет трудности с определением длины когда это KF>>> действительно нужно. GS>> Чисто сишный имеет преимущество в возможности создания строк GS>> произвольной длины, KF> "Дельфийный" тоже имеет такое преимущество (см. выше, про байт и KF> слово).

В "борландовском" паскале тоже поддерживались z-строки. Жизнь заставила...

GS>> вариант". С длиной, хранящейся отдельно от самой строки, ибо в GS>> "сишной строке" для этого параметра места нету... KF> Ещё раз: в языке C строк нет,

Жаль, что составители документации по языку C этого не знают, и постоянно пользуются строковыми константами и переменными. Причём всё это работает и на практике.

KF> есть байтовый вектор. Принять как аксиому.

Hа самом деле есть только нулевые и единичные биты. Принять как аксиому.

Георгий

Reply to
George Shepelev

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

Вторник Март 22 2005 08:42, Kirill Frolov wrote to George Shepelev:

GS>> Компилятор, который вместо сообщений о дурацких ошибках выдаёт GS>> неработающие GS>> программы, называется си ;) KF> Я уверен, что из всех программ обеспечивающих прохождения моего вот KF> этого письма ко всем его читателям причастны, возможно за редкими KF> исключениями, в основном программы написанные на языке C. Как можно KF> видеть, все буковки на месте.

Да, при желании можно даже в машинных кодах программы писать. Вообще без компилятора. В своё время это было повседневной практикой...

Георгий

Reply to
George Shepelev

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

Вторник Март 22 2005 08:50, Kirill Frolov wrote to Olga Nonova:

ON>> символов. Вот, и представьте насколько времени зависают ON>> библиотечные функции на таких строках. KF> Для большинства функций 0 -- сигнал к завершению разбора строки. KF> Если функция в процессе работы до конца и не доходит, то она KF> вычислением длины не занимается вообще. Из явно вычисляющих длину KF> вспоминается только printf, strdup и strlen.

Конкатенация текстовых строк, да?..

Георгий

Reply to
George Shepelev

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

Вторник Март 22 2005 09:07, Kirill Frolov wrote to Olga Nonova:

KF> Сборками строк в микроконтроллере никто в трезвом уме заниматься не KF> будет, за редкими исключениями.

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

KF> Ибо памяти мало.

Вот именно! ;)

KF> А printf, путём переопределения ряда функций (вроде посимвольного KF> вывода) позволяет форматируемые данные непосредственно выдавать в KF> поток.

Это было избыточно.

Георгий

Reply to
George Shepelev

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

Вторник Март 22 2005 20:01, Vladislav Baliasov wrote to Michael Belousoff:

GS>>> А для AVR я могy и на ассемблеpе пpогpаммкy сделать (собственно, GS>>> как pаз сейчас делаю), хоть это и не самое пpиятное занятие. MB>> Пожалей себя, бpось какy. VB> Для AVR писать на asm - сплошное удовольствие.

Очень сомнительное удовольствие :-/

Георгий

Reply to
George Shepelev

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

Вторник Март 22 2005 20:25, Michael Belousoff wrote to George Shepelev:

GS>> А для AVR я могy и на ассемблеpе пpогpаммкy сделать (собственно, GS>> как pаз сейчас делаю), хоть это и не самое пpиятное занятие. MB> Пожалей себя, бpось какy.

Сигнал нужно выдавать на ножку с дискретностью 50 нс. Вариант на AVR просто напрашивается...

Георгий

Reply to
George Shepelev

Привет!

Fri Mar 18 2005 21:01, Maxim Polyanskiy wrote to Alexander Golov:

...

AG>> Речь шла прежде всего об удобствах доступа к программной памяти (LFSR, AG>> PLUSW, банальном ускорении доступа, наконец) и передачи ссылок (если AG>> ты не в курсе, ссылки и на асме удобно передавать единым образом, а не AG>> раздельно для данных и кода). Hу и, естественно, о возможности AG>> размещения Software Stack во внешнем ОЗУ.

MP> Теперь опиши нафиг все это нужно на ассемблере?

А что, фанатам ассма трудно догнать, что лучше иметь возможность написать:

lfsr 0,adr movfw indf0

при доступе за 2 цикла (в программную память), а не:

movlw low adr movwf tblptrl movlw high adr movwf tblptrh tblrd movfw tablat

при доступе за 3 цикла? Или что иметь возможность вот так индексно адресоваться к данным в программной памяти:

lfsr 0,adr movfw index movff plusw0,temp

вместо чего-нибудь вроде:

movfw index addlw low adr movwf tblptrl clrf tblptrh movlw high adr addwf tblptrh tblrd movff tablat,temp

Или что лучше однотипно передавать ссылки, скажем, при вычислениях как для переменных в памяти данных, так и во внешней памяти, и для констант?

lfsr 0,val1 lfsr 1,const1 lfsr 2,temp1 call fp_mul3 lfsr 0,temp1 lfsr 1,const2 call fp_add2

Неужели всё это там труднопостижимо для ассемблерщика?

MP> Почитай как создают процессорные ядра, какие цели при этом преследуют. MP> Hикто не собирается делать тебе 8-ми битный контроллер для упрощения MP> построения компилятора ЯВУ, а на асм это не нужно. Cовсем не нужно.

Меня не сильно занимает, что там кто-то думает по поводу целей преследуемых производителем МК (в данном случае Microchip) при его создании, особенно когда высказаное очевидно расходится с действиями производителя. В данном случае я вижу в наличии три 16-разрядных указателя, используемые лишь на 1/16 их возможностей и вижу существенные потери эффективности всвязи с неиспользованием оставшихся 15/16 для доступа к памяти программ и не вижу никаких препятствий, всё это поправить даже сейчас не говоря уже, что это можно было учесть при создании Extended Instruction Set.

MP> Так-же как и передача расположения строки в ее адресе. Проще выделить и MP> выставить бит, который будет управлять логикой работы процедуры (если это MP> надо) или вообще ничего не делать (т.к. у нормального программиста, одно MP> и то-же не лежит и там и там, и функции типа strcat просто не MP> применяются).

Понять бы ещё о чём тут речь...

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

Reply to
Alexander Golov

Hello, Maxim! You wrote to Andy Mozzhevilov on Wed, 23 Mar 2005 11:01:06 +0300:

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

Все высказываемые мнения - суть заблуждения говорящего :-))). Так вот, мои заблуждения с твоими не согласны :-)))))). Упомянутые тобой приёмы разработаны для больших и средних проектов. Там без них нельзя - просто ничего не получится. На малых это не так чувствуется, но распространять подобный опыт на другие масшатбы и говорить в этой связи о заблуждениях - не совсем корректно. IMHO, разумеется.

With best regards, Alexander Derazhne

Reply to
Alexander Derazhne
Reply to
Dmitri Litovchenko

Привет George!

Wednesday March 23 2005 23:50, George Shepelev wrote to Alexander Torres:

ON>>>>> И если компилятор не дает сообщений про ошибки, то пусть будет ON>>>>> хуже пользователю такого компилятора. KF>>>> Компилятор, который вместо работающих программ выдаёт KF>>>> сообщения о дурацких ошибках, называется паскаль... GS>>> Компилятор, который вместо сообщений о дурацких ошибках выдаёт GS>>> неработающие программы, называется си ;) AT>> Фидошник, котрый 8 лет тарахтит в эхах о том, о чем он не имеет ни AT>> малейшего понятия, называется "Жора Шепелев", GS>

GS> Скунс смердящий зовётся

Жорой Шепелевым.

GS> Алеском Торресом, одиныжды уже экскоммуницированным за подобное GS> поведение.

Hиразу в жизни такого небыло, постоянный ты лгун.

А вот тебя с подельником - регулярно из конференций выгоняют за хамтсво.

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

Reply to
Alexander Torres

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

Вторник Март 22 2005 23:37, Dmitri Litovchenko wrote to George Shepelev:

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

Hо от этого ведь не легче, правда? Знаешь ли, в реальной жизни вредительская деятельность как раз и может заключаться в нарушении работы системы, путём подсовывания некорректных данных :-/

GS>> А я - про неумение. Если даже такая простая вещь, как получение GS>> текстовой строки, может вызвать крах программы - что уж говорить о GS>> более серьёзных алгоритмах... DL> Hадеюсь, ты в курсе, что одна из самых популярных атак - это атака DL> на переполнение буфера ;)?

Это говорит лишь о чрезвычайно низком общем профессиональном уровне нынешних программеров :-/

Георгий

Reply to
George Shepelev

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.