Стантдарт 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
а на DVD что залить? Или то что от англофикации пойдет?
Должно заработать без DVD, старт идет с HDD
Добавлено через 25 минут
Цитата:
Сообщение от Valdemar68ru
при загрузке файла loading.kwi вышло пять предупредительных окна.
Это нормально
Надо: "SysModern" -> "Rebuild" = на выходе получите тот же loading.kwi, но только с приставкой "_new" в том же директории
Именно его надо переименовать в loading.kwi и проверить на работоспособность на Вашей W12
Последний раз редактировалось AS21; 28.04.2014 в 12:58.
выскакивает окно "Предупреждение - Не unit" и кнопка "ок". и Все.
Если выделить "папку" Ver и нажать эти пункты меню,
то на диске c: создается папка: DUMP_LOADING и там папки с файлами.
выскакивает окно "Предупреждение - Не unit" и кнопка "ок". и Все.
Извините, моя вина, я забыл, что Вы только начинаете
В данном случае нужно выделить не сам loading, а его составную часть:
- она начинается с Ver и заканчивается "org", а далее как я ранее писал
В процессе будут выскакивать сообщения, они промежуточные, я их оставил для контроля процесса, всегда нажимаете OK
Последнее сообщение укажет название и точный путь нового loading.kwi
а почему именно этот, а не какой-нибудь другой?
или разницы нет?
разницы нет, главное чтобы это был один из разделов UNIT
Позже я переделаю, чтобы был loading или любой из его разделов
Была заготовка для других целей в JRemaker - я ее взял за основу и добавил "пересборку". Раньше пересборку делать надо было еще сложнее
Не успеваю делать оптимально, спешу делать функционально
За эти вопросы спасибо - этот тоже тестирование
Применительно для R03
Обновление loading.kwi — без снятия клемы:
Нажать и удерживать SET + NAVI
На экране выбрать Versions Indication
Нажать и удерживать MENU
На экране выбрать HDD Load
Далее появляется градусник, как при обновлении версии.... т.е. процесс пошел, и звершается обычным запуском
Для W-12 - должно быть, что-то аналогично, по-эспериментируйте, и нам инфа будет
Или - клема мин на 20
Добавлено через 1 час 9 минут vadimus_ca,
Продолжим...
Вопрос, в 8002 по умолчанию должно отображаться четвертый вариант: под индексом 03 (в моей программе это GMT+3)
А какая реально зона высвечивается при запуске этого loading?
Проверить не могу (на SSD обновление не выполнишь), но по памяти вроде бы Central (GMT-6).
OK час через часа 3 проверю на столе - и выложу все твои зоны по индексам
а ты подскажи - как лучше отображать в JRemaker: как у тебя на экране или через GMT-...
А вообще в программировании и не то бывает, там не всегда видимое - это явное
По SSD помню - но смогу вернуться к этой теме только в мае
Легко, только доберусь до компа, я уже ставил в Американке это
Ты можешь сам это сделать
Открой koading в Hex
Найди: E2 20 23 43 63 19 73 - он должен быть уникальным, если быть более точным, то у Американки лучше 01 E2 20 23 43 63 19 73
После "73" исправь "03" на "0B" (это индекес 11), но возможно у New Zealand - другой индекс - сообщу позже
Сохрани
Чтобы не пересчитывать KS -> в JRemaker полученный loading -> Rebuild -> сообщи результат
Добавлено через 5 часов 42 минуты
Цитата:
Сообщение от vadimus_ca
Но вообще-то для конкретно этого лоадинга меня интересует установить GMT+12 (New Zealand).
В твоем loading.kwi - установить можно, можно и GMT+13 и 14
но...
эти значения выходят за рамки дозволеного и на экране выпадают всякие непонятки "MD" или "OK" или просто пусто
Если установить например GMT+12 -> стрелка вниз, т.е. на увеличение - бред
-> стрелка вверх т.е. на уменьшение индекса после попадания в зону дозволеного -
0-8 (индекс), далее идет по кругу и не сбивается. Т.е. на GMT+12 - уже не выходит
Стоит так называемая защита "от дурака"
Рабочие (дозволеные) индексы и их соотвествие значению часового пояса в американской версии:
0 - NEAFAUNLAND = 5:30
1 — ATLANTIC = 5:00
2 - PUERTO RICO = 5:00
3 — EASTERN = 4:00
4 — CENTRAL = 3:00
5 — MAUNTAIN = 2:00
6 — PACIFIC = 1:00
7 - ALASKA = 12:00
8 — HAWAII = 11:00
Для установки GMT+12 - нужна оболочка того региона, где есть эта зона
Еще один ньюанс:
в таблице в ScreenData/AV: я не нашел текстового значения для: ALASKA , HAWAII, ATLANTIC, PUERTO RICO
Чтобы решить твою задачу GMT+12 - для начала мне нужно больше инфы, а именно:
- для какого региона (предполагаю Австралия)
- loading из их региона для MMCS (давность значения не имеет)
Последний раз редактировалось AS21; 28.04.2014 в 18:52.
Чтобы не пересчитывать KS -> в JRemaker полученный loading -> Rebuild -> сообщи результат
проверял тут...взял рабочий лоадинг, прогнал его через ребилд - а почему новый файл больше оригинала получается на 292 байта?...
еще вопрос - можно как-то увидеть, в каких модулях не сходится контрольная сумма?....именно просто увидеть...
Добавлено через 5 минут
еще:
- в help - "построить карту ваиртуальной"
- в help (10 пункт) - "Изменеие"
- в help (11 пункт) - "только лоя"
ребилд делается именно для record?...я выделял unit и делал ребилд...надо все-таки ребилд для всего лоадинга сделать...
Добавлено через 11 минут
ребилд блока boot делается?....а то что-то у меня не получается....