У меня есть несколько сотовых телефонов, один из которых:
http://www.gsmarena.com/sony_ericsson_elm-3057.php
Можно очистить флэш-память и заменить ее загрузчиком, а затем загрузить эскизы Arduino или рисунки pic32 (C # / C ++).
Я получил эту идею, потому что это очень дешевая платформа для разработки аппаратных проектов. (Вы получаете экран, кнопки, аудио ввод / вывод, интернет и т. Д., Вы получаете все по очень низкой цене по сравнению с тем, что вы получаете, покупая каждую часть отдельно.)
Можно ли стереть флэш-память и установить в телефон загрузчик, чтобы использовать его как встроенный компьютер?
microcontroller
telephone
bootloader
cellphone
Гарри Свенссон
источник
источник
Ответы:
Стоимость никогда не является проблемой. Многие энтузиасты будут готовы платить умеренную цену за легко взламываемые устройства высокого класса. Проблема в том, что ARM является закрытой платформой. Обычно на частичном кристалле SoC (система на кристалле) есть часть с именем Private ROM. Это блокирует повторное использование.
Эта часть ПЗУ отвечает за выбор загрузчика в некотором порядке: Z-модем на последовательном порту, внешний Nand, последовательный диск, SDCard, внешний USB. Для каждого устройства заказ индивидуален и плохо документирован, обычно вам нужно держать несколько кнопок при включении для перехода к альтернативному загрузчику. Образ загрузчика, если большую часть времени проверяется на наличие цифровой подписи владельца платформы. Так что не повезло.
Для одного проекта можно выбрать случайное устройство. Но вас, возможно, больше заинтересует хорошо известное устройство с опубликованными схемами и доступным исходным кодом для Linux, Android и т. Д.
Поэтому я предлагаю взглянуть на устройства, окруженные сообществами активных пользователей : Raspberry Pi, BeagleBone, BeagleBoard, какую-то оценочную платформу Samsung (PandaBoard?)
Мой личный опыт работы с TI AM35XX закончился разочарованием сложностью всего. Самый маленький в мире Linux с именем Angstrom имеет дистрибутивный образ объемом 3 ГБ. Документы для чипов 4000-5000 страниц. Это не было похоже на хобби и не было приятным.
Ситуация может измениться после того, как Intel Atom SoC станет популярным. Я ожидаю большого интереса пользователей и буду следовать за толпой в направлении наименьшего возможного Atom с экраном. Надеюсь, кто-нибудь дополнит монтируемую на панели деталь размером с кредитную карту и GPIO. Это будет весело.
источник
Много лет назад был проект сделать нечто подобное (реверс-инжиниринг дешевого и очень популярного семейства телефонов).
http://nokix.pasjagsm.pl/help/blacksphere/sub_050main.htm
И да, вариант Android, вероятно, самый простой ... или Windows Mobile, он также достаточно открыт.
источник
У меня нет опыта в этом, но я не думаю, что это будет легко (если вообще возможно). Я думаю, что вы можете забыть программировать его на C ++ или C #, а точнее на ASM + C. Он не будет совместим с набросками arduino, кодом PIC32 или чем-то еще, что не предназначено для конкретного процессора. Многие новые телефоны имеют что-то вроде ядра ARM.
Я действительно не знаю, как бы вы запрограммировали устройство, но я предполагаю, что это возможно, поскольку они обычно могут обновить прошивку, если вы отправите их им для обслуживания.
Кроме того, вам придется кодировать свои собственные драйверы для всего аппаратного обеспечения (дисплей, WLAN, датчики и т. Д.), Что было бы очень сложно без дополнительной информации об оборудовании, которую производитель телефона, вероятно, не собирается предоставлять вам. ,
Я думаю, что самым простым способом было бы что-то вроде старого телефона Android, так как вы можете получить исходный код с драйверами и все низкоуровневые вещи бесплатно. Вы можете копировать или использовать пользовательский интерфейс и другие компоненты, видимые пользователю. Но это, вероятно, не то, что вы хотите, если у вас нет старых телефонов Android.
Кроме того, если телефон был взломан для запуска любой другой ОС, особенно с открытым исходным кодом, например, Android, вы можете получить исходные коды для порта, с которым можно играть.
источник
Делать все самому будет в лучшем случае сложно. Вам было бы намного легче с одним из устройств, поддерживаемых проектом Rockbox , который является прошивкой с открытым исходным кодом для mp3-плееров. Некоторые из этих устройств недороги и предлагают многие из упомянутых вами преимуществ, и они предназначены для обновления прошивки через USB. Вам бы помогло активное сообщество, которое уже выяснило основные проблемы, касающиеся компиляторов, загрузчиков и т. Д., А также некоторый исходный код для начала.
Приятной особенностью Rockbox является то, что он настраивает устройства на двойную загрузку, поэтому они все еще могут использоваться по своему первоначальному назначению, когда вы не используете новую прошивку.
источник
Нет.
В общедоступной документации для этого телефона (например, на странице, на которую вы ссылаетесь) даже не указан тип процессора. Даже если это произойдет, вам понадобится схема (включая номера деталей всех микросхем), чтобы можно было написать код для нее. Это будет принадлежать Sony / Ericsson, так что вы не получите его). То же самое для любого другого мобильного телефона.
В маловероятном случае, если вы получите всю документацию по процессору, флэш-памяти и т. Д., Возможно, вы сможете написать совместимый с Arduino загрузчик, потратив несколько недель вашего времени. Конечно, для этого потребуется получить среду разработки для телефона, которая, вероятно, будет стоить сотни, если не тысячи долларов.
Даже если бы вы смогли написать загрузчик, совместимый с Arduino, было бы невозможно повторить невозможность загрузить и запустить эскизы Arduino, потому что 1) компилятор для Arduino будет испускать код для Arduino-совместимого микроконтроллера (Atmega, PIC32 и т. Д.) и телефон определенно не будет использовать пропавший из них - скорее всего, это будет какой-то вариант ARM); и 2) порты ввода / вывода не будут расположены в тех же местах (портах) на сотовом телефоне, что и на Arduino.
Обратите внимание, что существуют сотовые телефоны с открытым исходным кодом , но вы не сможете запускать на них программное обеспечение Arduino по той же схеме, что я цитировал выше (несовместимость процессора и оборудования). В некоторых других ответах предлагается Android, но обратите внимание, что его нет в списке телефонов с открытым исходным кодом из-за проприетарных драйверов. И снова вопрос был в том, можете ли вы запустить код Arduino на них, и ответ определенно нет.
Так что гораздо дешевле просто укусить пулю и получить плату Arduino и периферийные устройства.
источник
Что нужно, чтобы превратить различное «повседневное» оборудование в платформы микроконтроллеров? Модификации Sprite - отличный источник вдохновения. Это дает хорошее объяснение процесса, необходимого для «открытия» устройств и получения контроля над ними. TL; DR: Linux можно запускать как на SD-карте, так и на жестком диске. Нет, не использую жесткий диск. На жестком диске - на довольно мощном процессоре, который является контроллером диска.
источник