Как сделать образ CF карты в QNX

На самом деле, все очень просто — в QNX есть большинство unix-утилит, в том числе dd. Ею-то мы и воспользуемся.

Подключаем картридер, втыкаем туда карточку — желательно сделать это до загрузки системы, тогда cf-карта подмонтируется автоматически.

Смотрим в каталог /dev — нам нужно узнать, какой префикс получила cf. Монтируется карта в QNX как жесткий диск, т.е. с префиксом hd*.

Обычно в /dev есть hd0 (это винчестер, куда установлена QNX) и, в зависимости от конфигурации компьютера (а точнее, наличия других жестких дисков) hd1, hd2, etc.

Нам нужно что-то вроде hd10, hd11 — для usb-картридера QNX монтирует карты начиная с 10.

Определив, как система обозвала нашу карту, открываем терминал, вводим команду:

# dd if=/dev/hd10 of=/root/myimage.bin

И забираем из каталога /root файл (myimage.bin) с полным образом compact flash карты.
Вот и все.

Обратный процесс возможен для флэшки такого же размера и так же прост:

# dd if=/root/myimage.bin of=/dev/hd10

Ахтунг — процесс, в принципе, безопасен, но вся информация на флэшке будет невосстановимо затерта.

Похожий бред:

Реалити-шоу «КБ13 и АЦП». Пауза

На время мы прекращаем наши прямые трянсляции, по той причине, что главный транслятор убился, катаясь на роликах, и лежит дома с больной спиной.

Похожий бред:

Реалити-шоу «КБ13 и АЦП». День 1.

Намигавшись диодами (инсталляция «я и диод») в течение получаса, мы получили полное моральное право перейти к отработке действительно нужных вещей.

Случайным образом из кучи задач была выбрана одна — заполнение и чтение FIFO буферов, то есть запись и чтение внешней SDRAM-памяти.

Памяти у нас в распоряжении оказалось 8 МБ (ровно по 512 КБ на каждый канал), sdram, согласно даташиту поддерживает запись как слов (32 бита), так и полуслов (16 бит) и четверть-слов (8 бит).

АЦП при чтении возвращает с каждого канала signed short значение оцифрованного напряжения. Т.е. 16 бит. Значит, если мы хотим прожигать в память данные длинной в слово, сбрасывать буфера нужно каждые два чтения.

Простая тестовая программа суть должна делать следующее — инициализация памяти, подсчет количества слов, которые мы имеем в памяти, два чтения ацп с записью результатов в буфер типа long (соответсвующий слову памяти), сброс буфера в память, чтение из памяти и сравнение значений — все ли правильно.

Для простоты будем писать все каналы подряд, а не в отдельные буферы — т.е. не будем смещаться на 512 КБ, когда пишем другой канал.

Отбрасывая функции инициализации железа, установки прерываний и т.п., на скорую руку вышла вот такая main():
Читать далее

Похожий бред:

Реалити-шоу «КБ13 и АЦП». День 0.

Борьба КБ 13 с платой АЦП началась с непокорной AVR32 Studio, которая никак не желала нормально компилить ассемблерный файл trampoline.s из uc3a0256-software-framework. Об этом было написано ранее.

В принципе, у нас был makefile, и программа собиралась и без всяких студий. Прожечь бинарник в плату также должно было быть несложно. Но не тут-то было.

Фирменный атмелевский эмулятор mkiceII моментально подцепился все той же студией, но вот заливать проект упорно не желал.
Чтение регистров, фьюзов, информации о mcu, ресет процессора — все работало. А вот записать бинарник на флэш — ни в какую.
Шаманство со фьюзами, настройками эмулятора, ресетами шло полным ходом, когда совершенно неожиданно программа-таки записалась куда надо. Но — мистика — только один раз. Больше не пожелала. Прошло еще некоторое время бесплодных попыток, и все заработало стабильно. Подозреваю, волшебное воздействие оказало стирание флэш памяти и полный сброс всех настроек. Хотя сброс делали и до этого — не помогало.

Дальше надо было решать что-то с отладкой. Хотя решать тут было нечего — отлаживаться в привычном и родном по QNX Momentics IDE Eclipse явно удобнее, чем не отлаживаться вовсе или извращаться и тратить время на отладку через spi или usb.

В конце концов, проект вместе со своим мэйкфайлом был запихан в студию, и стало можно приступить к отработке основного функционала платы, который нам нужен для написания прошивки — чтение ацп, чтение/запись внешней SDRAM, запись в статическую флэш-память, прием/передача по последовательному порту.

Но тут рабочий день неожиданно закончился.

Похожий бред:

«Фича» в Nokia N85

N85 преследует какой-то рок бажить при зарядке.
Телефон, конечно, очень удобный и в нем есть натурально все, но вот с зарядкой не везет.

Мелочи, вроде не всегда отображающегося индикатора включения в сеть, не считаются.

Сначала он глючил, перезагружаясь при воткнутом шнуре ЗУ раз в полчаса.
Nokia признала это официальной недоработкой целой партии и отозвала телефоны в сервис-центры — менять резисторы в цепи питания.

После возвращения из ремонта перезагрузки прекратились. Зато теперь при выдергивании шнура телефон выдает жизнерадостное «Теперь вы можете отключить питание для экономии электроэнергии».
Такие дела.

Похожий бред:

  • Этот псто слишком уникален

AVR32 Studio и .s-файлы

Как выяснилось, стандартные проекты в AVR32 Studio не сильно дружат с ассемблерными исходниками.
То есть просто кинуть ассемблерный файл в проект и скомпилировать может быть целой проблемой. Компилятор может упорно выдавать ошибку на ровном месте, например, в файле из поставляемого самой Atmel фреймворка для работы с AT32UC3A.

Есть решение в виде создания make-проекта ( AVR32 C Project (Make) ) и написания собственного make-файла.

Недостаток этого способа, что приходится вручную писать makefile и править его при добавлении новых исходников или удалении старых.

Но лучше так, чем никак — AVR32 Studio сделана на основе eclipse, и работать в ней весьма приятно…

Скриншот…

Похожий бред:

АЦП AIN16v1.0 by НТЦ «Риф»

В нашем КБ (которое, как известно, является частью Мегакорпорации) готова очередная разработка. На этот раз не программа, а вполне даже материальная вещь, которую можно потрогать руками (и даже приобрести).

Плата аналого-цифрового преобразования AIN16v1.0:

Лицевая сторона платы AIN16

Основные характеристики платы:

  • Микропроцессор AVR32UC3A0256;
  • 8 мегабайт SDRAM (MT48LC16M16A2);
  • Частота АЦП 400 КГц;
  • 16 независимых дифференциальных аналоговых входов разрядностью 16 бит;
  • 512 КБ FIFO буфер у каждого канала;
  • Время оцифровки всех 16 входов не более 10 мкс;
  • Защита входных каналов дифференциальными усилителями с рабочим синфазным напряжением 270V и защитой от синфазных и дифференциальных напряжений до 500V;
  • Интерфейсы: RS232, RS422, RS485, JTAG, SPI, USB, 10-позиционный DIP-switch;
  • 3 статусных светодиода;
  • Размеры платы: 100 x 160 мм.
  • Рабочий диапазон температур: -40..+85;
  • Возможна поставка с военной приемкой.

Полный комплект софта включает в себя

  • Прошивка MCU платы;
  • Драйвера под win32 и QNX6.x.

Прошивка AIN16-software скрывает от конечного программиста работу с железом АЦП и обеспечивает прозрачный интерфейс, в котором предусмотрены следующие возможности:

  • «Одновременное» считывание всех 16 аналоговых каналов;
  • Расчеты фазы, сдвига, амплитуды, cos µ, частоты. А также пересечения фаз, БПФ;
  • Выдача информации по RS- и USB- интерфейсам;

И многое другое — по желанию заказчика.

О процессе разработки ПО всегда можно почитать на нашем сайте в специальной рубрике.

Научно-Технический Центр «Риф» (и его подразделение КБ 13), наравне с обеспечением высокого качества и надежности продукции, всегда ставит своей задачей удовлетворить все требования заказчика. Обеспечение поддержки и консультации по внедрению — одно из приоритетных направлений нашей работы.
Мы всегда идем навстречу заказчику и готовы поставлять продукцию как с серийной прошивкой и комплектацией, так и, в случае нужды, разработать уникальные версии ПО для узкоспециализированного использования.

Если у Вас возникли вопросы или коммерческий интерес, с нами всегда можно связаться по e-mail (max@rif-spb.com) или просто оставив комментарий к этой записи.

Похожий бред:

Вывод собственной картинки для каждой категории в DataLife Engine

Вывод картинки в конце сообщения в DLE сделать вполне даже легко — редактируется шаблон shortstory.tpl и все.

Но таким способом мы будем выводить одну и ту же картинку в конце всех анонсов новостей.

В нашем новом проекте понадобилось сделать немного по другому — в одной категории в конце поста выводить одну картинку, в другой — другую, в третьей — вообще не выводить. Да еще и сделать эти картинки ссылками внутрь новости.

Если говорить конкретнее:

  • в категории «Кинотеатр-онлайн» выводим картинку с кинолентой;
  • в категории «Скачать» выводим картинку с VHS-кассетой;
  • в остальных категориях ничего дополнительного не выводим.

Сначала решение казалось очевидным — назначить каждой категории свой шаблон, где и прописать вывод нужных картинок. Но это срабатывает только при выводе новостей определенной категории, когда же мы просматриваем главную страницу — движок не может определить в какой категории мы находимся и использует стандартный shortstory.tpl.
Читать далее

Похожий бред:

php в шаблонах DataLifeEngine

По умолчанию, php из шаблонов движок вырезает при генерации страницы.

Чтбы этого избежать, нужно в файле index.php найти строчку

echo $tpl->result['main'];

И заменить ее на

eval (' ?' . '>' . $tpl->result['main'] . '<' . '?php ');

Похожий бред: