Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 477

/ вопрос открыт /

Привет всем!

Мой вопрос заключается в том, что мне нужно узнать как выделить в первом мегабайте RAM(не virtual memory) одну страницу памяти размером 64Кб под буфер DMA, так чтоб знать ее номер, который понадобится в дальнейшем.
Просто никогда ничего подобного раньше с RAM не делал, знаю только что в первый мегабайт при загрузке системы грузится часть ядра системы, если я не ошибаюсь.
Сначала думал что подойдет функция AllocateUserPhysicalPages но на msdn пишут что для корректной работы нужна как минимум vista.
Возможно это реализуется както иначе не через API, в любом случае буду благодарен за хоть какую нибудь информацию по этому вопросу.

SOA Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: SOA (статус: Посетитель)
Вопрос отправлен: 31 июля 2010, 11:55
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 4; последнее сообщение — 2 августа 2010, 08:30; участников в обсуждении: 3.
Егор

Егор (статус: 10-ый класс), 31 июля 2010, 18:24 [#1]:

нифига себе вопрос. это зачем тебе такое понадобилось?
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
SOA

SOA (статус: Посетитель), 31 июля 2010, 18:59 [#2]:

Это нужно для функции воспроизведения wav файла с 16 битным сэймплом через звуковую карту, посредством DMA контроллера(Dynamic memory access), порывшись в манах на эту тему нашел несколько стоящих, вот в этом
http://zet.aluzina.org/index.php/8237_DMA_controller

пишут что DMA буфер должен распологаться в пределах первого мегабайта RAM (там где пишут про Page register).
Вадим К

Вадим К (статус: Академик), 1 августа 2010, 20:07 [#3]:

В первом мегабайте выделить кусочек памяти сложно - никто не даст, а если точнее быть - это невозможно. То есть, что бы выделить память, нужно что бы кто то выделял ее, а в Windows не выделяет там память....

Поэтому выделять не нужно. Там уже все зарезервировано. Нужно просто узнать и писать/читать. Если разрешат конечно:)
Галочка "подтверждения прочтения" - вселенское зло.
SOA

SOA (статус: Посетитель), 2 августа 2010, 08:30 [#4]:

Спасибо.
Буду знать.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 23 июня 2017, 09:52
Выполнено за 0.03 сек.
Рейтинг@Mail.ru