- Vote on answer
- posted
19 years ago
Embedded OS
- Vote on answer
- posted
19 years ago
Привет 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
- Vote on answer
- posted
19 years ago
Привет 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
- Vote on answer
- posted
19 years ago
П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
... ==== Пpоблемy надо pешать до того, как она появится. ====
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
Alexander, ты ещё здесь сидишь?
Вторник Март 22 2005 08:34, Alexander Torres wrote to George Shepelev:
ON>>>> И если компилятор не дает сообщений про ошибки, то пусть будет ON>>>> хуже пользователю такого компилятора. KF>>> Компилятор, который вместо работающих программ выдаёт KF>>> сообщения о дурацких ошибках, называется паскаль... GS>> Компилятор, который вместо сообщений о дурацких ошибках выдаёт GS>> неработающие программы, называется си ;) AT> Фидошник, котрый 8 лет тарахтит в эхах о том, о чем он не имеет ни AT> малейшего понятия, называется "Жора Шепелев",
Скунс смердящий зовётся Алеском Торресом, одиныжды уже экскоммуницированным за подобное поведение.
Георгий
- Vote on answer
- posted
19 years ago
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а самом деле есть только нулевые и единичные биты. Принять как аксиому.
Георгий
- Vote on answer
- posted
19 years ago
Kirill, ты ещё здесь сидишь?
Вторник Март 22 2005 08:42, Kirill Frolov wrote to George Shepelev:
GS>> Компилятор, который вместо сообщений о дурацких ошибках выдаёт GS>> неработающие GS>> программы, называется си ;) KF> Я уверен, что из всех программ обеспечивающих прохождения моего вот KF> этого письма ко всем его читателям причастны, возможно за редкими KF> исключениями, в основном программы написанные на языке C. Как можно KF> видеть, все буковки на месте.
Да, при желании можно даже в машинных кодах программы писать. Вообще без компилятора. В своё время это было повседневной практикой...
Георгий
- Vote on answer
- posted
19 years ago
Kirill, ты ещё здесь сидишь?
Вторник Март 22 2005 08:50, Kirill Frolov wrote to Olga Nonova:
ON>> символов. Вот, и представьте насколько времени зависают ON>> библиотечные функции на таких строках. KF> Для большинства функций 0 -- сигнал к завершению разбора строки. KF> Если функция в процессе работы до конца и не доходит, то она KF> вычислением длины не занимается вообще. Из явно вычисляющих длину KF> вспоминается только printf, strdup и strlen.
Конкатенация текстовых строк, да?..
Георгий
- Vote on answer
- posted
19 years ago
Kirill, ты ещё здесь сидишь?
Вторник Март 22 2005 09:07, Kirill Frolov wrote to Olga Nonova:
KF> Сборками строк в микроконтроллере никто в трезвом уме заниматься не KF> будет, за редкими исключениями.
Я занимался, в трезвом уме. Экономило кучу места в памяти программ.
KF> Ибо памяти мало.
Вот именно! ;)
KF> А printf, путём переопределения ряда функций (вроде посимвольного KF> вывода) позволяет форматируемые данные непосредственно выдавать в KF> поток.
Это было избыточно.
Георгий
- Vote on answer
- posted
19 years ago
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 - сплошное удовольствие.
Очень сомнительное удовольствие :-/
Георгий
- Vote on answer
- posted
19 years ago
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 просто напрашивается...
Георгий
- Vote on answer
- posted
19 years ago
Привет!
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
- Vote on answer
- posted
19 years ago
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
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
Привет 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
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
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> на переполнение буфера ;)?
Это говорит лишь о чрезвычайно низком общем профессиональном уровне нынешних программеров :-/
Георгий