Welcome to eComStation.RU site!

Select your language: Russian English Deutch Spanish Italian Portuguese Czech Polish French

Frequently asked questions and answers:

eComStation.RU

ru · en · de · es · it · pt · cz · pl · fr
eComStation - это совершенно другая операционная система для PC (IBM OS/2 Warp)
Программы, новости, статьи, поддержка пользователей, оборудование, вопросы и ответы.
 
      Что такое OS/2?НовостиУстановкаОбновлениеПрименениеБудущееСообществоКупить    
(Карта сайта)

 
 
Списки протестированного OS/2 оборудования
Как получить драйверы OS/2 бесплатно

 
Обновление

 
Программы

 
(Санкт-Петербург)

 
Преимущества (1)

 
Разработчику (1)

 
(Пайпы программ)

 
Компании: (1)

 
История (1):

 
(Бонусы)

 
Советы:

 
(Барьеры и решения)

 
Технологии: (1)

 
(Применение в науке, лаборатории, ..)

 

 
Готовые решения:

 
Новая eComStation:

 
Будущее: (1)

 
(Ссылки на другие сайты)

 
(Картинка дня)

 
Артефакты OS/2

 
Гаджеты

eCo Software Developer Connection


About DevCon
Subscription to DevCon
Budget of DevCon
FAQ


Roadmap
eCo Software runtime
eCo Software toolkit
Contacts

Development of device drivers

Detailed information:

Template of 32-bit driver for eComStation

Download eCo Software simple 32-bit driver.
  • 32-bit driver
  • interaction with ACPI driver

KEE interface

To develop modern drivers you should use DevHlp, KEE interfaces. Read DDK, pddref.inf for details.

Tutorials

Suspend/resume

eCS supports suspend/resume for one-core and multi-core desktops and notebooks. You can use APM interface (read DDK -> in_out.inf, Input/Output Device Driver Reference) or hidden kernel function SaveRestore()

/*
*  Function SaveRestore
* @pkt     standard drivers packet
* @return  None
* Note: This function is undocemmented in pddref.inf
*/
void
SaveRestore(
    PRPSAVERESTORE pkt)
{
    PrintDevCall((PRPH)pkt, "SaveRestore");
    if (PSD)
    {
        PSD->AcpiOsPrintf("APM:SaveRestore - %x\n",(ULONG)pkt->FuncCode);
    }
    pkt->rph.Status |= STDON;

}

 dd    OFFSET FLAT:SaveRestore  ; Command code 20h SaveRestore

 

Please share information with other developers how to:

  • How to process command line parameters?
  • How to gather log, so user can call: copy acpica$ acpi.log
  • How to register driver in resource manager? So users can see it via rmview /IRQ

Programming PCI devices

To create new driver, you need

Wakeup PCI devices

Examples:

  • Wake up sleeping PCI devices at boot time (by Veit) driver, source code
  • Source code of USB drivers (DDK)

Read/write ports from Ring3

Example how to read/write to the ports

Маппинг физической памяти в линейный

В результате этой операции подставляется данный физический адрес под некоторый линейный адрес. Пример мапинга через драйвер SCREEN$ (thx LightElf)

Driver debugging

if you are going to do driver debugging, a trap dump partition is a must have. It will save you a lot of time. A usable kernel debugger setup will save you a even more time, but this can be problematic on newer systems that lack a serial port.
Read details: OS/2 Diagnostic Tools and Tips by Steven Levine.

Useful links

 

 
Обучение новичков

Отчет: OS/2 совместимое оборудование

 
Статьи


   
  Почему eComStation?
Возможности
Особенности
Применение
Ролики и скриншоты
   eComStation для
для бизнесменов
для студентов и инженеров
для продавцов компьютеров
сообщество пользователей
   Разработчик
Распространить программу
Описание API, библиотеки
Начать новый проект
Конкурсы
   Программы
Он-лайн каталог
Выбрать через eCo Market
   Служба поддержки
Отправить вопрос
Купить eComStation
Вопросы и ответы
Обучение новичков
 
 
© 2001 - 2014 eCo Software, All rights reserved
eComStation is a registered trademark of Serenity Systems International
OS/2 Warp is a registered trademark of IBM Corporation
 

 

 
Картинка дня: