Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2011, 21:04   #1
vova65
Пользователь
 
Регистрация: 05.06.2011
Сообщений: 48
По умолчанию Работа с PCI шиной

помогите пожалуйста!!!!!
напишите как работать с портами I/O...

есть порты I/O
Порт адреса 0хCF8
+----------------+--------+-------+-----------+---------+----------------+-+-+
|31 |30 24|23 16|15 11|10 8|7 2|1|0|
+----------------+--------+-------+-----------+---------+----------------+-+-+
| флаг доступа | резерв |шина |устройство| функция|Индекс регистра|0|0|
+----------------+--------+-------+-----------+---------+----------------+-+-+
Что в нем такое: флаг доступа, резерв, шина, устройство, функция, Индекс регистра..?
Для чего используются 0 и 1 биты?

Порт адреса 0хСFC
+---------------+--------------+---------------------+
|23 16|15 8|7 0|
+---------------+--------------+---------------------+
|Base Class Code|Sub Class Code|Programming Interface|
+---------------+--------------+---------------------+
Что в нем такое: Base Class Code, Sub Class Code, Programming Interface?

и есть регистр микроконтроллера 0001h
как с портов I/O прочитать и изменить значение регистра 0001h???
vova65 вне форума Ответить с цитированием
Старый 12.11.2011, 21:34   #2
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Тебе стОит почитать хотя бы базовую информацию о том, как устроена шина pci. И все станет понятно.
На пальцах - шина/устройство/функция это иерархия всех устройств, подключенных к шине. Номер регистра - номер регистра в устройстве, собсна.
Сначала пишешь в порт 0cf8h адрес (зная номера устройства, шины, функции и регистра).
А потом в порт 0cfch пишешь значение.
Почитай для начала хотя бы здесь -> http://en.wikipedia.org/wiki/PCI_configuration_space
Son Of Pain вне форума Ответить с цитированием
Старый 12.11.2011, 21:45   #3
vova65
Пользователь
 
Регистрация: 05.06.2011
Сообщений: 48
По умолчанию

Цитата:
Сообщение от Son Of Pain Посмотреть сообщение
Тебе стОит почитать хотя бы базовую информацию о том, как устроена шина pci. И все станет понятно.
На пальцах - шина/устройство/функция это иерархия всех устройств, подключенных к шине. Номер регистра - номер регистра в устройстве, собсна.
Сначала пишешь в порт 0cf8h адрес (зная номера устройства, шины, функции и регистра).
А потом в порт 0cfch пишешь значение.
Почитай для начала хотя бы здесь -> http://en.wikipedia.org/wiki/PCI_configuration_space
я уже читал как устроена шина pci... и в теории понял как с ней работать...
хочется посмотреть как это делается в практике... а то в исходниках куча лишней хрени... и толком я не понял...
vova65 вне форума Ответить с цитированием
Старый 12.11.2011, 22:17   #4
vova65
Пользователь
 
Регистрация: 05.06.2011
Сообщений: 48
По умолчанию

меня из этого всего сильно интересует как в порт 0хCF8 правельно записать регистр 0001h...?

Последний раз редактировалось vova65; 12.11.2011 в 22:26.
vova65 вне форума Ответить с цитированием
Старый 12.11.2011, 22:48   #5
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Нужно знать номер шины, устройства и функции того девайса, в чей регистр ты хочешь писать. Тогда формируешь значение адреса, как описано выше, и пишешь его в порт. А потом само значение, которое хочешь записать в регистр, пишешь в другой порт.
Son Of Pain вне форума Ответить с цитированием
Старый 13.11.2011, 19:17   #6
vova65
Пользователь
 
Регистрация: 05.06.2011
Сообщений: 48
По умолчанию

приведите пожалуйста пример как пример как изменить значение регистра 00D8h через порты I/О...

в примере используйте любой номер шины, устройства и функции того девайса и любое значение для записи в регистр 00D8h....
vova65 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с платой ввода/вывода PCI-1762 Денис_83 Общие вопросы Delphi 4 28.07.2011 19:50
Работа с PCI портом Volodya199 Общие вопросы C/C++ 1 14.12.2010 20:17
работа двух звуковых: интегрированной и PCI ArtInt Компьютерное железо 0 28.10.2010 21:08
программная работа с портом pci [linux?] arcer Win Api 7 25.08.2010 22:30
PCI BIOS Sharaevsky_Vitaly Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 02.04.2009 11:08