Стантдарт KIWI
Существует три основных стандарта автомобильных систем GPS навигации: Navteq, GDF, KWI.
многие японские компании (прежде всего Мицубиси, Тойота, Ниссан), а также General Motors используют системы навигации, построенные на базе стандарта консорциума KIWI-W. Subaru - используют навигации производства Kenwood (тоже KWI).
Описание структуры файлов этого стандарта - расширение KWI.
KIWI - формат используется для описания карт и объектов, может содержать мета данных, например, голосовые сообщения.
Основные файлы на диске:
LOADING.KWI - загрузчик
ALLDATA.KWI - картографическая информация в специальном формате KIWI
INDEXDAT.KWI - поисковые и справочные индексы
Все эти файла, как правило, записывались на HDD
Пример структуры разделов HDD (MMCS R03)
1. Maps
2. blank
3. Loading
4. ScreenData
5. CDDB
6. AVUnit
На новых моделях, как напрмер MMCS W-11 и W-12, которая устанавливается на Аутлендер третьего поколения, вместо жесткого диска появилось два гнезда для SD карт одна под навигацию другая предположительно для музыки
Здесь описана классическая структура стандарта, но каждый производитель всегда вносит свои коррективы. http://www.kiwi-w.org/documents_eng.html
[свернуть]
LOADING.KWI — загрузчик
Скрытый текст
Это контейнер, который состоит из секций.
В общем случае лоадинг может содержать и одну секцию и больше...главное, что он содержит загрузчик для ОС.... саму ОС (не важно какую) он может и не содержать - загрузчик может ссылаться на другой файл, содержащий ОС....
Пример описания лоадинга на базе ОС WinCE (loading.kwi MITSUBISHI).
1. Заголовок.
1. Loader (boot)
2. Firmware (OS)
3. Screendata (FS)
У W11, W12 доплнительные секции:
4. Графические файлы *.bmp
5. Фалы типа *FONT.BIN — судя по названию, для отображения фонтов на экране.
Структура заголовка Loading.kwi
На примере loading.kwi MITSUBISHI:
Адрес -> Длина -> Назачение
0-1 ------> 2 ------>количество размещеных систем.
2-3 ------> 2 ------>Резерв
4-F ------> 12 ----->Идентификация и управленческая информация
10-11 ---> 2 ------> Количество частей в Loading
12-13 ---> 2 ------> резерв
14 ------> 1 ------> Категория модуля №1: 0- программа инициализации, 1 – программа, 2 – библиотека, 3 – data, + 40h (64) тестовый, + 80h (128) – сервисный диагностический
15-17 ----> 3 ------> Резерв
14-53 ------> 64 ------> 01 Категория Unit №1, NR261RM.MLD.ORG NR261RM.- русская голова,
NR261J11 – японская голова
NR261EM - европа
Эти параметры сравниваются внутри BOOT
.MLD.ORG признак BOOT
00000113 Номер версии (F)
00000113 Номер версия (G)
00000101 Номер версия (J)
00000111 Номер версии (E)
54-93 ------> 64 ------> 01 Категория Init №2, NR261RM.SHx.ORG NR261RM.- русская голова,
NR261J11 – японская голова
NR261EM – Европа
MMC13 – W11 , W12
NR242RM - русский вариант W-12;
NR242EM - европейский вариант;
NR242UM - американский вариант;
NR242AM - австралийский вариант.
Эти параметры сравниваются внутри BOOT
.SHx.ORG признак OS
00000400 Номер версии модуля OS (F)
00000500 Номер версии модуля OS (G)
00011403 Номер версии модуля OS (J)
00006203 Номер версии модуля OS (E)
94-D3 ------> 64 ------> 03 Категория Unit №3 NR261RM.SCN.ORG NR261RM.- русская голова,
NR261J11 – японская голова
NR261EM - европа
Эти параметры сравниваются внутри BOOT
.SCN.ORG признак DATA
00000400 Номер версии модуля FS (F)
00000500 Номер версии модуля FS (G)
00000000 Номер версии модуля FS (J)
00006203 Номер версии модуля FS (E)
D4-D5 ----> 2 ------> 1D 60 1D 60 дата, на которую функции модуля становится действительным.
Дата отображается с количество дней считается с 1 января 1997 года как день 0 на основе UTC.
По умолчанию должен быть установлен с "00 (16)" Если Дата не задана.
Примерно: 10/07/2027
D6-D7 ----> 2 ------> 1D 60 1D 60 дата, на которую функции модуля становится не действительным.
D8-117 ----> 64 ------> Это поле используется для описания модуля для пользователя.
118-11B ----> 4 ------> 00 00 04 00 400 (400*2 =800) В этом поле стартовый адрес программного кода (если есть) Unit умноженое на 2
11С-11F ----> 4 ------> 00 03 74 00 37400 (37400*2 = 6А800) В этом поле размер программного кода (если есть) Unit умноженое на 2
120-1D3 ----> 180 ------> Это поле используется изготовителем модуля, чтобы указать информацию, относящуюся к производителю.
[свернуть]
Описание Loader (boot)
Файл (контейнер) для хранения стартового образа прошивки в формате NB0, он в свою очередь запакован в контейнер BIN (файл формата bib).
Главным показателем того, что перед Вами находится прошивка в контейнере этого типа, является сигнатура BOOOFF.(именно с точкой на конце) , в начале образа.
В нем находится файл nk.exe — ядро системы.
Описание bib формат (файлы bin) http://msdn.microsoft.com/en-us/library/ms898171.aspx
[свернуть]
Описание Firmware (OS)
Файл (контейнер) для хранения рабочего образа прошивки в формате NB0.
Главным показателем того, что перед Вами находится прошивка в контейнере этого типа, является сигнатура BOOOFF.(именно с точкой на конце) , в начале образа.
В нем находятся все модули и файлы системы в разобраном виде. Стандарт PE format. http://kaimi.ru/2011/07/pe-%D1%84%D0...6%D0%B8%D1%8F/
[свернуть]
Структура Screendata (FS)
Это простой, даже не архивированный контейнер. В нем, по определенной логике лежит информация (жестко записанная) - в каком каталоге должны находиться файлы этой секции
Структура UNIT ScreenData в loading.kwi:
Первый блок:
4h первые -> Количество записей в блоке
4h вторые -> Размер блока от начала блока (в размер входят первые 4h и вторые 4h))
Данные: список каталогов -> Разделитель «00h»
Второй блок:
4h первые -> Количество записей в блоке
4h вторые -> Размер блока от начала блока (в размер входят первые 4h и вторые 4h)
Данные: список имен с каталогом, содержащий последовательность
записи файлов (по порядку)-> Разделитель «00h» (индексный)
4h первые -> Размер файла
далее -> Имя файла заканчивается.
Разделитель «00h»
Третий блок:
Начало: в конце второго блока, начинается файл данных
Данные: по порядку по размеру файла как во втором блоке.
Все данные и адреса считываются ил прошивки по-байтово в обратном порядке - "ногами вперед" — Little-Endian
DWORD num_LE; // little-endian
DWORD num_BE; // big-endian
LE по умолчанию для x86 и SH4.
ScreenData на HDD - это тот же образ, что в loading.kwi, но уже развернутый в выше упомянутом каталоге
[свернуть]
[свернуть]
JRemaker
Скрытый текст
Программа JRemaker. Предназначена для редактирования прошивок от автомагнитол на базе формата контейнера файл: loading.kwi.
OS: WinCe 2.11, 3.0, 4.20, 6.0.
Разработана на основе анализа структуры LOADING.KWI - загрузчик, установленных на атомобилях MITSUBISHI - R01, R02, R03, J03, J05, N04, W11, W12.
Совместима для работы также с E-01..E-06, J-01/02/04/11, N-01, N-02, N-03, N05
В Японии FM диапазон вещания ограничен более жестко (76...90 МГц) Для обхода этого ограничения необходимо установить FM-модулятор, который расширит диапазон до требуемого российского 108 МГц. Как правило модулятор имеет антенное гнездо и антенный выход и провод питания +12.
1) MMCS среднего поколения (начиная с J-01 от 2006г. и до R-03) имеют в своем составе радиотюнер. Также его имеют MMCS последнего поколения (начиная с J-11 от 2011г. и до нынешней W-12), а предыдущее самое первое поколение MMCS не имело встроенного радиотюнера (например, на Аутлендере первого поколения), а еще более ранние назывались MDS и не имели жесткого диска вообще.
2) в различных странах различные диапазоны для FM-радио, например,
-- Европа/Россия 87..108 МГц с шагом 0,1 МГц;
-- СССР/Россия дополнительно 65,9..74 МГц УКВ;
-- Америка 87..108 МГц с шагом 0,2 МГц;
-- Япония 76..90 МГц с шагом 0,1 МГц,
соответственно, и MMCS-ы для различных регионов изначально имеют локализацию. Причем программно-аппаратную.
Один из вариантов:
----В Японии FM диапазон вещания ограничен более жестко (76...90 МГц) Для обхода этого ограничения необходимо установить FM-конвертер, который расширить диапазон до требуемого российского 108 МГц. Как правило модулятор имеет антенное гнездо и антенный выход и провод питания +12. FM-конвертер позволяет без каких-либо программно-аппаратных изменений в радиотюнере сдвинуть диапазон. Наиболее востребованы и широко применяются такие:
-- для приема УКВ на стандартном российско-европейском тюнере (87..108);
-- для приема российского FM (87..108 с шагом 0,1) на американском тюнере (87..108 с шагом 0,2);
-- для приема российского FM (87..108 с шагом 0,1) на американском тюнере (76..90 с шагом 0,1).
При этом на экране радиотюнера не реально отображается частота принимаемой станции.
3) если же все-таки переделывать ПО и оборудование самой MMCS, то точно нужно перепрошивать микроконтроллер, управляющий синтезатором частоты, наиболее просто это будет с адаптацией американки, т.к. диапазон одинаков (уважаемый Ежик Пых перешивал Ренесасовский NEC микроконтроллер под шаг 0,1). Для японки возможно еще дополнительно прийдется перестраивать контура в ВЧ-блоке...
[свернуть]
Адаптация NTSC ТВ к российскому ТВ
Скрытый текст
Если TV тюнер встроен в головное устройство, устанвливается дополнительный внешний тюнер.
Тюнер обеспечивает возможность приема телевизионных передач цветного изображения в системах PAL/SECAM D/K и отображение принятого сигнала на штатных NTSC мониторах автомобилей японского и американского рынков.
Такие устройства могут коммутировать сигналы формата RGB+SYNC, RGB+HSync+VSync, RGsB.
Данное устройство позволяет подключить ТВ-тюнер к навигационному дисплею автомобиля по RGB+SYNC в случае отсутствия стандартного AV-входа.
Также возможно подключать ТВ-тюнер к навигационным мониторам, где сигналы синхронизации либо формата RGB+HSync+VSync (MITSUBISHI), либо синхронизация передается в канале зеленого цвета (MITSUBISHI, BMW)
Встроенный аналоговый ТВ-тюнер имеют толаько японские варианты MMCS. Остальные редакции его не имеют. В связи с вытеснением аналогового TV цифровым DVB-(T)/T2, аналоговое ТВ скоро возможно скоро будет не актуальным"
[свернуть]
Примеры модификации loading.kwi для MMCS
Скрытый текст
Пример № 1 Руссификация японки
Скрытый текст
NR261RM.- русская голова,
NR261J11 – японская голова
Смотрим раздел Стурктура заголовка loading.kwi
Вариант №1 -> R03G:
Имеет 3 Unit: 10-11 ---> 2 ------> Количество частей в Loading = 3
Категория Unit №1, NR261RM.MLD.ORG
Категория Unit №2, NR261RM.Shx.ORG
Категория Unit №3, NR261RM.SCN.ORG
MLD, SHx, SCN -> ссылки на 3 адреса: Unit №1:
118-11B ----> 4 ------> 00 00 04 00 = (400*2 =800) В этом поле стартовый адрес программного кода Unit умноженое на 2
11С-11F ----> 4 ------> 00 03 74 00 = (37400*2 = 6А800) В этом поле размер программного кода Unit №2: -> 218... Unit №3: -> 318...
Вариант №2 -> J05 + R03G:руссификация японки
Имеет 3 Unit: 10-11 ---> 2 ------> Количество частей в Loading = 4
Категория Unit №1, NR261J11.MLD.ORG
Категория Unit №2, NR261RM.MLD.ORG
Категория Unit №3, NR261RM.Shx.ORG
Категория Unit №4, NR261RM.SCN.ORG
MLD (японский),MLD (русский), SHx(русский), SCN(русский) -> ссылки на 4 адреса: Unit №1:
158-11B ----> 4 ------> 00 00 04 00 = (400*2 =800) В этом поле стартовый адрес программного кода Unit умноженое на 2
11С-11F ----> 4 ------> 00 03 74 00 = (37400*2 = 6А800) В этом поле размер программного кода Unit №2:
258-11B ----> 4 ------> 00 00 04 00 400 (400*2 =800) В этом поле стартовый адрес программного кода Unit умноженое на 2
11С-11F ----> 4 ------> 00 03 74 00 37400 (37400*2 = 6А800) В этом поле размер программного кода Unit умноженое на 2 Unit № 1 и Unit № 2 ссылаются на один адрес Unit №3: -> 358... Unit №4: -> 458...
[свернуть]
Пример № 2 Maintance от американки:
Скрытый текст
Программа JRemaker:
- Current - R03_G
- Donor - N03 или N04 можно попрбовать с другими версиями американки
-- Надо скопировать из донора в current следующие файлы:
1) HMIManager.exe
2) gs_hmi_string.tbl,
3) HMI.scrn
4) HMI_BMP.symb
5) can.exe Новые возможности:
>Выбор языка при старте (при выборе языка меняется язык не только MMCS, но и язык отоббражения информации в ETAKS
> через кнопку INFO в меню появляется "тех. обслуживание" -> Maintenance - это специализированный календарь по графику технического обслуживания.
MMCS через can получает данные по maintenance и использует для некоторых расчетов для этотго графика.
В русской такой функции нет, can.exe урезанный по этим функциям соответственно maintenance не работает.
Теперь должен работает в полном объеме.
[свернуть]
[свернуть]
MMCS — Описание, характеристика
Скрытый текст
Описание
Скрытый текст
классификацию самих MMCS, можно разделить на три поколения:
-- пред-MMCS (чаще называемые MDS) были модульными и состояли из отдельных блоков: монитор, CD-радио, блок навигации, ТВ-тюнер и т.п. Жесткого диска не имели, а LOADING и карты грузились с DVD (у меня есть один такой производства Aisin под маркой Mitsubishi);
-- нулевое поколение MMCS это дальнейшее развитие MDS, но в навигационном блоке появился жесткий диск (такие устанавливались на Outlander первого поколения, производитель MELCO);
-- первое поколение MMCS это моноблочный вариант с жестким диском "все-в-одном", который в основном здесь и рассматривается (такие устанавливались на Outlander XL, производитель MELCO).
Есть 3 варианта работы MMCS с BT:
1. Не поддерживается (J-01)
2. Поддерживается старый блок - (R-01, R-02, E-01, E-02, E-03, N-02, N-03, P-01, C-01, J-02, J-03, J-04)
4. Поддержка нового блока - адресная книга, USB, BT Audio (R-03, E-04, E-05, E-06, P-02, C-02, J-05, N-05)
Известны следующие аппаратные редакции устройств.
Для японского региона:
J-01 [8750A082]
J-02 [8750A072]
J-03 [8750A141]
J-04 [8750A115]
J-05 [8750A224]
Для американского региона:
N-01 [8750A069]
N-02 [8750A142]
N-03 [8750A183]
N-04 [8750A???]
N-05 [8750A???]
Для европейского региона:
E-01 [8750A070]
E-02 [8750A143]
E-03 [8750A184]
E-04 [8750A???]
E-05 [8750A???]
E-06 [8750A???]
Для русского региона:
R-01 [8750A169]
R-02 [8750A170]
R-03 [8750A211]
Для австралийского региона (под маркой Mitsubishi, но производитель KENWOOD):
A-01 [8750A132]
A-02 [8750A???]
A-03 [8750A???]
A-04 [8750A196]
соответственно, поскольку австралийские варианты крайне экзотичны у нас и, вероятно, серьезно отличаются по архитектуре, то упомянуты для полноты перечня.
-- второе поколение MMCS это дальнейшее развитие, т.е. обновленный вариант, у которого вместо жесткого диска используется SD-карта памяти (такие устанавливаются на Outlander III).
J-11 [8750A???]
W-11 [8750A???]
W-12EU [8750A374]
W-12RU [8750A391]
[свернуть]
Характеристика
Скрытый текст
R03 и ее аналоги
Скрытый текст
• WinCe 4.2
• Процессор Renesas SH7770
• 30 Гб жесткий диск
---- R-01 Toshiba MK3029GAC
---- R-02 Toshiba MK4036GAC
---- R-03 Toshiba MK4050GAC
---- Вариант установки SSD PATA https://out-club.ru/board/showpost.p...postcount=6574
• Навигационная система double wide DIN
• дисплей
----ЖК-панель Sharp LQ070 формально 7-дюймовая (реально чуть меньше, т.е. 6.95") с физическим разрешением 480×234
• Предварительно установленны европейские японские российские дорожные карты
• Touch screen полнофункциональный экран
• Регулировки Аудио кнопками руля
• 8 Гб музыкальный сервер (22 ГБ для навигации)
• Cовместима с MP3 и WMA
• DVD / CD слот
• Стандартный TMC-тюнер (ТВ-в японской версии)
• Информация бортового компьютера
• Опция пользовательских настроек систем автомобиля (открытие с пульта, освещение в дневное время, работа стеклоочистителей, индикаторы) (( в европейско-американской версии))
• Подключаются 6 динамиков стандартной системы и 9 динамиков
Rockford Fosgate
• 4 канала х 45W
• Телефонный адаптер для подключения портативного аудио оборудования
(необязательно) MZ313870
[свернуть]
W12 и ее аналоги
Скрытый текст
MMCS W-11 и W-12 устанавливается на Аутлендер третьего поколения. Типоразмер, модуль блютус , кан модуль такой же как на предыдущих моделях вместо жесткого диска появилось два гнезда для SD карт одна под навигацию другая видимо для музыки DVD диски не воспроизводит, разьемы подключения другие, чем у R-03
Еще где-то должны быть поля для указания на текстовое значение, подсвечиваемый элемент карты (gif в screendata, но непонятно, где хранятся координаты)
Ну ты вооще!!!
Решил дорисовать новую территорию?
Я тоже думал об этом, жаль мне не подходит американская версия loading.kwi - главная проблема радио
Может кто знает:
КАК РЕШИТЬ ПРОГРАММНО ПРОБЛЕМУ РАДИО В ЯПОНСКОМ?
Новую территорию я дорисовал, выше выкладывал, теперь хочу сделать выделение сегмента карты, соответсвующего выбранному поясу
И пока заменять файлы в SCN.ORG я не могу, приходится играться с заменой их уже на hdd.
Есть версия, что чип синтезатора частоты может быть перепрограммирован без выпаивания, через i2c.
а вот с картами сложнее - надо изучать. В моем варианте они вообще не запустились
да, и есть такая же проблема с запуском music server от R-03 на японке...подозреваю, что эта проблема также касается шрифтов -
когда анализировал индексные файлы, то индексы на японках пишутся иероглифами, а на русской - латиницей...
Цитата:
Сообщение от vadimus_ca
Дело не в SSD, а в любой не-Тошибе.
а, суть понял...сначала не о том подумал...да, пробовал искать модель винта в загрузчике - не нашел...похоже придется дизассемблировать и искать, где идет проверка...
Цитата:
Сообщение от toki
Кто нибудь менял FontLib.dll в J-04 (или англофицированной N-04) на R-04.
FontLib.dll, как и GraphicsLib.dll в американке и русской полностью одинаковы...проблема не в этом....
Думаю проблема не в производителе, а в наявности возможности блокировки HDD
В том варианте, который ты предложил для JRemaker - убирается именно блокировка со стороны loading.kwi? Или что-то еще, опиши плз.
Думаю проблема не в производителе, а в наявности возможности блокировки HDD
можно проверить....
Цитата:
Сообщение от AS21
В том варианте, который ты предложил для JRemaker - убирается именно блокировка со стороны loading.kwi? Или что-то еще, опиши плз.
ничего не убирается....я же объяснял:
- в навигации есть свой загрузчик (типа BIOS), он содержит код блокировки для возможности доступа к диску после полной обесточки
- сам код блокировки на диск выставляет лоадинг
т.е. если мы воткнем диск с неродным лоадингом (точнее с лоадингом, содержащим код, отличный от того, что в навигации), то после полной обесточки получим невозможность работы с диском....
если же приведем в соответствие код в лоадинге коду в навигации - то проблему эту решим...
Добавлено через 1 час 42 минуты to AS21
а как блок scn заменить?....т.е., например, вставить в прошивку всю папку ScreenData из другой прошивки?....
код в навигации я имею ввиду код блокировки HDD, прописанный в загрузчике (BIOS, буду так условно называть) навигации....код в лоадинге - код блокировки HDD, прописанный в nk.exe...
код в навигации сменить можно только перепрошивкой микросхемы BIOS, т.е., в обычном смысле, никак....
Добавлено через 6 минут
Цитата:
Сообщение от AS21
Так может сконцентрируемся на этом, здесь хоть есть идеи, небольшие наработки, YDean подключим да и для перспективы лучше, на горизонте J11?
поковырял я таки еще немного ScreenData - таки символы, загружаемые в экран там...
GS_*_STRING.tbl - таблица имен символов и их текстовых интерпретаций
*.symb - а вот тут сами символы для этих имен (вроде в формате bmp)...Отаку вроде разобрался с ним, но до сих пор не внес viewer в свою программу...
*.scrn - вот еще загадочный файлик, вроде как даже Отаку пока не понял для чего он....
т.е. если мы воткнем диск с неродным лоадингом (точнее с лоадингом, содержащим код, отличный от того, что в навигации), то после полной обесточки получим невозможность работы с диском....
если же приведем в соответствие код в лоадинге коду в навигации - то проблему эту решим...
Эта проблема была решена больше месяца назад, я об этом говорил.
Конвертированные мной с тех пор MMCS не требуют при сбросе питания СD c лоадингом.
Добавлено через 44 секунды
Цитата:
Сообщение от AS21
Пока только через HEX, Если это сегодня актуально, то могу поставить эту часть работы на первый план
Цитата:
Сообщение от MadLord Посмотреть сообщение
т.е. если мы воткнем диск с неродным лоадингом (точнее с лоадингом, содержащим код, отличный от того, что в навигации), то после полной обесточки получим невозможность работы с диском....
если же приведем в соответствие код в лоадинге коду в навигации - то проблему эту решим...
Эта проблема была решена больше месяца назад, я об этом говорил.
Конвертированные мной с тех пор MMCS не требуют при сбросе питания СD c лоадингом.
Все-таки: хотя бы для себя:
давайте закроем этот вопрос
1) - его четкая суть: для чего это
2) - если это надо вставлять в JRemaker - надо, чтобы один из Вас объединил всю инфу в одну и четко мне поставил задачу, что надо допрограммировать
Если я правильно понял - работы здесь немного
Пока отложу на пару дней для себя эту часть работы - займусь восстановлением теории по ScreenData. После Дня Победы - займусь уже практическим написанием
У меня переписка с MAXBOOT в феврале этого года по scrn - если он не окликнется до 9 мая - выложу все мысли по этому вопросу
Пока прошу кого-нибудь сделать такой эксперимент:
- надо соединить русские карты с J05
-- внедрить русский navy.exe и все что с ним связано в J05
Если с радио в J05 - теоретически - есть два решения (на входе ставится устройство для смещенния волны сигнала...), то с картами - непонятка
Без этого нет смысла переводить японку