|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.11.2011, 21:04 | #1 |
Пользователь
Регистрация: 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??? |
12.11.2011, 21:34 | #2 |
Участник клуба
Регистрация: 23.12.2010
Сообщений: 1,129
|
Тебе стОит почитать хотя бы базовую информацию о том, как устроена шина pci. И все станет понятно.
На пальцах - шина/устройство/функция это иерархия всех устройств, подключенных к шине. Номер регистра - номер регистра в устройстве, собсна. Сначала пишешь в порт 0cf8h адрес (зная номера устройства, шины, функции и регистра). А потом в порт 0cfch пишешь значение. Почитай для начала хотя бы здесь -> http://en.wikipedia.org/wiki/PCI_configuration_space |
12.11.2011, 21:45 | #3 | |
Пользователь
Регистрация: 05.06.2011
Сообщений: 48
|
Цитата:
хочется посмотреть как это делается в практике... а то в исходниках куча лишней хрени... и толком я не понял... |
|
12.11.2011, 22:17 | #4 |
Пользователь
Регистрация: 05.06.2011
Сообщений: 48
|
меня из этого всего сильно интересует как в порт 0хCF8 правельно записать регистр 0001h...?
Последний раз редактировалось vova65; 12.11.2011 в 22:26. |
12.11.2011, 22:48 | #5 |
Участник клуба
Регистрация: 23.12.2010
Сообщений: 1,129
|
Нужно знать номер шины, устройства и функции того девайса, в чей регистр ты хочешь писать. Тогда формируешь значение адреса, как описано выше, и пишешь его в порт. А потом само значение, которое хочешь записать в регистр, пишешь в другой порт.
|
13.11.2011, 19:17 | #6 |
Пользователь
Регистрация: 05.06.2011
Сообщений: 48
|
приведите пожалуйста пример как пример как изменить значение регистра 00D8h через порты I/О...
в примере используйте любой номер шины, устройства и функции того девайса и любое значение для записи в регистр 00D8h.... |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с платой ввода/вывода 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 |