Попался мне сегодня на глаза замечательный сайт www.rockbox.org и стало интересно, а как же всё-таки пишут операционки для плееров. Протокол перепрошивки таких девайсов стандартизирован? Что нужно сделать, чтобы плеер при загрузке запускал мой код? И каким образом мой код сможет общаться (хотя бы определять их наличие и тип) с остальными девайсами плеера, помимо процессора? Судя по информации из инета в iPod-ах используется два проца на ARM7TDMI. Есть ли под эту архитетуру компиляторы C, ассемблеры с Intel'овским синтаксисом? И где вообще можно список команд этой архитектуры?
Погугли. Возможно, там архитектура AVR, синтаксис, как и сама архитектура, отличается, конечно, но изучить не трудно. Есть дополнение к фасму для AVR.
Уже нагуглил. Там проц от PortalPlayer: основной CPU на ARM7TDMI, и ещё DSP-сопроцессор непонятно какой архитектуры. Сейчас читаю исходники рокбокса, но там из-за многоплатформенности слишком много лишнего кода.
gcc умеет компилировать для ARM Документацию на проц, можно бесплатно заказать на arm.com Ещё интересные документы были на www.blackhat.com в докладе Reverse Engineering ARM Based Devices, точную ссылку не помню, но файлы называются: bh-eu-04-dehaas.pdf (5 Мб) bh-eu-04-dehaas-resource.zip (15,4 Мб)
http://ipodlinux.org/Main_Page - инфы достаточно, я уже год как собираюсь на свой ipod линух поставить, все руки не доходят
Не ужели iPod такая достойная вещь, что столько программистов ее приобрели? До меня слухи доходили, что оно по функционалу устройство откровенно слабое. Сам сейчас думаю завести какой-нить iRiver, они тоже вроде как rockbox поддерживают...
до iPod у меня был creative zen (целую неделю. не выдержал, отнес в магазин и взял ipod). а функционала мне достаточно. я, как это ни странно, плейер использую чтобы слушать музыку
Нашёл кое-какую (хоть и старую) инфу по программингу айпода на асме: http://www.dwelch.com/ipod/ Из исохдников получается, что DSP также использует ARM7-архитектуру. Остаётся вопрос, что дополнительно он умеет. На ipodlinux.org есть адреса портов (или управляющих регистров) устройств айпода alpet По функциональности, конечно, хотелось бы побольше возможностей, но то, что есть работает безупречно и безглючно. Но главное в айподе-дизайн и эргономика
ssx Мне как раз фукнциональности Zen Nano хватает, единственно - он имеет всего 256 Мб Flash памяти, и не поддерживает OGG. Так что ориентируюсь на устройства, что поддерживают OGG и MP3-VBR. Guest За дизайн и эргономику переплачивать? Это для меня посути признание, что я повелся на сладкие речи маркетологов, чего стараюсь, ни в коем случае не делать. В последней Компутерре, кстати было довольно подробно написано о айподе, что создало впечатление о крайне имиджевом, и не очень удобном устройстве. Фактически его разработали для тех кто непомерно желает поднять свое самомнение, за счет обладания стильной железкой. Устройства, в основных достоинствах которого крутится "это круто, иметь такой дивейс", мне просто претит рассматривать как полезную весчь. Все равно что разменивать нефильтрованный Клостерброй, на Клинское...
varnie iRiver'ы вроде как тоже можно перепрошить RockBox'ом. Но какое в них железо я не знаю. Опять же, смотри исходники RockBox'а alpet Это девайс, которым приятно пользоваться. Потому что при юзании не возникает мыслей "ой, эту хрень наверное школьники програмили, как можно сделать столько глюков и почему ж они не добавили такую элементарную фичу". Конечно, эппл имеет оргомные деньги с айподов (себестоймость нано (только железо) - 75 долларов), но я не жалею, что отдал этой компании столько денег.
Guest Хорошо поверю на слово - денег то все равно жаль, когда несопоставимые (в лучшем отношении) по заявленному функционалу вещи стоят несколько дешевле. Что касается империи "яблоко", они большую часть доходов стригут с музыкальных сервисов наверное. Хорошо хоть рынок макинтошей начинают понемногу выводить из имиджевого сектора. Это конечно великолепно и правильно - одна от одного производителя, но переплачивать за это, готов опять же не каждый.
Guest, исходники исходниками. но мне сложно сейчас во всем этом сориентироваться. что взять за стартовую точку в исследованиях в д. направлении? где почитать про программиорование iRiver -ов. (сорри за оффтоп, который я уже продолжаю здесь). а исходники RockBox-a уже потом ИМХА изучать мне следует, как разберусь вообще в архитектуре iRiver-ов итд. или я не прав? заранее спасибо за конструктивный ответ.