Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Вниз

Работа с устройствами   Найти похожие ветки 

 
Evgeniy_K   (2004-01-23 13:11) [0]

Есть устройство Intel RGN. Есть регистры. Как осуществлять чтение/запись в них?


 
Игорь Шевченко ©   (2004-03-03 17:57) [1]

1) Драйвер писать.
2) Искать написанный


 
Evgeniy_K   (2004-03-03 18:52) [2]

Драйвер установлен. Написано, что по физ. адресу 0xFFBC015F(read/write)
Bit mask
0x40 - (bit 6 read-only) - имеется устройство
0x01 - (bit 0 read/write) - включено/выключено
и т.д.
Как этим правильно пользоваться? Дается пример на С++, но я только в курсе его основ, а такими вещами ранее не занимался. Так как придется в конечном счете перевести на делфи, то прошу помочь кодом на делфи (любом).


 
Evgeniy_K   (2004-03-03 18:53) [3]

Сама документация именуется Intel 82802 Firmware Hub: Random Number Generator. Драйвер весит 1 мб. Позволяет работать с интересными штучками, которые имеются, в т.ч. RNG


 
VMcL ©   (2004-03-03 18:54) [4]

>>Evgeniy_K  (03.03.04 18:52) [2]

А код на C++ угадать надо?


 
Evgeniy_K   (2004-03-03 19:00) [5]

Сам документ можно взять на intel.com, там и код.


 
Soft ©   (2004-03-04 00:56) [6]

>>Evgeniy_K   (03.03.04 19:00) [5]
>>Сам документ можно взять на intel.com, там и код.

Ссылку прямую давай, или сам майся.


 
Evgeniy_K   (2004-03-04 13:32) [7]

http://www.intel.com/design/chipsets/manuals/298029.pdf


 
Digitman ©   (2004-03-04 13:57) [8]


> Evgeniy_K   (03.03.04 18:52) [2]
> Драйвер установлен. Написано, что по физ. адресу 0xFFBC015F(read/write)
>


в упомянутом мануале это написано не касаемо драйвера, а касаемо физического уровня

т.е. некий драйвер режима ядра (штатно поставляемый с дивайсом либо написанный тобой собственноручно в соответствии с логикой в мануале) как раз и осуществляет посредническую миссию между прикладной задачей (в первом приближении, не имеющей права обращаться к физ.памяти напрямую) и программным интерфейсом дивайса

если нет описания к штатному драйверу (и/или примеров прикладного взаимодействия с ним), то на NT-платформе в принципе можно читать физ.память, открыв объект-секцию \\Device\PhysicalMemory, а на маздайной платформе - тривиальный переход в Ring0, затем формирование дескриптора GDT или LDT, через который будет возможно обращаться к физ.памяти произвольным образом


 
Evgeniy_K   (2004-03-04 14:34) [9]

Можно кусочек кода, если не сложно? Заранее спасибо.


 
Digitman ©   (2004-03-04 14:43) [10]


> Evgeniy_K   (04.03.04 14:34) [9]


какого кода ? конкретно ? я обо многих вещах говорил ...

так ты не сказал, что там у тебя с имеющимся драйвером ? какая ситуация ?


 
Evgeniy_K   (2004-03-04 14:44) [11]

Драйвер установлен соответствующий. Код ипсользования RNG.


 
Digitman ©   (2004-03-04 15:23) [12]


> Драйвер установлен соответствующий


ну так исследуй детально команды управления им !
что ж ты его не используешь-то ?

доступ к драйверу, вероятно, будет выглядеть как CreateFile("\\Devices\MyRNGDevice", ...) + ReadFile()/WriteFile()


> Код ипсользования RNG


Ты предлагаешь мне написать за тебя драйверы твоего дивайса под каждую платформу ? Так что ли ? Или ты хочешь в обход использования драйверов иметь дело с недок.возможностями о получению управления в Ring0 ? Последнее крайне не рекомендуется, ибо никто не гарантирует надежность такого кода

и вообще - дели задачу

1. Собственно код обращения к интерфейсу устройства согласно мануалу

2. Вспомогательный (технологический) код, позволяющий осуществить п.1 в принципе, т.е. получение тем или иным образом управления в Ring0 с целью беспроблемного и корректного выполнения п.1

п.1 примитивен, Интел разжевал его в мануале, и реализовать псевдокод в Паскаль- или Асм-код проще простого, ничего там сложного нет ... не понимаю, что здесь у тебя вызывает затруднение

п.2
если речь идет о драйвере, то реализация всех станд.драйверных соглашений для разных платформ в коде - дело нетривиальное ... на то у мелкомягких есть штатные комплекты DDK (Драйвер Дивилопмент Кит)

если речь идет НЕ о драйвере, то дело не менее нетривиальное, но помотреть как это делается можно .. буквально на этой неделе то ли в "Системе" то ли в "WinAPI" шла дискуссия на эту тему ... она где-то рядом, ищи по ключ.слову "Ring0", там есть соотв.ссылки с примерами


 
Evgeniy_K   (2004-03-04 18:22) [13]

Я хочу увидеть пример обращения к физ. адресу, с которым можно работать при помощи драйвера. Драйвер уже написан интел. Нужно только правильно обратится к нему.


 
Digitman ©   (2004-03-04 18:27) [14]


> Драйвер уже написан интел


я никак не пойму, почему ты его не используешь ?


 
Evgeniy_K   (2004-03-04 19:27) [15]

Не умею :-/ Мои знания не позволяют это сделать. В документации есть код, который мне нужен на Delphi, а знания не позволяют полностью перевести его, поэтому я и прошу помощи у знающих людей.


 
Evgeniy_K   (2004-03-05 08:23) [16]

Помогите перевести кусочек кода C++ -> Object Pascal


 
Digitman ©   (2004-03-05 12:14) [17]

приводи код, посмотрим что там к чему


 
Evgeniy_K   (2004-03-05 13:31) [18]

Код находится в документации по ранее упомянутой ссылке, с комментариями.


 
Digitman ©   (2004-03-05 14:49) [19]

во-первых, там не С++ код, а псевдокод.. несмотря на синтаксис, очень похожий на С-синтаксис

во-вторых - еще раз повторяю, если ты не слышишь или не слушаешь - в Ring3 этот код бесполезен, ты не сможешь его выполнить


 
Evgeniy_K   (2004-03-05 15:07) [20]

Зачем мне Ring? У меня есть драйвер, который имеет физ. адрес (указаны в мануале). Мне всего лишь нужно считать данные по этому адресу без всяких Ring


 
Alexander666 ©   (2004-03-06 06:13) [21]

Так Ring и нужен, чтобы данные считать! :-))) Ведь система тебя в эту область адресов через Ring3 не пустит и вернет ошибку, что мол, типа, давай переходи на Ring0, а там уже и читай :)))


 
Evgeniy_K   (2004-03-06 09:05) [22]

Пример в студию. Заранее спасибо.


 
Alexander666 ©   (2004-03-06 09:26) [23]

Есть тут ветка одна про кольца: http://delphimaster.net/view/7-1077518181/ - а дальше сам разбирайся, я в ассемблере не асс.


 
Evgeniy_K   (2004-03-06 09:35) [24]

Так это все и на делфи нормально делается через драйвер


 
Evgeniy_K   (2004-03-06 10:15) [25]

Токмо я не умею


 
Evgeniy_K   (2004-03-06 20:23) [26]

Посоветуйте, тогда кто/где может/ут мне помочь



Страницы: 1 вся ветка

Форум: "Система";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.54 MB
Время: 0.03 c
14-1081346744
Polevi
2004-04-07 18:05
2004.05.02
Требуются програмистки


1-1082100085
ZDDR
2004-04-16 11:21
2004.05.02
Locker


1-1082053059
ZDDR
2004-04-15 22:17
2004.05.02
Hook для блокировки компа


14-1080218768
Malkolinge
2004-03-25 15:46
2004.05.02
Наша с Михаилом книга.


3-1081214753
makz
2004-04-06 05:25
2004.05.02
combobox и dataset





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский