Здравствуйте.
В процессе экспериментов с Тион Про 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-флэш?