Разработчик программного обеспечения может создать встроенную систему?

Я хочу создать встроенную систему с помощью Linux, подобного устройству для чтения книг E с помощью процессора ARM9. Я не эксперт по электронике, но я хотел бы изучить это. Я знаю основы электроники как транзисторы, триггеры, мультиплексоры. и т.д. Я люблю программное обеспечение и хотел бы создать что-то как устройство для чтения книг E. Для разработчика программного обеспечения действительно ли возможно создать встроенную систему? Я не хочу покупать одноплатный компьютер, доступный на рынке, я хочу создать его сам.

  • Где я получаю некоторое учебное руководство?
  • Моего знания операционных систем достаточно для создания такой системы?

5
задан Jens 28 May 2012 в 10:33
поделиться

4 ответа

Преждевременная оптимизация - плохая идея. Используйте операторы if там, где они имеют смысл. Когда вы обнаруживаете часть кода, где его производительность нуждается в улучшении, то, возможно, работаете над удалением операторов if из этой части кода.

Если операторы могут быть дорогими, так как они заставляют компилятор создавать команды ветви. Если вы можете придумать способ кодирования той же логики таким образом, что компилятор не должен ветвиться вообще код, скорее всего, будет намного быстрее, даже если есть больше полных инструкций. Я помню, что был невероятно удивлен тем, как перекодирование короткого фрагмента кода для использования различных битовых манипуляций, а не какой-либо ветвления ускорило его в 10-20%.

Но это не повод избегать их вообще. Это просто то, что нужно иметь в виду, когда вы пытаетесь получить последний бит скорости из раздела кода, который, как вы знаете, имеет решающее значение для производительности, потому что вы уже запустили профилировщик и различные другие инструменты, чтобы доказать это самому себе.

Еще одна причина, по которой операторы могут быть дорогими, заключается в том, что они могут увеличить сложность вашей программы, что затрудняет чтение и обслуживание. Сохраняйте сложность отдельных функций на низком уровне. Не используйте слишком много инструкций, которые создают различные пути управления через функцию.

-121--4534085-

Исходные файлы Java UTF-8 закодированы, поэтому можно поместить нужные символы непосредственно в исходный код (просто скопируйте 'n paste из программы просмотра шрифтов или веб-сайта), если вы используете достойный редактор. Нет необходимости использовать эту запутанную нотацию «\uXXXX ». Например, я нашел это полезным для греческих букв, обычно используемых в научной нотации (δ, - их можно даже использовать в качестве имен переменных.

Конечно, выбранный шрифт должен иметь нужные символы, иначе он не сработает.

-121--4571455-

Для создания системы требуются знания из нескольких инженерных дисциплин. Достичь такой задачи можно, только купив готовые модульные компоненты и собрав их, а в случае электронной книги собрать модульные компоненты будет неприятно.

Также изучение любой из необходимых дисциплин потребует долгих и сосредоточенных усилий.

Чтобы (свободно) указать проблемные области:

  1. вам нужна вычислительная платформа нужного форм-фактора со всеми правильными наборами микросхем (Apple интегрирует свой собственный процессор, по состоянию на последнее время, используя аппаратные решения нескольких компаний). Вы не найдете подходящую вычислительную платформу нужного форм-фактора. (Electronic Engineer: Digitial Designer, Analog Designer)

  2. Вам нужно попытаться подключить ЖК-дисплей к нужной платформе, а также другие периферийные устройства, такие как USB/зарядный порт/WIFI и т.д. (Electronic Engineer, Product Designer)

  3. Необходимо создать корпус для платформы.

  4. Вам необходимо иметь встроенную операционную систему (потенциально в режиме реального времени) (работающую на вашей платформе), соответствующую вашим потребностям. (Программист встраиваемых систем, программист ядра)

  5. Вы должны расширить указанную операционную систему, чтобы вести себя путь вы хотите. (Application Programmer, Graphics Programmer)

Наиболее важной частью является платформа, и получить подходящую платформу очень сложно и очень дорого. Оригинальный iphone имел платформу, созданную третьей стороной, которую яблоко купило и использовала для применения пунктов 2-5 - и их лучшим инженерам все равно потребовалось много времени, чтобы сделать прототип.

9
ответ дан 18 December 2019 в 09:49
поделиться

не на самом деле; Аппаратная инжиниринг - это объект уровня степени в собственном праве, и вам нужно как минимум три различных специальностей, чтобы сделать эту работу. Не говоря уже о том, что программное обеспечение CAD и машины с ЧПУ стоят черта намного больше, чем GCC, поэтому накладные расходы инженеров оборудования огромны.

Тем не менее, вы можете нанять это сделать, за значительную плату. Или вы можете использовать встроенные доски и получить дизайн корпуса для вас.

Например, Beagleboard с этими аксессуарами в таможенном случае.

Или jumstix oloo с одним из них и один из них в пользовательском случае.

В любом случае запустите некоторые встроенные Linux.

Доски разработки сэкономьте много времени и денег, но в обоих случаях, если у вас есть капитал, вы можете получить эти доски, накипанные в пользовательскую доску, которые сделают только то, что вам нужно для вашего приложения, и стоимостью меньше в целом числа.

Не стоит недооценивать дизайн дела; Вы смотрите на толстый конец ста тысяч долларов только для оснастки для изготовления пластика, металлического металла или штампованного металла, не платя за разработку дизайна.

5
ответ дан 18 December 2019 в 09:49
поделиться

Создание встроенного оборудования с нуля требует большого количества опыта и ресурсов. Было бы лучше начать с недорогих досок оценки, чтобы узнать основы встроенного программирования и сначала взаимодействия. Это должно держать вас занятыми в течение нескольких месяцев. Помимо этого, встроенные поставщики CPU обычно имеют ссылочные конструкции, которые вы можете включить в свой собственный встроенный продукт, но в этот момент вам нужно будет начать инвестировать много времени, усилий и денег в инструменты для разработки и развития оборудования.

2
ответ дан 18 December 2019 в 09:49
поделиться

Вы можете купить оборудование для полки для разработки программного обеспечения встроенного программного обеспечения.

ПК 104 доски

0
ответ дан 18 December 2019 в 09:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: