ЗАО «ЗЭО»

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Автор Тема: Зависание при загрузке Windows CE 6.0 на Тион Про 270.  (Прочитано 6771 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Andrew_Mordin

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 3

   Здравствуйте.

   В процессе экспериментов с Тион Про 270 я столкнулся
со следующей проблемой.
   После трёх перепрошивок модифицированным образом
операционной системы Windows CE 6.0 R3 (на основе
предоставленного заводом BSP) система перестала загружаться.
Даже при последующей прошивке заводским образом системы.

   Были проведены следующие эксперименты.

   1. Последовательная запись откомпилированных мною образов EBOOT.bin,
EBOOT.nb0, NK.bin во флэш-память компьютера с последующим запуском ядра
из флэша (пункт "F" меню, а также пункт "L" меню после выключения и
включения). 

   2. Загрузка по сети образа NK.bin при помощи ранее записанного
откомпилированного мною загрузчика (EBOOT.bin + EBOOT.nb0) в оперативную
память с последующим запуском операционной системы из оперативной памяти
(пункт "D" меню).

   3. Запись обратно заводских образов EBOOT.bin, EBOOT.nb0, NK.bin
с последующей загрузкой из флэша.

   При эксперименте 1 система не грузится вообще. Процессор работает на
416 MHz вместо 520 MHz, но я не знаю, играет ли это какую-то роль.
   В отладочный порт выдаётся следующее, после чего компьютер зависает.

  Run Mode clock: 208.0MHz (*16)
  Turbo Mode clock: 416.0MHz (*2.0,   active)
  Memory clock: 104.0MHz (/2)
  System bus clock: 208.0MHz

     ****


   При эксперименте 2 и эксперименте 3 система начинает грузиться и успевает
вывести в отладочный порт следующее:

Windows CE Kernel for ARM (Thumb Enabled) Built on Jan 21 2009 at 18:02:34
INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0xb
OEM: Force clean boot.
+OALIoCtlHalInitRTC(...)
call M41T00GetRealTime
Time from RTC 2011/12/4  19:0:43
Time to RTC 2011/12/4  19:0:43
OEM: Not cleaning system hive
OEM: Not cleaning user profiles


   После чего как будто виснет - ничего более добиться не удаётся,
маленький Тионовский экранчик постепенно краснеет и всё. Впрочем,
если выдернуть питание из розетки, Тион успевает выдать в отладочный
порт сообщение "Exception" - так же, как он это успевал сделать
при работоспособной системе.

   При эксперименте 3 также два или три раза удалось получить через
отладочный порт некий дамп, видимо, регистров процессора.
   Первый вариант дампа.

Exception 'Data Abort'(4) Thread-Id=00f50002(pth=83f32120) PC=8012f288 BVA=d03c0008, dwInfo = 00000406
 R0=00000102  R1=00000002  R2=6000001f  R3=ffffc800
 R4=83f30444  R5=83f32120  R6=00000000  R7=d036fbf8
 R8=00000002  R9=00000000 R10=00000000 R11=d036fdf0
R12=8012f288  SP=d036fbf0  Lr=8012f288 Psr=6000001f
Exception 'Data Abort'(4) Thread-Id=00f50002(pth=ffffc63c) PC=8010937c BVA=d03c0008, dwInfo = 00000406
 R0=00000001  R1=0d9cc5c4  R2=8191be08  R3=2013a031
 R4=8191be1c  R5=3a1d5e72  R6=8191be60  R7=000002d3
 R8=00000001  R9=00000000 R10=00000000 R11=d036fdf0
R12=80114e68  SP=ffffc78c  Lr=80109358 Psr=a0000093
Exception 'Data Abort' (4): Thread-Id=00f50002(pth=83f32120), Proc-Id=00400002(pprc=8191d308) 'NK.EXE', VM-active=00400002(pprc=8191d308) 'NK.EXE'
PC=8010937c(NK.EXE+0x0000937c) RA=80109358(NK.EXE+0x00009358) SP=ffffc78c, BVA=00000000

   Второй вариант (сообщения системы и последующий дамп).

Windows CE Kernel for ARM (Thumb Enabled) Built on Jan 21 2009 at 18:02:34
INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0xb
OEM: Force clean boot.
+OALIoCtlHalInitRTC(...)
call M41T00GetRealTime
Time from RTC 2011/12/4  19:14:30
Time to RTC 2011/12/4  19:14:30
OEM: Not cleaning system hive
OEM: Not cleaning user profiles
Exception 'Data Abort'(4) Thread-Id=00f50002(pth=83f32120) PC=8012f288 BVA=d03c0008, dwInfo = 00000406
 R0=00000102  R1=00000002  R2=6000001f  R3=ffffc800
 R4=83f30444  R5=83f32120  R6=00000000  R7=d036fbf8
 R8=00000002  R9=00000000 R10=00000000 R11=d036fdf0
R12=8012f288  SP=d036fbf0  Lr=8012f288 Psr=6000001f
Exception 'Data Abort'(4) Thread-Id=00f50002(pth=ffffc63c) PC=8010937c BVA=d03c0008, dwInfo = 00000406
 R0=00000001  R1=10017f6b  R2=8191be08  R3=2013a031
 R4=8191be1c  R5=3a1d5e72  R6=8191be60  R7=000002dd
 R8=00000001  R9=00000000 R10=00000000 R11=d036fdf0
R12=80114e68  SP=ffffc78c  Lr=80109358 Psr=a0000093
Exception 'Data Abort' (4): Thread-Id=00f50002(pth=83f32120), Proc-Id=00400002(pprc=8191d308) 'NK.EXE', VM-active=00400002(pprc=8191d308) 'NK.EXE'
PC=8010937c(NK.EXE+0x0000937c) RA=80109358(NK.EXE+0x00009358) SP=ffffc78c, BVA=00000000

   Вроде бы, в этих двух вариантах отличаются только регистры R1 и R7.

   Собственно, суть моего вопроса: встречалось ли кому-нибудь что-нибудь
подобное, и каким образом решалась данная проблема?
   И ещё вопрос: есть ли возможность как-то загружать компьютеры Тион Про 270
с microSD или с USB-флэш?

Записан
--
С уважением, Мордин Андрей Александрович

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Зависание при загрузке Windows CE 6.0 на Тион Про 270.
« Ответ #1 : 15 Декабря, 2011, 17:34:53 »

> Тион Про270 с microSD или с USB-флэш?

КФС в Linux -- можно.
Записан

Danila

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 703
Re: Зависание при загрузке Windows CE 6.0 на Тион Про 270.
« Ответ #2 : 16 Декабря, 2011, 12:47:04 »

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

Вы загружаете последний образ, и eboot который идет в том-же архиве?
Записывать нужно только один из файлов загрузчика, eboot.bin или eboot.nb0.

Если Вы используете JTAG-программатор, то очистите сначала всю флеш, а потом заново запишите загрузчик и образ. Возможно во флеше есть какая-то информация, которая мешает образу грузиться, например ошибка в файле реестра.

Загрузку с SD-карты или USB можно реализовать, написав соответствующий код в загрузчик.


Записан

Andrew_Mordin

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 3
Re: Зависание при загрузке Windows CE 6.0 на Тион Про 270.
« Ответ #3 : 16 Декабря, 2011, 15:12:13 »

   Здравствуйте.

   Загружаю попеременно последний из тех образов, которые выложены на сайте,
и альтернативный ему. В последние пару раз пробовал записывать альтернативный.
Возможно, отчасти проблема в этом (я предварительно не занёс внутрь \Flash Disk\Program\
программу _Launch.exe).

   По поводу загрузчиков - первые два раза я никак не изменял загрузчик, а записывал
только новый NK.bin.
   В третий раз, кажется, тоже, но уже не уверен. Может быть, и заменил загрузчик.
   После этого экспериментировал по-всякому, но обычно последовательно записывал
EBOOT.bin, затем EBOOT.nb0, затем (в разных экспериментах по-разному - после пере-
загрузки или без таковой)  - NK.bin. Всё делалось средствами загрузчика, JTAG-а с
подходящим разъёмом у меня пока нет на руках.

Записан
--
С уважением, Мордин Андрей Александрович

Danila

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 703
Re: Зависание при загрузке Windows CE 6.0 на Тион Про 270.
« Ответ #4 : 16 Декабря, 2011, 15:46:39 »

Если возможности использовать JTAG сейчас нет, то можно дописать в eboot код, который очистит флеш.

Можете передать Тион нам для восстановления.
Записан

Andrew_Mordin

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 3
Re: Зависание при загрузке Windows CE 6.0 на Тион Про 270.
« Ответ #5 : 19 Декабря, 2011, 08:46:03 »

Понял, спасибо.
Если в ближайшее время сам не разберусь, то так и сделаем.
Записан
--
С уважением, Мордин Андрей Александрович