ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
26 июля
140600 Топик полностью
Николай Коровин (30.11.2008 22:39, просмотров: 208) ответил Николай Коровин на "Агрессия" в данном случае -- не эмоция, а вид политики. Реальной или "желаемой-в-мечтах". Поэтому я надеваю на руку носок, на него -- шляпу с надписью "идеальный агрессор" и формулирую для него уперто-полярную точку зрения.
Мистер Шляпа идет в бой :) > Облом - это замечательно, ибо он двигатель прогресса, но всякая вещь несет в себе инструмент самоуничтожения. Иначе жизнь завершится. Ага-ага. "Поджигая машины, мы способствуем производству новых и оздоровлению экономики" (с) негры-вандалы. Казуистически-философское объявление черного белым, встречалось тысячу раз в разных позах. > Конечно, здорово натыкать проводков в LPT порт, порубить к нему нечто на DIP микрухах на макетке, налобать программу с nop для временных задержек - и чудо! Ты уже разработчик embedded системы!!! Не следует путать простые системы с любительскими. Те, кто утверждают, что профессионал не должен опускаться до простых систем, просто имеют маленькую письку и нуждаются в выпендреже для самоутверждения. Китайская экономика -- живое доказательство того, чего можно добиться путем невыеживания и слушания своих "Валенок". > Но когда 3 ГГц проц убивается ап стенку дров COM, LPT и прочих очень удобных для нас устройств 30 летней давности разработки, то серьезный человек должен приходить в ярость. Да. Поэтому (см. начало про самообновление) все должно совершенствоваться. В частности, в данном случае виноваты дрова, а не принцип GPIO. > Почему и зачем нужны 3 ГГц процы - нас не спросили, но они есть, и стоят дешево. Нет, именно НАС как раз и спросили. Все истекли слюнями о HL2 без тормозов и хором сказали "хотим". А некоторые сказали "ооо, обработка registration events с микроскопа на УХН в реальном времени! Хотим-хотим!" Тут как раз голоса совпали. > Можно исходить яростью, а можно то, что на 51 ты писал на asm, написать на пысюке на питоне или еще на каком языке с хорошими средствами защиты от ошибок, и ресурс проца потратить не на nop для организации задержки, а на защиту от всех мыслимых и немыслимых ошибок, чтобы у тебя точно не утекла память, не произошло переполнение стека и пр, чтобы юзер не делал с твоей программой и твоей платой. Защита от ошибок не в языках... она в головах :) Такие средства просто снижают требования к IQ, с которыми можно соваться в embedded, но не повышают надежность результата. Инвалидная коляска дает инвалиду возможность хоть как-то двигаться, но здоровому человеку она отнюдь не улучшит шустрости. Защита от ошибок -- в грамотной организации структуры проекта. И на asm пишется только малая доля, и не с nop'ами, а с RTSC. И вообще, не у всех задач свет клином сошелся именно на интерфейсе. У множества железок неспешный GPIO от датчиков/к исполнителю и дьявольский софт в обработке -- норма. > Относительно реального времени. Много раз сказано. Любая унивресальная ОСь общего назначения, которая выжимает 101% из аппаратных ресурсов, асинхронна, хоть ты тресни. И я не знаю, что есть больший маразм - делать RT на виндах или переделывать Word, чтобы он пошел под RTEMS. Богу - богово, кесарю - кесарево. Есть полно задач, где для GPIO не требуются такие микросекунды, есть полно задач, где машина мождет стоять под VxWorks и лесом Ворд, есть полно задач, где под real-time OS можно поднять виртуалку и есть очень мало задач, где обязательно функционирование машины конечного пользователя (который ее в "Полярисе" купил) одновременно и под настоящей Виндой, и с полной real-time отдачей с минимальными задержками. > Таким образом, любое устройство, которое подрубается к универсальной ОСи Win|Lin|Mac|что там еще есть, должно быть интеллектуальным, со встроенным процом, и обмениваться с ОСью высокоуровневыми блоками. Не любое. Устройство, требущее сложного и быстрого обмена. И только такое устройство. > Самое смешное, что это не ухудшит производительность даже в простейших случаях, типа вывод в порт (каждое переключение контекста на современных процах с их мегабайтами кеша - это аццкое упражнение! Прерывания от того, что у тебя в буфере 16c554 накопилось 12 байтов данных - ДУРЬ!!!), зато кардинально поднимет ее, когда тебе нужно записать 1кбайт данных в периферийное устройство. Определенно. Когда это нужно, конечно. И когда это настолько нужно, что оправдывает превращение каждого электромеханического градусника в эзернетный сервер. > Что касается цены - то в диапазоне $1...5 полно нехилых контроллеров. В том числе с USB. В "цене" этого прибора будет $2 за контроллер, $2500 за присобачивание, $5000 за программирование, $50000 за отладку и $200000 за пропущенный в эксплуатацию глюк, возникающий только в определенные фазы луны. > Если немножко подумать, и ввести нормальное понятие реального времени в периферийном контроллере, и сделать простейший планировщик, и немножко буферов на данные, то, как я пиал не раз, латентность большой ОСи может быть гораздо больше, чем при "ногодрыгстве". ...если задача стоит превращения прибора в отдельный комп. Возможно, у прибора дорогая и сложная аналоговая часть и могучая обработка, но при этом скромный поток данных и миллисекундные требования к задержкам. > Конечно, есть зловредность как делателей софта (геморой с USB дровами для виндов) так и делеза (обычный PCI уходит, вот что страшно! Все на express переводится. А он куда дороже в реализации), но тут нас спросить забыли. Вот-вот. И Вас есть чем напугать в плане выдергивания почвы из-под ног :) > Резюме: > * отказ от примитивных IO устройств без процессора - это благо и магистральный путь развития. Так точно будет. И проявлящие агрессю против этого "писают против ветра" Это не ветер. Это встречный пердеж. Не следует путать деяния себе подобных простых смертных с непоколебимой стихией. > * конструктив может состоять в публичном обсуждении намболее безгеморойного использования USB, и публикации всяких исходников для этого. Причем понимание там часто важнее исходника: если ты внятно понимаешь, что надо сделать, чтобы USB работало, то закодить - это уже "дело техники", ничуть не сложнее любой другой задачи. Может состоять и в этом. Но это путь Мистера Щепки, а наш Мистер Шляпа имеет право на альтернативный вариант. > * на периферийном устройстве надо вводить локальную шкалу времени. И давать ему команды дерни за.., через 10 мкс дерни это. Ну и флаги, что устройство полезло в буфер, а там нифга. Задача притивная, очень полезная для отладки, после ее решения RT свойста пысюка волнуют в контексте секунд, а это достижимо. ...чтобы сглючил сначала передатчик, потом приемник, а потом их синхронизация. Всякая параллельность есть возведение сложности в квадрат. Если задача сводится к "дерни себя за х%й -- превратишься в муху", ее присутствие, мягко говоря, неоправдано, а навязывание -- воспринимается естественным образом в штыки. >Как известно, M$ позаботилась о нашем геморое. Если я все правильно понимаю, есть толко 3 класса, которые могут жить без дров на любой машине: >* HID - но там скорость мала >* Mass Storage - круто, но это как бы не совсем канал ввода-вывода. Заметим, это большое благо, ибо на каждое воткнутое устройство можно положить конфигуратор, доку; конфигуратор прямо в виде файла запишет конфигурацию и прошивку - круто, правда? >* Remote NDIS - на нем живет WinCE. Вроде как он и в больших виндах, и в WinCE есть. Да, но это только вселенная M$...