Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.02;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.033 c
11-1064416393
Revolter
2003-09-24 19:13
2004.05.02
ComboBox... устал с ним бороться... помогите, plz


1-1081485773
EvgeniyR
2004-04-09 08:42
2004.05.02
ToolBar в MDI


3-1081168666
AOH
2004-04-05 16:37
2004.05.02
проверка isNull в кобмбобоксе ACCESS


3-1081422919
ORMADA
2004-04-08 15:15
2004.05.02
ADO список провайдеров


6-1078984444
Alekzzzzz
2004-03-11 08:54
2004.05.02
Закачка файла на сайт.