Я пока не разбираюсь в Android, но очень хочу разобраться. Из опыта могу похвалиться только тем, что один раз получил Root-права на смартфоне HTC и перепрошил его альтернативной прошивкой. Так что, если что-то пишу неправильно, поправьте.
Я хочу "пересобрать" ядро медиаплеера Minix X7 на процессоре RK3188 с помощью SDK (Software Development Kit - комплект средств разработки), предназначенного для него. Что значит "пересобрать"- пока не знаю.
Главное, нужно отключить ресемплинг 48 кГц в 44,1 кГц на выходе SPDIF в библиотеках Android. Где хранятся эти библиотеки?
Затем по совету HoSStiA нужно:
Сообщение от HoSStiA
Для самодельщиков может быть полезным убрать с UART2 консоль FIQ Debuger'а на /dev/ttyFIQ2, и поднять серийный порт на /dev/ttyS2. Меньше мусора и возможность стабильного обмена данными минуя USB с управляющей периферией типа Arduino.
Для организации UART2 необходимо выключить в конфигурации ядра FIQ Mode Serial Debugger (на первом экране make menuconfig)
.config - Linux/arm 3.0.36 Kernel Configuration
│ There is no help available for this option.
│ Symbol: UART2_RK29 [=y]
│ Type : boolean
│ Prompt: Serial port 2 support
│ Defined at drivers/tty/serial/Kconfig:1552
│ Depends on: HAS_IOMEM [=y] && SERIAL_RK29 [=y]
│ Location:
│ -> Device Drivers
│ -> Character devices
│ -> Serial drivers
│ -> RockChip RK29/RK30 serial port support (SERIAL_RK29 [=y])
Если определить параметры терминала командой
busybox stty -F /dev/ttyS2 speed 9600 cs8 -cstopb -parenb
. то можно обычными методами мониторить постуапающие данные из собственных приложений, к примеру командой
cat /dev/ttyS2
, а также отправлять данные через UART на внешнее устройство
echo 'Hello, World!' > /dev/ttyS2
По второй ссылке качается быстрее. После скачивания обнаружил, что файл зачем-то два раза сжат разными архиваторами - tar и gz. Сначала распаковал архив gz, потом скачал tar. Получил кучу непонятных папок внутри папки "home".
Установил на комп что-то из Android SDK, включая Android 4.2.2API:
После прочтения съесть!
Что дальше делать, пока не знаю. Все эти коды писать, я так понимаю, надо в строке после запуска cmd.exe в Windows.
Прошу помощи тех, кто "в теме", разложить все по полкам и пояснить, что с чем едят.
Re: Пересборка ПО медиаплеера на Android для чайника
Сообщение от WWWolf
По второй ссылке качается быстрее. После скачивания обнаружил, что файл зачем-то два раза сжат разными архиваторами - tar и gz. Сначала распаковал архив gz, потом скачал tar. Получил кучу непонятных папок внутри папки "home".
Это линуксовая классика архивации. tar - это архив без сжатия. ТО есть просто несколько файлов со структурой папок объединены в один файл. А gz - это непосредственно g-ZIP, юниксовый сжимальщик, который умеет сжимать только одиночный файл по технологии ZIP.
По остальному не подскажу, ибо опыта не имею. Вот если бы у меня был миникс и туча свободного времени (первыми меня сейчас закидают, а второго у меня не так уж и много), я бы поэкспериметировал
Re: Пересборка ПО медиаплеера на Android для чайника
1) Поставил перемычку внутри устройства в положение, чтобы прибор загружался сразу же после подачи питания +5В. См. тут.
2) Установивил драйверы Android отсюда. Чтобы комп увидел Minix, надо после подключения USB (через разъем OTG) нажать и удерживать кнопку Recovery (под скрепку). А затем перезагрузить прибор вынув и вставив разъем питания.
3) Получил права Root по инструкции отсюда. Перезапускаем прибор.
4) Снова заходим в USB и ставим галочку Connect to PC (мы это уже делали в предыдущем пункте).
5) Запускаем cmd.exe в Пуск-Выполнить. Откроется командная строка.
6) Вводим команду cd [путь к папке platform-tools], например c:\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\, естественно без скобок. Это позволит нам больше не вводить длинный путь к этой папке.
7) В командной строке adb devices и убеждаемся, что есть хотя бы одно устройство, подключенное к компу. Если ничего не покажет - значит нет подключения.
8) Меняем разрешение экрана, для чего выдергиваем кабель монитора из Minix и вводим команду adb shell am display-size 480x1280 (для штатного экрана CIC в машинах BMW разрешением 1280x480, в вашей штатной системе разрешение может быть другое). Инфу любезно предоставил _Lexus c форума pccar. Теперь надо сконфигурировать ярлыки на рабочих столах для удобства работы в новом разрешении.
---------- Сообщение добавлено 20.08.2014 в 13:31 ----------
Осталась мелочь, разобраться вот с этим:
Сообщение от HoSStiA
Для перестройки snd-usb-audio в MINIX необходима пересборка всего ядра, так как связанные модули внедрены непосредственно в ядро.
Ресемплинг "выпиливается не из ядра", а из библиотек Андроида. Можно пересобрать из SDK для RK3188.
Ядро 3.0.36+ из SDK r30 относительно легко апгрейдится в части /sound/*, при необходимости, кодом 3.2.0. И чуть с большими танцами с бубном - кодом 3.11.0. Останется только вернуть поддержку встроенного S/PDIF, кому это требуется.
Ядро стороннего Linux ставится на раздел Recovery, поэтому появляется возможность двойной загрузки, с родным Android по умолчанию.
Ядро Linux у меня версии 3.0.36+, вот его исходный код.
Социальные закладки