Всем привет!
Есть следующая проблема. Работаю с OMAP-L138. C ARM под WinCE. Написал простенький драйвер (драйвер загружается, IOControl вызывается, все замечательно).
Моему драйверу надо работать с областью памяти для взаимодействия с DSP, например 0xc4000000. Т.е. в эту область надо записать, и считать.
Когда я смотрю как работает DSPLink драйвер, то для того чтобы записать в эту область, но преобразует адрес и записывает в d3a10000. Зачем он это делает, в смысле преобразует, и как он преобразует реальный адрес в этот?
И еще.
Когда мой драйвер пытается доступиться к адресу больше 0x80000000, у меня программа вылетает с OS exception. Очивидно, что там как-то включается режим доступа к адресам, но вопрос как?
В общем вороса два:
Как мне преобразовывать реальный адрес в "виртуальный"?
И как разрешить драйверу доступ ко всему адресному пространству?
Спасибо!