Цитата:
Сообщение от Mumang
в Configure нет такого типа флеш как в этом плеере, видимо тут весь затык... Пытался методом тыка подобрать, ан нет...
|
Это не наш метод!
Думаю, пора писать FAQ...
(Mumang, как опытный боец радиоэлектронного фронта , может пропустить тривиальные рекомендации, а вот новичкам читать всё)
Перво-наперво, нужно [правильно и полностью] исследовать
hardware имеющего MP3-плеера:
0.01) Приготовить
LED-фонарик и
лупу;
0.02) Позаботиться об
электростатической защите рабочего места (совет для "чайников":
если нет спец. заземленного коврика, перчаток и пр., то, как минимум, снять с себя синтетику\шерстяные вещи - одеться в Х/Б, вымыть руки с мылом, слегка промокнуть их полотенцем, оставив кожу влажной, но без капель воды; непосредственно перед вскрытием - прикоснуться ладонями к массивному или заземленному неокрашенному металлическому предмету и не касаться волос и синтетических материалов; попросить помощи у Богов и тп. );
0.03) Произвести
вскрытие пациента (как вскрывать и на что смотреть - неплохо описано тут:
in English,
in Russian; только
НЕ НАДО ничего коротить\замыкать, паять, ставить драйвера и перепрошивать на данном этапе!!!);
0.04) Записать маркировку
PCB, чем подробнее - тем лучше;
0.05) Осмотреть маркировку
микросхем, используя лупу и луч фонаря, направленный под
разными углами к плоскости чипа (совет для "чайников", но это должно избавить форум от идиотских постов в стиле "
маркировку точно\полностью рассмотреть не удалось, но вроде это M56x1x...");
0.06) Записать
полную маркировку CPU\
MCU (не M5661, а M5661
P B1!) - в дальнейшем это поможет найти
совместимую прошивку, а также правильно выставить опции USBDisk.ini;
0.07) Уточнить кол-во чипов
NAND Flash ICs и записать
полную маркировку - это поможет найти datasheet на неё, если понадобится, а также правильно выставить опции USBDisk.ini;
0.08) Обнаружить нераспаянные посадочные места под
MIC,
FM_Radio,
Charger,
Ext Card (cardreader slot),
LINEIN или, наоборот - убедиться в наличии оных и записать тип, маркировку и пр. (пригодится при поиске прошивки и правке USBDisk.ini;
0.09) По возможности, оценить\записать тип
LCD (mono/color, Dot Matrix/OLED/STN/CSTN/TFT Panel, Backlight и т.п.);
0.10) Собрать всё обратно и
сделать орг
выводы, принимая во внимание нижеизложенную информацию.
комментарий к п.0.6:
Что нам даёт модель\версия процессора?
Цитата:
1. Introduction of Ali M5661/5667 series products
Ali M5661/5667 series products are HS USB2.0 Flashdisk Audio Controllers provided by Ali Corporation. According to performance and function, Ali M5661/5667 series products can be ranked as follows: M5661, M5661R, M5661C, M5661P, and M5667.
These series products have an integrated USB2.0 controller, and the programs inside them can be upgraded through USB interface. These series products have integrated 24-bit 80MHz Audio DSP, support DRM, Nand Flash, and SM/SD/MMC. These series products also have integrated 8-bit 120MHz MCU compliant 51 series monolithic processors.
2. Characteristics of Ali M5661/5667 series products
M5667 is one simplified version product of M5661x series products, which is LQFP-64 encapsulated.
3. Application of Ali M5661/5667 series products
Ali M5661/5667 series products provide complete MP3 player solutions.
According to Ali products' functionalities, these products can be ranked as the following:
the M5667 which supports high-speed U-DISK function and also supports MP3 playing functions,
the M5661P which supports a single-color screen and FM radio,
the M5661C which supports a full-color screen and FM radio,
the M5661R which supports a single-color screen, full-color screen, FM radio, and DRM functions, and
the M5661 which provides USB HOST function based on the M5661R.
|
Из этого как бы следует, что, к примеру, не стоит в плеер с процессором M5661P пытаться залить прошивку от другого плеера, на котором установлен цветной дисплей, можно заливать модуль FM, но следует отключить DRM в настройках MP_Tool.
см.
USBDisk.ini/[PrivateArea]/DrmSupport,DrmSize
(планирую дополнить рекомендации позднее)
комментарий к п.0.7:
Что нам даёт кол-во чипов\банков
NAND Flash?
От этого зависит требуемое значение переменной "
ChipNo" в разделе
[Configuration] файла
USBDisk.ini, которое может быть изменено прямой правкой конфига, либо в выпадающем списке "MP_Tool/Configure/NAND Type/ChipNo". Если микросхема NAND Flash на PCB одна, то в большинстве случаев
(? - требует уточнения) "ChipNo=1", но следует иметь в виду, что некоторые чипы имеют структуру "2-в-1" - 2 банка памяти в одной ИМС.
см. USBDisk.ini/[Configuration]/EnableMultiBank, а также см. вложение
Multiple_Chip_NandFlash_List.txt
комментарий к п.0.8:
MIC: см. USBDisk.ini/[Folder]/DIR0=MICIN.DIR
FM: см. USBDisk.ini/[Folder]/DIR1=FMIN.DIR
LINEIN: см. USBDisk.ini/[Folder]/DIR2=LINEIN.DIR
Charger: см. USBDisk.ini/[Configuration]/Charger и MP_Tool\Charger_Stage.ini (есть во вложении)
Ext Card (cardreader slot)
(планирую дополнить рекомендации позднее)
комментарий к п.0.9:
см.
USBDisk.ini/[PrivateArea]/LcdbufSize=64
(планирую дополнить рекомендации позднее)
Все программы, что распространяются вместе с прошивкой, используют один и тот-же конфиг файл -
USBDisk.ini. Так, ISP_Tool не умеет его редактировать и сам по себе имеет минимум настроек, но, тем не менее, читает значения параметров из него.
При нажатии кнопок "MP_Tool/Configure" и "MP_Tool/Configure/Save" текущие настройки сохраняются именно в него.
Соответственно, начинать надо с
USBDisk.ini:
1.1) сохранить оригинал (скопировать, например, в USBDisk.orig.ini);
1.2) открыть в
нормальном plain\text редакторе (в моём случае это
AkelPad; M$ Notepad не рекомендую использовать вообще никогда - может косячить с символами перевода строки и писать в файл мусор из непечатаемых символов - такой косяк видно только в HEX-редакторе);
1.3) проверить раздел [Program] и выставить\исправить опцию Type=
Advance - это позволит работать с настройками в MP_Tool;
1.4) запустить MP_Tool, нажать "MP_Tool/Configure";
1.5) изменить настройки, сохранить изменения ("MP_Tool/Configure/Save");
1.6) закрыть MP_Tool,
ничего не прошивая!;
1.7) править, используя в качестве образца файл
USBDisk.txt (см. вложение - в нём есть построчные комментарии!), а в качестве учебного пособия - файл
M5661_MPToolUsersManual.doc.
Полезно, изучив USBDisk.txt, проглядеть свой USBDisk.ini - не все настройки можно изменить через "MP_Tool/Configure"! Некоторые опции можно поменять только прямой правкой файла USBDisk.ini. В то-же время, некоторые опции удобнее и быстрее выставить в графическом интерфейсе "MP_Tool/Configure". Что править? В первую очередь следует "разлочить" MP_Tool в соответствии с пунктом 1.3, если это еще не сделано. Во вторую - исправить все пути к файлам, доставшиеся нам "по наследству" от китайских программистов, и проверить имена самих файлов (FW, ISP, etc). MP_Tool использует абсолютные пути, что не есть гут - в прошивках часто указаны старые пути типа "C:\Documents and Settings\China_Programmer\...".
Следующий момент -
NandList.ran. Я бы предложил такой алгоритм процедуры "обучения" MP_Tool и ISP_Tool работе с нашим чипом NAND Flash:
2.1) проверить раздел [Configuration] в
USBDisk.ini и выставить\исправить опцию FlashTable=NandList.ran, указав имя файла последней имеющейся версии (например, FlashTable=
NandList_v22.ran; не стоит переименовывая новый NandList_v22.ran, подсовывать его вместо старого NandList.ran - удобнее хранить в папке MP_Tool разные версии);
2.2) сохранить USBDisk.ini и запустить
ChkNFType.exe (см. вложение) - это тест на автоопределение типа памяти и числа банков;
2.3a) Если тест успешный - перейти к п.2.7;
2.3b) Рыть интернет-просторы в поисках
любой прошивки от\для ALi или дистрибутива MP_Tool\ISP_Tool (необязательно для M5661 - структура файла NandList.ran одинакова для всех CPU и всех версий MP_Tool), выковырять свежий NandList.ran и скопировать его в папку MP_Tool. (А заодно - и новый файл с сообщениями об ошибках
MsgStr.ran, в новых версиях лучше\правильнее\точнее перевод с китайского на английский, русский тоже появился - но читать это убожество вообще невозможно
);
2.4a) Если удалось найти новую версию - вернуться к п.2.1;
2.4b) Найти datasheet на нашу NAND Flash от производителя и использовать
NandAP (aka
NandList_x
.xx
.xx
.exe, см. вложение) для редактирования последней имеющейся версии
NandList.ran и добавления в базу параметров нашего чипа памяти;
2.5) Сохраняя файл NandList.ran, дать ему имя, отличающееся от стандартной нумерации ALi (например, NandList_v22.
Mumang_v01.ran - это позволит избежать путаницы в версиях и всегда будет понятно, какая базовая версия использовалась в качестве основы);
2.6) Перейти к п.2.1;
2.7) Конец процедуры.
Итак, теперь всё готово для работы с флешкой и можно (нужно!) сделать бэкап имеющейся оригинальной прошивки (она может пригодиться, даже если она повреждена бэд-блоками или плейер вообще с ней не грузится!).
Для бэкапа следует осторожно (
НЕ нажимая
все кнопки подряд!) использовать ISP_Tool:
3.01) Выполнить бэкап файла
Pm.bin, если таковой имеется у вас в папке MP_Tool\ISP_Tool!
Программа ISP_Tool затирает его БЕЗ предупреждения!!!
Код:
C:\MP_Tool>copy Pm.bin Pm.orig.bin
Скопировано файлов: 1.
C:\MP_Tool>
3.02) Запустить ISP_Tool;
3.03) Установить радио-кнопку в позицию "Config+FW";
3.04) Нажать кнопку "Auto ID";
3.05) Убедиться, что в нижнем левом углу окна ISP_Tool появилось сообщение "Auto ID OK!", а справа от него в выпадающем списке выбран тип NAND Flash, соответствующий п.0.07;
3.06) Нажать кнопку "Ver", появится всплывающее окно - записать полученные данные (VID, PID, Chip ver, FW ver, Date, Kernel ver);
3.07) Нажать кнопку "ID", появится всплывающее окно - записать ID;
3.08) Нажать кнопку "Get Bad Block", появится всплывающее окно - записать значение "Total BB";
3.09) Нажать кнопку "Save PM", в нижнем левом углу окна ISP_Tool появится сообщение "Backup PM" - это признак того, что
начался процесс загрузки прошивки с NAND Flash на PC;
3.10) Дождаться появления сообщения "Save Pm.bin OK!" - это признак успешного
окончания загрузки прошивки на PC.
3.11) нажать кнопку "Exit" (именно "Exit", а
не "OK"!!!);
3.12) Выполнить
повторно бэкап файла
Pm.bin в папке MP_Tool\ISP_Tool:
Код:
C:\MP_Tool>copy Pm.bin Pm.bkup.bin
Скопировано файлов: 1.
C:\MP_Tool>
Это позволит избежать случайного затирания Pm-файла программой ISP_Tool в дальнейшем.
В итоге в папке MP_Tool должны оказаться 3 Pm-файла:
Код:
Pm.bin образ прошивки в плеере
Pm.bkup.bin резервная копия образа
Pm.orig.bin оригинальный образ, скаченный вместе с прошивкой или дистрибутивом MP_Tool\ISP_Tool
Теперь можно смело приступать к деструктивным действиям.
(продолжение следует
)