Как написать программу на ASM под виндой?

Тема в разделе "WASM.BEGINNERS", создана пользователем седьмой, 29 июн 2017.

Метки:
  1. седьмой

    седьмой Member

    Публикаций:
    0
    Регистрация:
    27 июн 2017
    Сообщения:
    66
    Адрес:
    г.Киров
    Память у вас нормальная, хотя наверно девичья, вы легко и доступно все обьясняете, отдельное спасибо за такое подробное объяснение. Микроконтроллер при всех его плюсах использовать не могу, так как это пока оговорено в ТЗ на проект разработки.
    об этом пока говорить рано, сначала надо понять как он работает, я понял вас что разбираться можно/надо на примерах так и сделаю.
    Этого я не могу себе позволить - терять данные до сотен миллисекунд. Но в моей разработке есть одно НО, комп не будет работать в режиме многозадачности, винду я пока выбрал только потому, что она лицензионная и недорогая. Если взять операционную систему QNX , а она работает в реальном режиме времени, но она стоит на 2 порядка выше винды( если я конечно правильно нашел цены, на сайте разработчика они явно не прописаны или я их не нашел). Поэтому думаю возможно убрать/отключить из винды лишние службы, которые мне будут не нужны для работы и максимально поднять приоритет прерывания в ядре для того порта который мне потребуется (usb, lpt, com ) для чтения внешнего сигнала с генератора. Кстати может быть иммеет смысл использовать в качестве порта сетевой LAN порт? А кстати, не знаете случайно какой порт самый быстрый в компе для связи с внешним устройством? Пока вот такой план на всю работу. А в данный момент написать самый простой драйвер для любого порта для подключения сигнала с внешнего генератора. Сейчас еще подробно пройдусь по вашим пунктам, не все понял, потребуется помощь интернета, потом отпишусь когда со всем разберусь. Пока вот только такие нашел параметры скорости портов и шин ПК
     
    Последнее редактирование: 6 июл 2017
  2. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.328
    В винде нет никаких "от" и "до", т.к. как уже выше сказали, это не система реального времени. Т.е. в ней невозможно гарантированно просчитать время выполнения произвольного фрагмента кода.
     
  3. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Моя подружка Статистика с вами несогласна. :angel: Вполне можно просчитывать, как и для QNX. Между прочем QNX тоже обладает вытесняющей многозадачностью. Поэтому и не относиться к ОС с ЖРВ, только к РВ.
    Ну почему компьютеры постоянно ломаются? У Windows вероятность отказов выше. Так как при выходе одного компонента выходит из строя вся система. А в QNX если зависнет один драйвер, то ОС продолжит работать как ни в чём не бывало.
     
    седьмой нравится это.
  4. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.328
    Ох уж эта женская логика... :)
    Статистика тут неуместна, мы можем вызвать функцию delay10ms() миллиард раз и 999999999 раз получим задержку 9..11 мс. Но всего один раз, что статистически будет не значимо, в винде эта функция вполне может задержать выполнение потока на минуту, что и делает эту систему неприменимой в задачах, где важно формирование точных временных интервалов (управление станками, контроль систем на космической станции, поддержание жизни овоща на медицинской койке, етц).
     
    Mikl___ и Aiks нравится это.
  5. седьмой

    седьмой Member

    Публикаций:
    0
    Регистрация:
    27 июн 2017
    Сообщения:
    66
    Адрес:
    г.Киров
    Я вам верю, но когда я писал драйвер под дос для com порта, в реальном режиме времени, на другом форуме, мне 90 % форумчан заявляли что Дос умер и драйвер надо писать под Виндой и вместе со всеми так утверждал Mikl___. Сейчас когда я нашел время, и пытаюсь написать тот же самый драйвер в реальном режиме времени под виндой, мне снова все заявляют, что винда не позволяет писать код драйвера для реального режима времени. И как это понимать? Что выхода нет совсем? Мне так и продолжать писать код под Досом?
     
  6. njeen

    njeen Active Member

    Публикаций:
    0
    Регистрация:
    26 мар 2017
    Сообщения:
    138
    Адрес:
    Ташлинск
    Вам сказали правильно. "Просто драйвера" писать надо под windows теперь, если говорить о дос. Но работа в режиме реального времени - исключение, и ОС windows для этого не подходит. Поэтому вам нужно либо писать под dos, хотя это тупик - дос умер, либо выбрать другую ОСРВ. Посмотрите на FreeRTOS - она ещё развивается.
     
  7. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.708
    седьмой,
    я всё же напомню, чтобы помочь Вам, почти десяток человек выжимал из Вас правду, как из Зои Космодемьянской, поэтому и не стоит удивляться, что ответы построенные на Вашей же информации, время от времени, противоречивы, хотя, я до сих пор сомневаюсь, что речь идет о доильных аппаратах, маслобойках и сыроварнях
     
    Indy_ и horpis_real нравится это.
  8. седьмой

    седьмой Member

    Публикаций:
    0
    Регистрация:
    27 июн 2017
    Сообщения:
    66
    Адрес:
    г.Киров
    Развиваться она конечно может,НО я же винду использую не просто так , винда это основная коммерческая ось на которой находится максимальное количество лицензионных программ, или другими словами ПО используемое в разработке каких либо устройств в первую очередь имеет драйверы под винду и уже потом во вторую и третью под другие оси и вот у некоторого ПО вторых, третьих и четвертых может не быть. Взять например такое распространенное ПО среди инженеров работающих с аппаратурой - Labview, так вот это ПО имеет драйвер только под винду и не под линукс и не под FreeRTOS и тд, по этой причине меня интересует только винда, причем последняя или предпоследняя, которую можно официально с лицензией купить. Ну и реальный режим времени как я писал ранее.
    конечно вы правы за что я вас и уважаю, но не могу же я писать правду, что находится на другом конце кабеля, это как минимум коммерческая тайна. Но поскольку вам так интересно, то могу написать в виде исключения, конечно без номера модели и бортового номера, там НЛО 4го поколения. А теперь давайте подведем итог, я хочу по прежнему удалить из винды все лишнее - штатными средствами, что бы в ней (в винде) было всего две программы это например Labview и мой драйвер ядра. Или ПО С# (шарп тоже может работать с аппаратурой через SCPI как и LabView) и мой драйвер. Или С++ и драйвер. Другими словами привести штатными средствами винду максимально близко к оси QNX и посмотреть что из этого выйдет или не выйдет, думаете не выйдет? Нечего и пытаться, так я вас понимаю?
     
  9. седьмой

    седьмой Member

    Публикаций:
    0
    Регистрация:
    27 июн 2017
    Сообщения:
    66
    Адрес:
    г.Киров
    Как это вы сделали такие выводы, вы экстрасенс?
    не трогайте бога по пустякам, я первый раз решил попробовать драйвер под винду написать, почему бы просто не попробовать, я бы не стал все это объсянять, но все спрашивают зачем. вот поэтому и ответил зачем, это я лично для себя разбираюсь по работе правда, но задания такого нет, как вы правильно сказали , ту задачу которую я себе придумал решить невозможно, просто разве ради того что бы набить руку в этой области. И давайте пока остановимся, что мне было непонятно мне все все объяснили. Спасибо всем за помощь.
     
    Последнее редактирование: 7 июл 2017
  10. седьмой

    седьмой Member

    Публикаций:
    0
    Регистрация:
    27 июн 2017
    Сообщения:
    66
    Адрес:
    г.Киров
    Я конечно вернусь :dance4:это же моя тема, мне нужно почить документацию, потом сходить в отпуск и потом снова заняться этим драйвером, я понимаю что ничего серьезного написать не смогу, драйвера с бухты барахты не пишутся, но пробовать буду пока не упрусь в стенку.:dash1:Я имел в виду, что давайте дорогие форумчаны и форумчанки временно (на месяц) оставим эту тему в покое, пусть она вылежится.
     
  11. седьмой

    седьмой Member

    Публикаций:
    0
    Регистрация:
    27 июн 2017
    Сообщения:
    66
    Адрес:
    г.Киров
    На форуме запаслись дронами?
     
  12. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    седьмой,

    > Но в моей разработке есть одно НО

    Ваша разработка под дос и не совместима с многозадачными ос. Решить это никак нельзя, кроме как использовать промежуточный контроллер, такова архитектура. Более того, программирование PIC элементарно. Подключаете буфер к пику и пилите простую процедуру обслуживания используя стандартные либы. А то, чем вы занимаетесь - изврат какой то, оно не будет работать. Да и драйвера писать не имея никакого понятия - это невозможно.
     
    седьмой, horpis_real, TermoSINteZ и ещё 1-му нравится это.
  13. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    седьмой,

    Для примера посмотрите как реализована архитектура оптической мышки.
     
  14. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    Короче ему нужна мультизадачная ось потому что она лицензирована и он хочет выпилить из неё все компоненты, превратив в подобие доса(отключить планирование, значит отключить менеджер памяти етц). Теперь я видел всё :rofl:
     
    седьмой, yashechka, horpis_real и ещё 1-му нравится это.
  15. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.546
    Адрес:
    Russia
    седьмой,
    Почитайте про реалтайм ос, а то у вас небольшая каша в голове

    тут
     
    седьмой, Mikl___ и kero нравится это.
  16. yashechka

    yashechka Ростовский фанат Нарвахи

    Публикаций:
    90
    Регистрация:
    2 янв 2012
    Сообщения:
    1.449
    Адрес:
    Россия
    [​IMG]
     
    седьмой, Indy_, Pavia и 2 другим нравится это.
  17. седьмой

    седьмой Member

    Публикаций:
    0
    Регистрация:
    27 июн 2017
    Сообщения:
    66
    Адрес:
    г.Киров
    Я с вами полностью согласен, но все в мире относитетельно... Для длительности в микросекунды и в миллисекунды винда наверно работает не реалтаймово, но начиная с секунды, с минуты, с часа, с дня, с месяца и года наверно можно сказать, что винда работает реалтаймово. И потом если сразу поставить на работе крест, то смысла разбираться с драйвером под виндой не будет, а попробовать хочется. Поэтому я попробую, хотя бы просто для того что бы с ним попытаться разобраться, может еще ничего и не получиться и весь разговор про реалтаймовость окажется лишним. Так что спасибо всем за объяснение, я с вами полностью согласен, но драйвер попробую написать.

    yashechka, я не у нуля, у меня есть Вы форумчане!

    не мультизадачная, а двухзадачная
     
  18. седьмой

    седьмой Member

    Публикаций:
    0
    Регистрация:
    27 июн 2017
    Сообщения:
    66
    Адрес:
    г.Киров
    Это все правильно, я конечно с вами согласен, НО что бы взяться за драйвер и разобраться как его написать должна быть веская причина, просто так вять и написать драйвер из любопытства наверно будет еще труднее, у меня при всей моей ошибочности предположения возможной его работы причина есть, так почему бы мне ей не воспользоваться? Сдаться всегда можно, а если не начать, то ничего и не получится никогда точно. Как там говорится в афоризме
    А вот еще
    И еще
     
  19. седьмой

    седьмой Member

    Публикаций:
    0
    Регистрация:
    27 июн 2017
    Сообщения:
    66
    Адрес:
    г.Киров
    Микроконтроллеры использовать в работе не могу, к работе есть требования в которых микроконтроллеры использовать нельзя. Можно использовать только готовое оборудование, а не самодельное. Ну или может быть есть существенные проблемы с аттестацией самодельного устройства на микроконтроллере, я это точно не знаю и мне это не нужно.

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

    седьмой Member

    Публикаций:
    0
    Регистрация:
    27 июн 2017
    Сообщения:
    66
    Адрес:
    г.Киров
    Не понял ребус, мышка считывает картинку под собой 18 на 18 пикселей и при перемещении 100 -150 раз в секунду снова считывает картинку под собой, вычисляет перемещение и выводит на экран. По моему хороший пример реалтаймовой работы в винде.
    можно черное убрать, как мне отвечать на ваш вопрос, если я не знаю что у вас там под черным, я же не Малевич.