Как написать драйвер
Передо мной стоит такая задача
Есть робот, построеный на процессоре 8086, имеющий COM порт
мне нужно подключив компютер к роботу иметь доступ к его памяти(не оперативной), и работать с ней читать и записывать туда данные
Не пойму с чего начать.
По идее надо написать драйвер. установить его и виндовс будет видеть робота как накопитель.
Как я мыслю для работы с таким устройством есть стандартные команды.
И возможно таких драйверов уже написано тысячи.
Я могу писать на с++, но видимо тут придется освоить ассемблер.
Помогите - с чего начать, и какой алгоритм деиствий???:confused:
2. Поставить DDK и изучения примеров. Читаешь документацию.
5. Изучения литературы. На русском ее немного книг можно пересчитать по пальцам руки. Читать не советую. Потратишь кучу сил, а толку будет мало. Возможно кто-то несогласится
6. Изучение ассемблера. Пригодится только в рамках общего развития. Плюс есть несколько примеров. Писать драйвер лучше всего на Си++ по многим причинам.
PS. Сомниваюсь что у робота процессор 8086.
Есть робот, построеный на процессоре 8086, имеющий COM порт
мне нужно подключив компютер к роботу иметь доступ к его памяти(не оперативной), и работать с ней читать и записывать туда данные
Не пойму с чего начать.
[/QUOTE]
Замечательно. Условие задачи наличиствует, осталось только построить правильно цепочку действий к ее решению, оценив то что есть и что нужно, чтобы получить все в законченном виде
1. Робот, построеный на процессоре 8086, имеющий COM порт
2. Необходимо иметь доступ с десктопа к его памяти через COM шнурок
3. В Windows/POSIX системах наличиствует стандартное API для работы c COM портом, остается написать приложение под десктопную ситему
4. Для общения робота с приложением на десктопе очевидно необходим некий протокол отражающий тип операции (чтение/запись), адрес данных в памяти робота, количество читаемых/записываемых данных и собственно сами данные
5. На стороне робота должен быть написан код, который реализует поддержку данного протокола
Итого: Основную часть составляет разработка протокола взаимодействия и поддержка его на стороне робота.
Цитата: Pavia
1. С поиска похожего драйвера. Или того что можно взять за каркас.
2. Поставить DDK и изучения примеров. Читаешь документацию.
2. Поставить DDK и изучения примеров. Читаешь документацию.
Я нашел драйвер для работы с COM портом
Программку которая записывает и считывает данные в COM порт
Скачал DDK, но с английским туго
Но вот такой вопрос
Возможно ли записать в COM порт команду для 8086, чтоб тот ответил что у него в памяти?
Спасибо
Цитата: Ramon
осталось только построить правильно цепочку действий к ее решению, оценив то что есть и что нужно, чтобы получить все в законченном виде
1. Робот, построеный на процессоре 8086, имеющий COM порт
2. Необходимо иметь доступ с десктопа к его памяти через COM шнурок
3. В Windows/POSIX системах наличиствует стандартное API для работы c COM портом, остается написать приложение под десктопную ситему
4. Для общения робота с приложением на десктопе очевидно необходим некий протокол отражающий тип операции (чтение/запись), адрес данных в памяти робота, количество читаемых/записываемых данных и собственно сами данные
5. На стороне робота должен быть написан код, который реализует поддержку данного протокола
Итого: Основную часть составляет разработка протокола взаимодействия и поддержка его на стороне робота.
1. Робот, построеный на процессоре 8086, имеющий COM порт
2. Необходимо иметь доступ с десктопа к его памяти через COM шнурок
3. В Windows/POSIX системах наличиствует стандартное API для работы c COM портом, остается написать приложение под десктопную ситему
4. Для общения робота с приложением на десктопе очевидно необходим некий протокол отражающий тип операции (чтение/запись), адрес данных в памяти робота, количество читаемых/записываемых данных и собственно сами данные
5. На стороне робота должен быть написан код, который реализует поддержку данного протокола
Итого: Основную часть составляет разработка протокола взаимодействия и поддержка его на стороне робота.
[QUOTE=Pavia;283866]
Я не пойму нужно писать драйвер, который будет установлен в сам робот, в его память.
Или можно просто подавать команды через COM порт к процессору просто со стороны другого компа:confused:
Цитата:
Но вот такой вопрос
Возможно ли записать в COM порт команду для 8086, чтоб тот ответил что у него в памяти?
Возможно ли записать в COM порт команду для 8086, чтоб тот ответил что у него в памяти?
Да. Но в роботе придется писать драйвер который считает эту команду обработает ее и отошлет данные обратно.
может стоит почитать чтот такое ?или гугля поможет ?
или о работе с железом...
P.S. у меня такое чувство что 8086 в ноуте поверх какой-то гидравлической системы о_О тогда по ссылке выше все описано - подобные идеи
Если ситуация похожа на описанную, то со стороны хоста (не робота) драйвер писать не нужно. Достаточно приложения посылающего команды через... ну вы сами знаете через что :)