Ассемблер, Линукс и Kylix....

Форум предназначен для новичков. В нем предполагается рассматривать вопросы, которые встают на первых этапах освоения Linux
Anonymous

Ассемблер, Линукс и Kylix....

Сообщение Anonymous »

Мне нужно писать программу которая будет иметь полный доступ к ресурсам компьютера (программирование контроллера USB).
Как Linux поддерживает прямой доступ к портам ввода-вывода?
Я пытался в Kylix 2.0 написать следующее:
Ассемблерная вставка:
asm
mov DX, $380
in AL, DX
end
На вторую строку (in AL,DX) ругается....... Примерно как Windows когда лезешь в порты ввода-вывода....

Аватара пользователя
mend0za
Неотъемлемая часть форума
Сообщения: 2332
Зарегистрирован: 30 авг 2002, 12:33
Откуда: Minsk

Сообщение mend0za »

linux - не dos

Архитектура другая.
почти вся работа с устройствами осуществляется через фаловую систему /dev. Низкоуровневые задачи делаются через системные вызовы. основные средства - Си + libc
ассемблер применяется крайне редко и имеет другую нотацию (AT&T - см. книгу Зубкова "Ассемблер для DOS, Windows и Unix)

архитектура системы такова, что тебе просто не дадут доступа к портам. Более того, часть регистров и прерываний недоступна из пользовательских задач. Разграничение доступа.

Если пишешь драйвер к какому-нибудь устройству - Kylix можешь сразу выбросить. текстовый редактор с подстветкой синтаксиса +чтение документации с ldp.linux.by. Полезными будут "Linux Kernel Internals" и "Linux Device Drivers". Если коротко, то это будет модуль к ядру.

если все таки приперло переходить на системный уровень, для начала прочитай об архитектуре Unix (на русском 2 книги - Робачевский "ОС Unix" и М. Бах "Архитектура ОC Unix")

PS: навыки работы в досоподобных системах тут не применимы.
И увидел я зверя, выходящего из тундры. И число его было 3.14159265358979324...

Гость

Сообщение Гость »

Почитай что-нить по юниксам вааще, и по линуху в частности. Твоему порту USB будет соответствовать что-то типа /dev/usb который открывается обычным образом и туда что-то пишется. Если надо еще ниже то см. kernel src. Точне не скажу, т.к. у меня интервейса такого в компе нет.

Ответить