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

Автор темы: Pavel Belevsky   Начата: 07-13-2010 01:28    Ответов: 34
 Форум "Встраиваемые операционные системы Microsoft" >> Embedded OS >> Windows Embedded CE >> Re: Проблемы с загрузкой образа
 Printable Version    << Предыдущая тема   Следующая тема >>
  Вт, 13 июл 2010, 01:28
Pavel Belevsky сейчас не в системе. Последяя активность: 03.09.2010 8:18:30 Pavel Belevsky

10 лучших
Присоединился 09-10-2007
сообщений 1 675
Re: Проблемы с загрузкой образа
Ошибка в директиве "ADEFINES" при определении "CPU_FREQ_624_ALLOW" и "USE_BTUART_AS_RS485". Исправьте sources-файл в папке WINCE600\PLATFORM\tionbspv2\SRC\BOOTLOADER\EBOOT в соответсвии с предыдущими определениями, например "USB_PORT2_AS_CLIENT".


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

  
  Вт, 13 июл 2010, 01:51
Solovyev Ivan сейчас не в системе. Последяя активность: 17.08.2010 16:23:10 Solovyev Ivan

50 лучших
Присоединился 05-19-2010
сообщений 54
Re: Проблемы с загрузкой образа
Вот содержимое sources-файла, о котором Вы говорили:

TARGETNAME=eboot
TARGETTYPE=PROGRAM

RELEASETYPE=PLATFORM
EXEENTRY=StartUp
NOMIPS16CODE=1

INCLUDES= \
    $(INCLUDES);    \
    $(_PUBLICROOT)\common\oak\drivers\block\msflashfmd\inc

!IF "$(_PREOUT_)" == "1"
CDEFINES= $(CDEFINES) -EP
!ENDIF

LDEFINES=-subsystem:native /DEBUG /DEBUGTYPE:CV /FIXED:NO

SOURCES= \
    ..\main.c \
    ..\ether.c \
    ..\flash.c \
    ..\utils.c \


ARM_SOURCES= \
    ..\startup.s
   
TARGETLIBS= \
    $(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_startup_pxa27x_ms_v1.lib   \
    $(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_blcommon.lib               \
    $(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_blnk.lib                   \
    $(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_blmemory_arm.lib           \
    $(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_kitl_boot.lib              \
    $(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_log.lib                    \
    $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_ethdrv_dm9000x.lib         \
    $(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_other.lib                  \
    $(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_blserial.lib               \
    $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\mainstone_usbfn_rndiskitl.lib   \
    $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\mainstone_usbfn_serialdl.lib    \
    $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\mainstoneii_args.lib      \
    $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\mainstoneii_freq.lib      \
    $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\mainstoneii_dbgserial.lib \
    $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\mainstoneii_io.lib        \
    $(_PLATCOMMONLIB)\$(_CPUINDPATH)\pxa27x_ms_v1_xllp.lib      \
    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\eboot.lib                  \
    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\ne2kdbg.lib                \
    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\gsnull.lib                 \
    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\fulllibc.lib

NOLIBC=1

WINCETARGETFILES=BootImage

Не увидел здесь определения USB_PORT2_AS_CLIENT, поэтому затрудняюсь что-нибудь изменить.
Насколько я понял, проблема в неправильно указанных директивах компиляции ассемблерного кода. Его нельзя как-нибудь отдельно собрать из консоли с указанием всех опций по аналогии?

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

10 лучших
Присоединился 09-10-2007
сообщений 1 675
Re: Проблемы с загрузкой образа

OK, тогда смотрите sources.cmn в папке "WINCE600\PLATFORM\tionbspv2"




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

  
  Вт, 13 июл 2010, 03:09
Solovyev Ivan сейчас не в системе. Последяя активность: 17.08.2010 16:23:10 Solovyev Ivan

50 лучших
Присоединился 05-19-2010
сообщений 54
Re: Проблемы с загрузкой образа
Спасибо, Павел. После редактирования файла sources.cmn образ собрался.

Отладочные сообщения выводятся следующие:

При подключении клавиатуры


CHub(Root tier 0)::HubStatusChangeThread - por
t 1, change = 0x0001, status = 0x0301
                                     CHub(Root tier 0)::HubStatusChangeThread -
device attached on port 1
                         +CHub(Root tier 0)::AttachDevice - port = 1, fIsLowSpee
d = 1
     CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_OPENING_END
POINT0_PIPE, failures = 0
                         CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFI
G_STATUS_USING_ADDRESS0, failures = 0
                                     CHub(Root tier 0)::AttachDevice - status =
DEVICE_CONFIG_STATUS_RESET_AND_ENABLE_PORT, failures = 0
                                                        CHub(Root tier 0)::Attac
hDevice - status = DEVICE_CONFIG_STATUS_SCHEDULING_GET_DEVICE_DESCRIPTOR_TEST, f
ailures = 0
           CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_SCHED
ULING_SET_ADDRESS, failures = 0
                               CHub(Root tier 0)::AttachDevice - status = DEVICE
_CONFIG_STATUS_LEAVE_ADDRESS0, failures = 0
                                           CHub(Root tier 0)::AttachDevice - sta
tus = DEVICE_CONFIG_STATUS_SCHEDULING_GET_INITIAL_DEVICE_DESCRIPTOR, failures =
0
 CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_STATUS_SCHEDULING_GET_
DEVICE_DESCRIPTOR, failures = 0
                               CHub(Root tier 0)::AttachDevice - status = DEVICE
_CONFIG_STATUS_SETUP_CONFIGURATION_DESCRIPTOR_ARRAY, failures = 0
                                                                 CHub(Root tier
0)::AttachDevice - status = DEVICE_CONFIG_STATUS_SCHEDULING_GET_INITIAL_CONFIG_D
ESCRIPTOR, failures = 0
                       CHub(Root tier 0)::AttachDevice - status = DEVICE_CONFIG_
STATUS_SCHEDULING_GET_CONFIG_DESCRIPTOR, failures = 0
                                                     CHub(Root tier 0)::AttachDe
vice - status = DEVICE_CONFIG_STATUS_DETERMINE_CONFIG_TO_CHOOSE, failures = 0
                                                                             CHu
b(Root tier 0)::AttachDevice - Select Configuration 0 on DEVICE_CONFIG_STATUS_DE
TERMINE_CONFIG_TO_CHOOSE step
                             CHub(Root tier 0)::AttachDevice - status = DEVICE_C
ONFIG_STATUS_SCHEDULING_SET_CONFIG, failures = 0
                                                CHub(Root tier 0)::AttachDevice
- status = DEVICE_CONFIG_STATUS_CREATE_NEW_FUNCTION, failures = 0
                                                                 CHub(Root tier
0)::AttachDevice - status = DEVICE_CONFIG_STATUS_INSERT_NEW_DEVICE_INTO_UPSTREAM
_HUB_PORT_ARRAY, failures = 0
                             CHub(Root tier 0)::AttachDevice - status = DEVICE_C
ONFIG_STATUS_SIGNAL_NEW_DEVICE_ENTER_OPERATIONAL_STATE, failures = 0
                                                                    DEVICE!RegRe
adActivationValues RegQueryValueEx(Drivers\USB\ClientDrivers\Hid\Instance\Prefix
) returned 2
DEVICE!RegReadActivationValues RegQueryValueEx(Drivers\USB\ClientDrivers\Hid\Ins
tance\BusPrefix) returned 2
DEVICE!RegReadActivationValues RegQueryValueEx(Drivers\USB\ClientDrivers\Hid\Hid
_Class\BusPrefix) returned 2
+USBDSurprisepenPipe, EP: 0x81, MaxPkt: 8, Type: Interrupt
CInterruptPipe:SurprisepenPipe - setting the poll interval to 8 ms instead of 10 ms
                                                                             -US
BDSurprisepenPipe success, hPipe = D3628DA0
                                     HidP***: 'Preparing to Allocate memory
                                                                            HidP
***: 'Top Level Collection 1 found
                                   HidP***: 'Collection 1 exit
                                                               HidP***: 'Starti
ng Parsing Pass
               HidP***: 'P*** Collection 1
                                             HidP***: 'Main Offset:8
                                                                      HidP***:
'Main Offset:10
                HidP***: 'Out offset:8
                                        HidP***: 'Out offsetBig Smile
                                                                HidP***: 'Main
Offset:18
          HidP***: 'X P*** Collection 1
                                          DEVICE!RegReadActivationValues RegQuer
yValueEx(Drivers\HID\ClientDrivers\Keyboard\BusPrefix) returned 2
[NOTIFY] HandleSystemEvent 7 /ADD HID1:-CHub(Root tier 0)::AttachDevice - port =
 1, fIsLowSpeed = 1, address = 1

[NOTIFY] HandleSystemEvent 7 /ADD KBD1:


При отключении клавиатуры

CHub(Root tier 0)::HubStatusChangeThread - port 1, change = 0x0003, status =
0x0100
      CHub(Root tier 0)::HubStatusChangeThread - device detached on port 1
                                                                          +CHub(
Root tier 0):Big SmileetachDevice - port = 1
                                     CHub(Root tier 0):Big SmileetachDevice - created w
orker thread to handle device detach
                                    +CHub:Big SmileetachDownstreamDeviceThread
                                                                       +CFunctio
n(tier 1)::HandleDetach
                       +USBD:ClosePipe, hPipe: 0xD3627B00
-USBD:ClosePipe
+USBD:ClosePipe, hPipe: 0xD3627DA0
-USBD:ClosePipe
StartInterruptTransfer: IssueInterruptTransfer failed
-CFunction(tier 1)::HandleDetach
                                -CHub:Big SmileetachDownstreamDeviceThread
                                                                   -CHub(Root ti
er 0):Big SmileetachDevice - port = 1
                              [NOTIFY] HandleSystemEvent 7 /REMOVE KBD1:
[NOTIFY] HandleSystemEvent 7 /REMOVE HID1:

При нажатии на большинство клавиш - никакой реакции, а при нажатии, например, клавиши shift выдается следующее сообщение:

KbdHid: DEBUGCHK failed in file C:\ymzki\public\COMMON\oak\dri
vers\usb\class\hid\clients\kbdhid\.\kbdhid.cpp at line 1158
DEBUG_BREAK @c0ba4004 Ignored.
KbdHid: DEBUGCHK failed in file C:\ymzki\public\COMMON\oak\drivers\usb\class\hid
\clients\kbdhid\.\kbdhid.cpp at line 1158
DEBUG_BREAK @c0ba4004 Ignored.




  
  Вт, 13 июл 2010, 03:14
Solovyev Ivan сейчас не в системе. Последяя активность: 17.08.2010 16:23:10 Solovyev Ivan

50 лучших
Присоединился 05-19-2010
сообщений 54
Re: Проблемы с загрузкой образа
Еще хочу отметить, что при собранном в режиме debug образе работает только один usb-хост, в то время как в release-варианте - оба (проверял путем подключения мыши, которая изначально работает).

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

10 лучших
Присоединился 09-10-2007
сообщений 1 675
Re: Проблемы с загрузкой образа
С загрузкой драйвера клавиатуры я не вижу никаких проблем. Поскольку мышь работает, то возможно это просто "нелюбовь" устройства к вашей клавиатуре. Единственное, что могу здесь посоветовать - это попробовать с другой.


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

  
  Вт, 13 июл 2010, 03:38
Solovyev Ivan сейчас не в системе. Последяя активность: 17.08.2010 16:23:10 Solovyev Ivan

50 лучших
Присоединился 05-19-2010
сообщений 54
Re: Проблемы с загрузкой образа
Не уверен, что проблема именно в клавиатуре. Другой под рукой все-равно нет, но точно известно, что существует образ, с которым эта клавиатура прекрасно работает (тот самый пробный образ, про который я писал в начале). К сожалению, этот образ существует только в качестве NK.bin. Есть ли какой-нибудь способ сравнить два образа на предмет отсутствия, например, каких-либо библиотек?

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

10 лучших
Присоединился 09-10-2007
сообщений 1 675
Re: Проблемы с загрузкой образа
Конечно. В VS2005 можно открыть .bin файлы и посмотреть их содержимое - файлы и настройки реестра


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

  
  Вт, 13 июл 2010, 04:15
Solovyev Ivan сейчас не в системе. Последяя активность: 17.08.2010 16:23:10 Solovyev Ivan

50 лучших
Присоединился 05-19-2010
сообщений 54
Re: Проблемы с загрузкой образа
сравнивая два образа, нашел различия в реестрах:

в ключе HKLM/HARDWARE/DEVICEMAP/KEYBD в пробном образе указаны следующие значения:

DriverName          REG_SZ              kbdmouse.dll
TaskManVKey     REG_DWORD    0x0000002e (46)

а в том образе, который удалось собрать самостоятельно:

DriverName          REG_SZ              _mainstoneii_keypad_Us.dll
Status                   REG_DWORD    0x0000000f (15)
TaskManVKey     REG_DWORD    0x0000002e (46)


Я так понимаю, что простым изменением реестра это не исправить. Надо где-то взять kbdmouse.dll и включить ее в образ.


  
  Вт, 13 июл 2010, 04:21
Solovyev Ivan сейчас не в системе. Последяя активность: 17.08.2010 16:23:10 Solovyev Ivan

50 лучших
Присоединился 05-19-2010
сообщений 54
Re: Проблемы с загрузкой образа
Даже немного не так, прошу прощения. Посмотрел список включенных файлов - kbdmouse.dll есть и в том, и в другом образе, только в моем еще есть _mainstoneii_keypad_Us.dll. Я так понимаю, что ее каким-то образом надо убрать и поставить в качестве стандартного драйвера клавиатуры именно kbdmouse.dll
  
  Вт, 13 июл 2010, 04:24
Pavel Belevsky сейчас не в системе. Последяя активность: 03.09.2010 8:18:30 Pavel Belevsky

10 лучших
Присоединился 09-10-2007
сообщений 1 675
Re: Проблемы с загрузкой образа

Смотрите platform.reg - там должны быть эти настройки. Возможно для их включения необходимо установить переменную окружения




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

  
  Вт, 13 июл 2010, 05:09
Solovyev Ivan сейчас не в системе. Последяя активность: 17.08.2010 16:23:10 Solovyev Ivan

50 лучших
Присоединился 05-19-2010
сообщений 54
Re: Проблемы с загрузкой образа
Нашел в platform.reg такой кусок:

IF BSP_NOKEYPAD !

#if $(LOCALE)==0409
#define keybd_driver "_mainstoneii_keypad_Us.dll"

; Report keypad HW present and enabled, with Enter and ESC keys
; and alphanumeric keys.
[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\KEYBD]
    "Status"=dword:0F

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Layouts\00000409]
    "BuiltInKeypad"="_mainstoneii_keypad_Us.dll"

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Layouts\e0010409]
    "Keyboard Layout"="00000409"

[HKEY_CURRENT_USER\Software\Microsoft\Shell]
    "HasKeyboard"=dword:0

; Set the default layout preloads
; @BEGINASSOC LOCALE 0409
[HKEY_CURRENT_USER\Keyboard Layout\Preload]
    @="00000409"
[HKEY_CURRENT_USER\Keyboard Layout\Preload\1]
    @="00000409"
; @ENDASSOC

#else
#define keybd_driver "kbdmouse.dll"
#endif

ENDIF BSP_NOKEYPAD !


изменил таким образом:

IF BSP_NOKEYPAD !

#if $(LOCALE)==0409
#define keybd_driver "kbdmouse.dll"

; Report keypad HW present and enabled, with Enter and ESC keys
; and alphanumeric keys.
;[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\KEYBD]
;    "Status"=dword:0F

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Layouts\00000409]
    "BuiltInKeypad"="kbdmouse.dll"

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Layouts\e0010409]
    "Keyboard Layout"="00000409"

[HKEY_CURRENT_USER\Software\Microsoft\Shell]
    "HasKeyboard"=dword:0

; Set the default layout preloads
; @BEGINASSOC LOCALE 0409
[HKEY_CURRENT_USER\Keyboard Layout\Preload]
    @="00000409"
[HKEY_CURRENT_USER\Keyboard Layout\Preload\1]
    @="00000409"
; @ENDASSOC

#else
#define keybd_driver "kbdmouse.dll"
#endif

ENDIF BSP_NOKEYPAD !

(То есть вместо _mainstoneii.... поставил kbdmouse.dll и закомментировал поле Status). В результате реестры образов вроде-как совпадают, а клавиатура все-равно не работает.

  
  Ср, 14 июл 2010, 12:35
Solovyev Ivan сейчас не в системе. Последяя активность: 17.08.2010 16:23:10 Solovyev Ivan

50 лучших
Присоединился 05-19-2010
сообщений 54
Re: Проблемы с загрузкой образа
Дело сдвинулось с мертвой точки. Еще немного подредактировав реестр, сделал так, что теперь работает либо клавиатура, либо мышь. То есть, что раньше подключаешь, то и работает.

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

10 лучших
Присоединился 09-10-2007
сообщений 1 675
Re: Проблемы с загрузкой образа
Когда начинается подобное шаманство, то самое время обратиться к разработчикам BSP.


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

  
  Ср, 14 июл 2010, 01:49
Solovyev Ivan сейчас не в системе. Последяя активность: 17.08.2010 16:23:10 Solovyev Ivan

50 лучших
Присоединился 05-19-2010
сообщений 54
Re: Проблемы с загрузкой образа
Дело в том, что с разработчиками BSP общался не я, и, насколько я знаю, с ними не так-то легко найти общий язык. Попробую разобраться самостоятельно.
В любом случае, большое спасибо Вам за помощь.

  
 Страница 2 из 2 (Всего 35 записей) << 1 2
Форум "Встраиваемые операционные системы Microsoft" >> Embedded OS >> Windows Embedded CE >> Re: Проблемы с загрузкой образа

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

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