Switch to English Домой Поиск Список участников Вопросы и ответы Зарегистрироваться Войти  
Windows Embedded CE
Re: Shutdown CE 6.0 on the VIA

Автор темы: Arean71   Начата: 07-14-2010 02:19    Ответов: 14
 Форум "Встраиваемые операционные системы Microsoft" >> Embedded OS >> Windows Embedded CE >> Re: Shutdown CE 6.0 on the VIA
 Printable Version    << Предыдущая тема   Следующая тема >>
  Ср, 14 июл 2010, 02:19
Arean71 сейчас не в системе. Последяя активность: 03.09.2010 18:23:25 Arean71

10 лучших
Присоединился 06-29-2006
сообщений 147
Shutdown CE 6.0 on the VIA
Доброво дня всем,
Собрал образ CE 6.0 R3 на основе BSP от VIA и столкнулся с тем, что не могу програмно выключить систему.
В СЕ 5.0 для выключения системы использовал SetSystemPowerState(NULL, POWER_STATE_OFF, POWER_FORCE); и оно работало, если были установлены драйвера SCIPWM
К сожалению указанный драйверов для CE 6.0 на сайте VIA нет а использование описанной функиции не имет ни какгого результата.

Буду признателен за любые советы.


  
  Чт, 15 июл 2010, 01:07
Pavel Belevsky сейчас не в системе. Последяя активность: 03.09.2010 8:18:30 Pavel Belevsky

10 лучших
Присоединился 09-10-2007
сообщений 1 675
Re: Shutdown CE 6.0 on the VIA
Вариантов на мой взгляд немного: попробовать запустить драйвер из CE 5.0 и написать его самому.


Павел Белевский
Системный инженер
Кварта Технологии

  
  Чт, 15 июл 2010, 03:50
Arean71 сейчас не в системе. Последяя активность: 03.09.2010 18:23:25 Arean71

10 лучших
Присоединился 06-29-2006
сообщений 147
Re: Shutdown CE 6.0 on the VIA
 А существуют примеры драйверов для Shutdown, VIA непоставяет исходников :-(

  
  Чт, 15 июл 2010, 08:56
Pavel Belevsky сейчас не в системе. Последяя активность: 03.09.2010 8:18:30 Pavel Belevsky

10 лучших
Присоединился 09-10-2007
сообщений 1 675
Re: Shutdown CE 6.0 on the VIA

Беглый взгляд на содержимое BSP v.3.44 наталкивает на мысль, что в CE 6.0 управление питанием реализовано непосредственно в OAL - PLATFORM\VIABSP\SRC\OAL\OALLIB\sci.h




Павел Белевский
Системный инженер
Кварта Технологии

  
  Пт, 16 июл 2010, 06:23
Arean71 сейчас не в системе. Последяя активность: 03.09.2010 18:23:25 Arean71

10 лучших
Присоединился 06-29-2006
сообщений 147
Re: Shutdown CE 6.0 on the VIA
Павел, вы правы, в каталоге
C:\WINCE600\PLATFORM\VIABSP\SRC\X86\COMMON\POWER\
есть файл power.c в котором содеожиться реализация OEMPowerOff
Похоже что до нее не доходит вызов.
Я правильно понимаю что в BSP должен быть реализован хендлер IOCTL_POWER_SET?


  
  Пт, 16 июл 2010, 06:43
Pavel Belevsky сейчас не в системе. Последяя активность: 03.09.2010 8:18:30 Pavel Belevsky

10 лучших
Присоединился 09-10-2007
сообщений 1 675
Re: Shutdown CE 6.0 on the VIA

Если вам нужно именно выключение, а не переход в спящий режим (suspend), то следует использовать IOCTL_HAL_POWEROFF. Реализация данной IOCTL находится в PLATFORM\VIABSP\SRC\X86\COMMON\OTHER\HALSCI.c




Павел Белевский
Системный инженер
Кварта Технологии

  
  Пт, 16 июл 2010, 07:20
Arean71 сейчас не в системе. Последяя активность: 03.09.2010 18:23:25 Arean71

10 лучших
Присоединился 06-29-2006
сообщений 147
Re: Shutdown CE 6.0 on the VIA
Что вы имеете ввиду когда говрите : Нужно использовать IOCTL_HAL_POWEROFF?

Судя по всему HALSCI учавстует в сборке.

  
  Пт, 16 июл 2010, 07:27
Pavel Belevsky сейчас не в системе. Последяя активность: 03.09.2010 8:18:30 Pavel Belevsky

10 лучших
Присоединился 09-10-2007
сообщений 1 675
Re: Shutdown CE 6.0 on the VIA
Написать простенький драйвера режима ядра, который будет вызывать KernelIoControl c данным IoCtl


Павел Белевский
Системный инженер
Кварта Технологии

  
  Чт, 05 авг 2010, 02:18
Arean71 сейчас не в системе. Последяя активность: 03.09.2010 18:23:25 Arean71

10 лучших
Присоединился 06-29-2006
сообщений 147
Re: Shutdown CE 6.0 on the VIA
Наконец удалось добраться, судя по когду и вашим ответам у вас покрайней мере работает Suspend.
У меня при попытке вызова SetSystemPowerState(NULL, POWER_STATE_SUSPEND, POWER_FORCE); возникает ошибка:
1060855 PID:400002 TID:7c7000a PM: DEBUGCHK failed in file C:\WINCE600\PUBLIC\COMMON\OAK\DRIVERS\PM\PDD\DEFAULT\.\pwsdef.cpp at line 430

Похоже что я не сделал что то совсем простое ноне могу понять что именно....

  
  Чт, 05 авг 2010, 05:59
Pavel Belevsky сейчас не в системе. Последяя активность: 03.09.2010 8:18:30 Pavel Belevsky

10 лучших
Присоединился 09-10-2007
сообщений 1 675
Re: Shutdown CE 6.0 on the VIA
Я не проверял работу Suspend.
Для идентификации ошибки включите отладочную зону "Warning" в модуле PM.


Павел Белевский
Системный инженер
Кварта Технологии

  
  Чт, 05 авг 2010, 09:15
Arean71 сейчас не в системе. Последяя активность: 03.09.2010 18:23:25 Arean71

10 лучших
Присоединился 06-29-2006
сообщений 147
Re: Shutdown CE 6.0 on the VIA
Получилось примероно вот это, у меня включены зоны:
Errors, Warning, Ioctl, Platform, API

Кусок лога:
1005323 PID:400002 TID:f70002 PowerStateManager::ThreadRun: activityEvent = 1  
1005323 PID:400002 TID:f70002 PowerStateManager:Tongue TiedetSystemState: state change from "useridle" to "on"
1005323 PID:400002 TID:f70002 +PmSetSystemPowerState_I: name on, hint 0x00000000, options 0x00000000, fInternal 1
1005323 PID:400002 TID:f70002 -PmSetSystemPowerState_I: returning dwStatus 0
1005323 PID:400002 TID:f70002 PowerStateManager::ThreadRun: activityEvent = 1  
1006333 PID:400002 TID:f70002 PowerStateManager::ThreadRun: activityEvent = 2  
1006543 PID:400002 TID:f70002 PowerStateManager::ThreadRun: activityEvent = 1  
1006745 PID:400002 TID:f70002 PowerStateManager::ThreadRun: activityEvent = 2  
1006894 PID:400002 TID:f70002 PowerStateManager::ThreadRun: activityEvent = 1  
1007095 PID:400002 TID:f70002 PowerStateManager::ThreadRun: activityEvent = 2  
1011644 PID:400002 TID:f70002 PowerStateManager::ThreadRun: activityEvent = 1  
1013159 PID:400002 TID:f70002 PowerStateManager::ThreadRun: activityEvent = 2  
1013835 PID:400002 TID:f70002 PowerStateManager::ThreadRun: activityEvent = 1  
1014037 PID:400002 TID:f70002 PowerStateManager::ThreadRun: activityEvent = 2  
1014405 PID:400002 TID:f70002 PowerStateManager::ThreadRun: activityEvent = 1  
1015566 PID:7c4000a TID:7c5000a nRet=1001 IDYES=503445308,nRet,IDYES
1015566 PID:7c4000a TID:7c5000a $$$$$$ Before Restart Terminal in wbttskmn.cpp
1015566 PID:400002 TID:7c5000a +PmSetSystemPowerState: name <NULL>, hint 0x00020000, options 0x00001000
1015566 PID:400002 TID:7c5000a +PowerStateManager:Tongue TiedendSystemPowerState: name <NULL>, hint 0x00020000, options 0x00001000, fInternal 788087665
1015566 PID:400002 TID:7c5000a PM: DEBUGCHK failed in file C:\WINCE600\PUBLIC\COMMON\OAK\DRIVERS\PM\PDD\DEFAULT\.\pwsdef.cpp at line 430
1015601 PID:400002 TID:7c5000a DefaultPowerStateManager:Stick out tonguelatformMapPowerStateHint: returning 2
1015601 PID:400002 TID:7c5000a +PowerStateManager:Tongue TiedendSystemPowerState: name "", hint 0x00020000, options 0x00001000, fInternal 788087665
1015601 PID:400002 TID:7c5000a -PmSetSystemPowerState: returning dwStatus 2
1015601 PID:7c4000a TID:7c5000a !!!!!!!After Restart Terminal in wbttskmn.cpp
1015617 PID:400002 TID:f70002 PowerStateManager::ThreadRun: activityEvent = 2  


  
  Пт, 06 авг 2010, 12:22
Pavel Belevsky сейчас не в системе. Последяя активность: 03.09.2010 8:18:30 Pavel Belevsky

10 лучших
Присоединился 09-10-2007
сообщений 1 675
Re: Shutdown CE 6.0 on the VIA

Проверьте, что в реестре устройства присутсвует ключ "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\State\Suspend"




Павел Белевский
Системный инженер
Кварта Технологии

  
  Пт, 06 авг 2010, 01:39
Arean71 сейчас не в системе. Последяя активность: 03.09.2010 18:23:25 Arean71

10 лучших
Присоединился 06-29-2006
сообщений 147
Re: Shutdown CE 6.0 on the VIA

В имедже присутствуют настройки реестра:

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Power\State\ColdReboot]
    "Default"=dword:4
    "Flags"=dword:800000

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Power\State\On]
    "Default"=dword:0
    "Flags"=dword:12010000

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Power\State\Reboot]
    "Default"=dword:4
    "Flags"=dword:800000

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Power\State\Suspend]
    "Default"=dword:3
    "Flags"=dword:200000

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Power\State\Suspend\{98C5250D-C29A-4985-AE5F-AFE5367E5006}]
    "Default"=dword:4

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Power\State\SystemIdle]
    "Default"=dword:2
    "Flags"=dword:0

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Power\State\SystemIdle\{EB91C7C9-8BF6-4a2d-9AB8-69724EED97D1}]
    "Default"=dword:4

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Power\State\UserIdle]
    "Default"=dword:1
    "Flags"=dword:11000000


  
  Пт, 06 авг 2010, 02:03
Pavel Belevsky сейчас не в системе. Последяя активность: 03.09.2010 8:18:30 Pavel Belevsky

10 лучших
Присоединился 09-10-2007
сообщений 1 675
Re: Shutdown CE 6.0 on the VIA

Где-то закралась ошибка: либо в реестре, либо в значении параметра "StateFlags" передаваемом функции SetSystemPowerState().




Павел Белевский
Системный инженер
Кварта Технологии

  
  Вт, 10 авг 2010, 02:51
Arean71 сейчас не в системе. Последяя активность: 03.09.2010 18:23:25 Arean71

10 лучших
Присоединился 06-29-2006
сообщений 147
Re: Shutdown CE 6.0 on the VIA
Павел спасибо Suspend заработал. Ошибка закралась в голову, я похоже после изминения Shutdown на Suspend забыл пересобрать исходники а просто делал Sysgen....

  
 Страница 1 из 1 (Всего 15 записей)
Форум "Встраиваемые операционные системы Microsoft" >> Embedded OS >> Windows Embedded CE >> Re: Shutdown CE 6.0 on the VIA

Вы можете добавлять вложения
Вы можете создавать новые темы
Вы можете отвечать на сообщения
Вы не можете удалять свои сообщения
Вы не можете править свои сообщения
Вы можете создавать опросы
Вы можете голосовать
Статистика форума включены
Форум не модерируется

Работает под управлением Community Server :: Forums