Подтвердить что ты не робот

Где изучать аппаратное программирование?

Я занимаюсь разработкой веб-приложений, и теперь я хочу больше узнать о программировании, поэтому эти аппаратные средства программирования меня волнуют. Я не мог найти подходящее место, чтобы начать изучать этот процесс. Так можете ли вы предоставить лучшее место? Я хочу лучше знать о C или С++ для программирования аппаратного обеспечения. Есть ли место, чтобы я мог получить знания с самого начала?

Спасибо.

4b9b3361

Ответ 1

Есть доски, которые вы можете получить за $10 или меньше, которые имеют такие вещи, как светодиоды, которые вы можете начать с того, чтобы получить удобное программирование на этом уровне, а затем расширить эти знания. У меня есть пример программ для нескольких под $100 (обычно до $50) плат в github. Также у меня есть некоторые тренажеры с набором инструкций, поэтому вы можете получить удобное программирование на этом уровне без разрушения какого-либо оборудования.

https://github.com/dwelch67

Пусковая панель msp430 составляет, например, 4,30 долл., а обнаружение строки значений stm32 составляет около 10 долл. США.

Я не публиковал примеры arduino в github, хотя в мире есть много примеров, основанных на avr. Ардуино, вероятно, там, где вы захотите провести некоторое время, есть длинный список вещей, которые вы можете подключить к платой arduino, называемой "щитами" на жаргоне arduino. вы можете заниматься беспроводными вещами, робототехникой, gps файлами. Похоже, что они отлично справились с созданием удобной для пользователя среды C (/С++?) С средой вызовов api и т.д. Sparkfun.com - это хорошее место для всех видов встроенных платформ разработки /eval и ряда предметов arduino (не все это конечно). ti.com является домом для msp430 и линейки stellaris устройств ARM cortex-m. Платы eval для семейства stellaris - это джем, заполненные периферийными устройствами, которые вы можете научиться программировать.

Если вам неудобно быть глубоко встроенным и вы хотите работать с операционной системой. Вы попадаете в диапазон от $100 до $300 для системы, но они там, embeddedarm.com и gumstix, например (обратите внимание, что robovero, например, не полностью раздутая Linux-платформа, она ближе к платформам, описанным выше, микроконтроллер исходя из).

Вещи, которые вы захотите изучить после того, как основами просто загрузки процессора будут spi и i2c и другие подобные, общие, интерфейсы. некоторые контроллеры имеют специальное оборудование для выполнения грязной работы для вас, а некоторые - просто бит. Изучение бит-бит это очень важно, так как даже на вашем настольном или портативном компьютере есть интерфейсы i2c, которые linux битбанирует в драйверах.

Ожидайте, чтобы убить какое-то оборудование, либо обманув доску, чтобы она не могла загрузиться и не была восстановлена, либо буквально "выпустила дым" из некоторых частей. Короче говоря, я определенно не буду инвестировать 300 долларов или что-то в этом роде в единую плату/платформу для этого образования. Вы можете купить много советов за 25 долларов и уничтожить большинство из них во время обучения. Я почти всегда покупаю два из тех, которые были на первый раз на всякий случай. В эти дни я обычно не пускаю дым, а вместо этого кладу несколько советов. Когда вы начинаете создавать свой собственный загрузчик, который является риском. Это было бы похоже на запись настольных приложений, а иногда, случайно, переписывание выходного файла или открытие файла, который вы хотели прочитать как открытый для записи и потери файла, что-то вроде ошибок.

пусковая панель msp430 настолько дешевая, что может просто получить один или несколько, очень хороший набор инструкций и т.д., вы, вероятно, согласитесь с ардуином, arduino uno - неплохая первая доска, mbed на сторона руки неплохая, вам не нужно вообще использовать свою веб-версию, вы можете использовать любой компилятор, который вы хотите. Arm доминирует на рынке процессоров, каждая вторая или третья вещь с включенным/выключенным коммутатором (включая все большее число ноутбуков на базе Intel) имеет один или несколько ARM, в которых они что-то запускают. avr нигде не приближается к этому и не будет, он доминирует на рынке хобби, но не во всем мире, поэтому знание рук в какой-то момент принесет вам большую пользу.

Ответ 2

Если вы хотите скопировать код рядом с аппаратным обеспечением, вокруг Arduino существует огромное количество шума, которое по умолчанию использует C как язык программирования.

Ответ 4

Возможно, лучший способ начать - разработка. Обычно в компиляторах C или asm, документации, примерах, кабелях и платах разработки есть комплекты. С комплектом разработки нет необходимости узнавать что-либо о драйверах устройств для операционных систем. Так что это легко начать.

Ответ 5

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