Вопрос: Почему на плате Fastwel CPC303 при тестировании COM порта под QNX 6 теряются или меняются байты?
Ответ: Проблемы могут возникать по следующим причинам:
1. Из-за слишком интенсивной загруженности COM порта на высокой скорости обмена (57600 бод и выше). Обработчик прерываний драйвера devc-ser8250 достаточно тяжеловесный. Малопроизводительный процессор может не успевать обработать поток данных. Рекомендуется включать FIFO приемника и передатчика UART контроллера:
# devc-ser8250 –t14 –T14
2. Из-за интенсивного вывода информации на консоль. Такова особенность процессоров Geode и соответственно плат CPU686E, CPC303 и CPC105. Любое обращение к видеопамяти в терминальном режиме на этих платах генерирует SMI прерывания для обновления изображения. Для одного обновления экрана может произойти до 25*80=2000 прерываний, что сильно загружает процессор. Поскольку SMI это немаскируемое прерывание, имеющее высший приоритет, то частая его генерация может привести к переполнению FIFO буферов в контроллерах и потере данных.
В данной ситуации рекомендуется минимизировать работу с консолью либо совсем отказаться от нее, выключив в BIOS. При этом отладочную и другую текстовую информацию можно будет отображать:
- Через терминал, подключенный к последовательному порту (например, через COM1).
- Через telnet по TCP/IP на инструментальном ПК.
- Через qnet прозрачную сеть.
- Через pterm в Photon.
Для отладки рекомендуется использовать slogger и функцию slogf() вместо printf(). Вывод отладочной информации осуществляется через sloginfo –w .
Вопрос: У меня возникли проблемы с установкой QNX на CompactFlash c контроллером CPU686E. На CompactFlash создал раздел QNX, сделал его загружаемым, прописал загрузчик. Создал образ, записал его на CompactFlash. При попытке загрузки с CompactFlash на экране появляется:
QNX Loader
Boot Partition 4
Missing Operating System
Посоветуйте, пожалуйста, как решить проблему.
Ответ: Сообщение "Missing Operating System" выдается, обычно, когда в BIOS установлен неверный формат диска: LBA или Normal. Попробуйте загрузиться, поменяв установки диска. Если не получится, то рекомендуем переформатировать CompactFlash в LBA или в Normal. Вот два способа:
Первый способ - переформатировать в LBA или Normal на самой плате:
1) В BIOS определить CompactFlash как LBA или Normal.
2) Загрузиться с другого диска или дискеты в DOS, Windows или Linux.
3) Отформатировать CompactFlash.
Второй способ - переформатировать в LBA, используя USB Card Reader:
1) Подключить CompactFlash через USB Card Reader.
2) Под Windows зайти в Administrative Tools, далее в Computer Management, затем Disk Management.
3) Удалить раздел и создать заново.
В результате из 248 цилиндров и 121Мбайта в Normal получится 15 цилиндров и 117Мбайт LBA.
На платах CPU686E, CPC303, CPC105, CPC106, CPB902, CPB903 и CPC108 диск будет загружаться как LBA.