2009-01-17

vak: (Default)
На днях переписал драйвер асинхронных портов для QNX. Стандартный devc-ser8250 был написан для классического UART 8250 и совершенно не умеет обращаться с современными чипами, типа TL16C654. Казалось бы, какая разница? Читая даташит, совсем не очевидно, что обработка прерываний для новых чипов делается _совсем_ не так. То есть совершенно по-другому. В Linux и FreeBSD это место давно переписано как надо (сам участвовал), а QNX отстал от прогресса.

Ниже приводятся результаты испытаний на процессоре Элвис MC-24. Это процент от максимально возможного темпа передачи и приёма данных при одном работающем канале и при четырёх. На больших скоростях сказывается ограниченная производительность процессора.

Скорость Один канал Четыре канала
57600 99 % 97 %
115200 99 % 67 %
230400 97 % 37 %
460800 92 % 19 %

vak: (Default)
Интересных дел накопилось куча с горкой.
  1. Поэкспериментировать с Tiny C Compiler. Насколько он ANSI-шный и переносимый?
  2. Установить на эмуляторе Unix V7 для i386. Получится ли сделать из него полноценную систему? Для начала затащить GCC.
  3. Перенести Bash Commander на недавно вышедший Bash 4.0 beta.
  4. Собрать E Editor - самый маленький текстовый редактор из известных мне. Можно ли запустить его на BKUNIX?
  5. Досмотреть сериал "Таинственный остров". Американцы сделали из Жюля Верна какой-то ералаш, но всё равно прикольно.
  6. Обработать и выложить отсканированную первую часть описания МКП - последней советской ЭВМ.
  7. Изучить ARINC 653 на тему реализации в uOS партишинга.
  8. Заняться переносом uOS на SK-AT91SAM9XE512-S3E.
  9. Посмотреть Minix3 на тему применения вместо QNX.