Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с устройствами [D1, D2, D3, D4, D5, D6, D7, Win95/98, WinME, NT4, Win2k, WinXP]


Страницы:   1 2

Evgeniy_K ©   (2004-01-23 13:11:00) 

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


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

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


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

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


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

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


Alexander666   (2004-03-06 09:26:00) [4]

Есть тут ветка одна про кольца: http://www.delphimaster.ru/cgi-bin/forum.pl?id=1077518181&n=2- а дальше сам разбирайся, я в ассемблере не асс.


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

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


Alexander666   (2004-03-06 06:13:00) [6]

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


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

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


Digitman   (2004-03-05 14:49:00) [8]

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

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


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

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


Digitman   (2004-03-05 12:14:00) [10]

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


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

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


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

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


Digitman   (2004-03-04 18:27:00) [13]


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


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


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

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


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


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


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

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


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


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

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

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

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

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

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

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


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

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


Digitman   (2004-03-04 14:43:00) [17]


> Evgeniy_K   (04.03.04 14:34) [9]


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

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


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

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


Digitman   (2004-03-04 13:57:00) [19]


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


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

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

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


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

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо