ru_embedded, posts by tag: programming - LiveJournal (original) (raw)
16 мая 2016 стартует бесплатный курс "Development of Real-Time Systems", ориентированный на магистров и инженеров, желающих освоить разработку систем реального времени. Обещают сбалансировать теорию и практику. Реализация на языке C в среде FreeRTOS. Обучение на реальных примерах.
Ведет курс Dr. Simon Holmbacka, Åbo Akademi University, Faculty of Science and Engineering (https://research.it.abo.fi/). Продолжительность - 5 недель.
Подробности и регистрация здесь.
Что вы думаете о своём отношении к ковырянию в ПО автономного транспорта? Очевидных возможностей остановить транспорт нарушающий ПДД много, они имеют разную цену инсталляции и эксплуатации. И на первом этапе государство может сделать такую систему очень неудобной, но без каких-нибудь альтернатив. Если оно не сделает такую систему, и транспортные средства будут автономны, то сразу появятся желающие их модернизировать, чтоб иметь возможность как раньше ездить по обочине/тротуару итп.
Оригинал взят у 1500py470 в О революции на транспорте...
Опять хочется вернуться к теме поднятой 7 ноября, в красный день календаря. Автомобили-роботы которые управляются программами с элементами AI, которые естественно находятся в их бортовых компьютерах уже есть, и активно разрабатываются. Пока эти программы находятся физически в бортовых компьютерах, гениальная мысль (наверное к счастью) держать их в “облаке” пока ещё никого не торкнула (но вероятно и тут есть обходные пути, чтоб ПО своё запустить). Вполне естественно бортовое ПО можно обновлять, “перешить прошивку”. Загрузка новых прошивок в автомобильные бортовые системы уже очень распространённое явление в нашем подлунном мире – есть сервисные центры и подпольные мастерские, которые “чипуют” мотор для повышения мощности, итп. Есть специально обученные программаторы для многих марок машин, которые доступны каждому – они позволяет выбрать одну из нескольких прошивок “Проверка CO/NOx” (с энтой прошивкой NOx Фольксваген на десятки миллиардов уже налетел), “Максимальная мощность”, “Экономия топлива” итп.
Таким образом новые не авторизованные производителями прошивки для автомобилей-роботов, и прочей колёсной и гусеничной техники будут появляться обязательно, с неизбежностью общего кризиса капитализма. В частности они могут потребоваться для возможности контроля за своей собственностью дабы поползновения GM разных пресечь. Но если продолжить думать о человеках, что они будут только за приватностью и безопасностью следить дабы корпорации не распоясывались, то это плохо думать за всё человечество. Поэтому господа и товарищи ИТРы (которые надеюсь это читают) давайте подумаем на выходных – Какие новые прошивки предложат анонимусы и компании не удовлетворенным потребителям?
( На подуматьСвернуть )
Таким образом уважаемые читатели, есть тема подумать на выходные.
А как получить адрес РОН? как аналог в Си: a = &b
В доке на avrasm2, не нашел...
У open-source проекта "Short-wave antenna analyzer for Arduino - DIY" (https://sites.google.com/site/swr4arduino/) появилось ЖЖ-сообщество
swr4arduino. Желательно использовать английский язык (допускается дублирование текста на русском).
Кто какими средствами разработки/отладки для PowerPC пользуется/пользовался? И какими аппаратными debugger-ами?
Сам работаю через gnu-gcc и иже с ними, но хотелось бы чего-нибудь болеее красочного (типа IAR и ему подобных).
Во всех доках по контроллеру прерываний (8259) сказано, что прерывания могут ловиться:
- по уровню
- по переднему фронту
На практике получается такая картина: под виндами прерывание ловится по ЗАДНЕМУ фронту (это видно на анализаторе), в QNX - по ПЕРЕДНЕМУ. При этом QXN (по словам прогеров, пишущих под него) вообще не дает настроить контроллер, а дает только повесить свой обработчик, а в виндовой функции подключения прерывания IoConnectInterrupt есть возможность выбрать только уровень/фронт (Lathed/LevelSensitive).
Вопрос: есть ли реальный способ запрограммировать контроллер прерываний, чтобы нужное прерывание (10е) ловилось по переднему фронту? Возникла необходимость в целях совместимости внедрить такую опцию в драйвер, чтобы не городить разные прошивки для устройства под разные ОС. В документации встречаются упоминания о том, что в современных компах контроллер стал несколько сложней и воможностей по его настройке соответственно больше, но никакой конкретики найти не удалось ((
Подскажите кто-нибудь что-нибудь, плиз!
З.Ы. Комп - промышленный Advantech с шиной ISA, железяка - ISAшная плата.
Настроение: на страже Мира и Прогресса
Имеется драйвер для ISAшной платы. Драйвер ловит 10е прерывание и по нему принимает данные.
Прерывание (сигнал INT) сбрасывается несколькими способами:
- автоматически (платой)
- драйвером в обработчике прерывания (по чтению определенного порта платы прерывание сбрасывается)
- вручную (чтение порта происходит по нажатию кнопки в программе)
При этом второй способ упорно не срабатывает. В чем разница?
При ручном сбросе прерывания чтение порта выполняется в обработчике DeviceIoControl - все работает.
При сбросе прерывания драйвером я пробовал 2 способа: чтение порта непосредственно из обработчика прерывания (перед выходом из него) либо порт читается из процедуры отложенной обработки, которая вызывается опять же перед выходом из обработчика прерывания - ни один способ не работает. То есть, в DebugView я вижу, что чтение порта произошло, но на анализаторе тишина...
В доках по DDK пишут, что READ_PORT_ должен работать на любом IRQL.
Кто-нибудь знает, в чем может быть дело?
Настроение: на страже Мира и Прогресса
Посоветуйте программатор, запускаемый из командной строки, для железа STK-500.
Есть некоторе количество железок, и программировать их из AVR-Studio с ручным выставлением каждый раз флагов и выбора файла дело муторное...
Есть платка mini2440, к ней есть платка с CMOS камерой CAM130 на основе чипа OV9550. Под управлением линукса эта камера работает, но драйвер выдаёт только изображение в формате RGB565 в разрешении 640х512. Появилось желание довести этот драйвер до ума.
Пока сделал разрешения 1280х1024, VGA, QVGA и QQVGA в формате YUV422p, поднял максимальную частоту кадров.
Собственно, кого-нибудь интересует помочь довести до ума или потестировать?
Update: http://code.google.com/p/s3c2440camera/ - драйвер, http://code.google.com/p/mjpg-streamer-mini2440/ - mjpg-streamer адаптированный для mini2440
Наткнулся на красивый и, похоже, самый оптимальный способ представления двоичных чисел в C через макросы:
#define _bitset(bits)
((unsigned char)(
(bits%010)|
(bits/010%010)<<1|
(bits/0100%010)<<2|
(bits/01000%010)<<3|
(bits/010000%010)<<4|
(bits/0100000%010)<<5|
(bits/01000000%010)<<6|
(bits/010000000%010)<<7))
#define BIN8(bits) _bitset(0##bits)
Например, BIN8(10100101) - это 0xA5.