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

Имеет ли значение, какой микроконтроллер использовать для 1-го таймера встраивания системного программиста?

У меня есть опыт работы с настольным и веб-программированием в течение нескольких лет. Я хотел бы перейти к выполнению некоторых встроенных системных программ. После запроса начального вопроса, мне интересно, какой аппаратно-программный IDE следует начать...

Или... не имеет значения?

Какая платформа разработки легче всего изучать и программировать (учитывайте удобство использования IDE)?

Какой из них проще всего отлаживать, если что-то пойдет не так?

Моя цель - узнать о о том, как работают порты ввода-вывода, ограничения/требования к памяти, включая, возможно, подкачки, процедуры обслуживания прерываний.. Лучше узнать, что Я буду использовать позже, или концепция высокого уровня должна переноситься на большинство микроконтроллеров?

Спасибо!

update: как этот комплект разработчика для начала? Комментарий? предложение?

4b9b3361

Ответ 1

Лично я бы порекомендовал микроконтроллер на базе ARM Cortex-M3. Ядра ARM с большим энергопотреблением чрезвычайно популярны, и эти версии с низким энергопотреблением вполне могут взлететь в космосе, который до сих пор заполнен проприетарными 8/16-битными ядрами. Вот недавняя статья на эту тему: ARM Cortex-M3 и сближение рынка MCU.

Arduino очень популярен среди любителей. Периферийная библиотека Atmel довольно распространена среди типов процессоров. Таким образом, это сгладит более поздний переход от AVR к ARM.

Я не хочу утверждать, что ARM лучше, чем AVR или любое другое ядро. Выбор MCU для коммерческого продукта обычно сводится к периферии и цене, а затем к существующей кодовой базе и инструментам разработки. Кроме того, микроконтроллеры, как правило, намного проще, чем настольные ПК. Так что на самом деле не так сложно перемещаться из одного в другое после того, как вы освоите его.

Также обратите внимание на FreeRTOS, если вы заинтересованы в разработке операционной системы реального времени (RTOS). Он с открытым исходным кодом и содержит хороший обзор того, что такое ОСРВ и как они ее реализовали. Фактически, их пример прохождения даже нацелен на AVR.


Средства разработки для встроенных систем могут быть очень дорогими. Однако часто есть альтернативы с открытым исходным кодом для более открытых ядер, таких как ARM и AVR. Например, посмотрите проекты WinARM и WinAVR.

Эти цепочки инструментов основаны на GCC и, таким образом, также доступны (и проще в использовании IMHO) на платформах, отличных от Windows. Если вы знакомы с использованием GCC, то знаете, что существует множество IDE на ваш вкус от EMACS и vi (мой любимый) до Eclipse.

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


Другие ссылки:


Недорогие платы Cortex-M3:


Новый Arduino для использования ARM Cortex-M3 вместо микроконтроллера AVR.

Ответ 2

Я заставлю ARM Cortex-M3 или даже ARM7. Поскольку вы упомянули I/O, я предлагаю попробовать разные продавцы. Некоторые производители заставляют вас читать-изменять-записывать в регистры для изменения выходных значений, другие упрощают работу без чтения-изменения-записи, но этот метод также имеет свои недостатки. перейдите на сайт sparkfun.com и просмотрите доски разработки. Olimex (продается через sparkfun и др.) Имеет множество недорогих плат для оценки, идеально подходящих для того, что вы делаете.

Я предпочитаю набор инструкций для msp430 для обучения ассемблеру (требуется некоторая сборка, если вы действительно хотите встроить). Рука - вторая вторая ИМО. Вы можете забрать ez430 от ti, например, 20 баксов или около того, а затем за $10 больше вы можете взять еще три платы msp430. К сожалению, AVR, который, вероятно, является самой популярной архитектурой для любителей (pic), является действительно уродливым набором инструкций, вам нужно использовать C, чтобы избежать этого. Можно также пойти с чем-то чистым, чистым как в своем наборе инструкций, что упрощает работу компиляторов, делая C результатом и более чистый код. как msp430, так и семейство плеч имеют решения gcc, а также легко использовать сборку и использование llvm со своим clang (llvm имеет 64-разрядную проблему с ее gcc-интерфейсом).

Моя нижняя строка - это если вы действительно хотите узнать о встроенных и ввод-выводах и прерываниях, связанных с I/O. пойдите в sparkfun захватите пару 30 $arm7s от lpc и st, и stm32, пойдите получить что-то от stellaris, 1968 или 811 возможно. Ez430 от ti (семейство звездных звезд теперь является частью ti). Ой и обратно, чтобы исправить и захватить мини-мини-ардуины или лилию на одном из суб $20, но не забудьте получить USB-устройство для серийного устройства, которое обеспечивает его и дает вам последовательный/отладочный доступ к нему. Я действительно был очень разочарован демонстрационными модулями stm32 от st, или это был действительно поставщик rtos. В результате я все еще очень близок к тому, чтобы никогда больше не покупать с улицы.

ИЗМЕНИТЬ

Ничего себе, я наткнулся на некоторые нервы своим первым ответом. Вероятно, удалите еще немного с помощью редактирования.

Есть несколько способов сделать это. Один из них - это тип одного типа регистра. решение read-modify-write. Если вы хотите изменить один вывод ввода-вывода, вам нужно прочитать регистр, изменив один бит, который соответствует выходу ввода-вывода (так что вы не измените другие выводы ввода-вывода) и запишите его обратно. Это требует инструкций, что плохо для встроенных, громоздких и медленных, если вы делаете это на языке высокого уровня. Другое решение предназначено для бита. Когда вы пишете на него запись, вы регистрируете регистр для ввода вывода I/O для ввода вывода ввода/вывода или выводов, которые вы хотите установить, тогда вы записываете бит, который вы пишете ноль, останется неизменным. И еще один регистр, который, когда вы пишете 1, очищает соответствующий вывод ввода-вывода. Они отлично подходят для бит-биений. Но плохо, если вы не знаете, что такое значение данных. Если вы берете некоторые данные из ввода и просто передаете его на вывод ввода-вывода, тогда вам нужно сделать это, если он один, а затем напишите здесь еще там. Вернемся к громоздким и медленным. Суть моего ответа состояла в том, что оба этих решения существуют, некоторые чипы дают вам обоим, у других есть только одно из двух решений. Это компромисс, и что-то стоит испытать, продавцы достаточно разные в этом отношении и другие. Другим примером различий между поставщиками и чипами является то, что некоторые из них обеспечивают проводные или выходы и вытягивают или не подтягивают входы, которые могут иметь значение, если вам нужно начинать добавлять отдельные части для каждого вывода ввода-вывода, когда вы могли бы просто выбрать другого поставщика и сэкономил все время и деньги. Такие вещи быстро сделают вас безработными.

Cortex-M3, выбор, который я знаю, это STM32 от ST, который я бы (сделал) покупал от sparkfun. И семейство stellaris ранее Luminary Micro, теперь принадлежащее TI. Я бы избежал 811 eval board, часы были некоторые, что было труднее найти дивизоры, чем другие. Кроме того, я заложил свой первый в течение нескольких часов и должен был заказать и ждать другого. Остальные менее легко кирпичные. Если вы внимательно относитесь к своим возможностям и направлениям ввода-вывода, и просто хотите учиться/играть, то 811 в порядке. Хм, разве я просто вижу, что LPC теперь имеет кору головку m3? Если это не так, то все в ручном бизнесе, а некоторые из них, скорее всего, не заберут корукс-м3 для встроенного рынка. Когда вы смотрите на все факторы из инструментов, доступных программистов, затраты на единицу, затраты на разработку, производительность, мощность и т.д., Эти вещи трудно превзойти.

Против использования cortex-m3 vs arm7, основанного на первом, является то, что с помощью arm7 вы можете сначала изучить набор команд arm, а затем переключиться на подмножество большого пальца. С корой-m3 все, что у вас есть, - большой палец и большой палец2. Также таблица векторов прерываний тупой по сравнению с обычными руками. Не тупой, как в плохом или глупом, но тупой, как в разных. Многие рассматривали бы ARM как тупой, да, понимали и соглашались. cortex-m3 является скорее исключением из семейства рук, чем правило, поэтому я бы предложил изучить его как ваш второй или N-й ARM, а не ваш первый. Здесь снова, все хорошие вещи, которые стоит узнать о вас, хотят знать об этом рынке и окружающей среде. Плата str711 от olimex, которую вы можете получить в sparkfun, является хорошей для начала. Я думаю, что это было sam7-64, но я потратил больше времени. LPC довольно популярны. у sparkfun есть пара с 9-контактным последовательным портом на плате, поэтому вам не нужно добавлять его.

Помимо нескольких строк для загрузки того, что уже написано многими другими людьми, да, это возможно без использования или обучения ASM. Я коснусь большего количества нервов этими утверждениями, но встроенные средства ограничены ресурсами и производительностью, поэтому многие традиционные правила программирования выходят за дверь, например, не используя глобалы. Языки высокого уровня, такие как C, могут стать довольно болезненными для сложных наборов инструкций, таких как PIC. Поскольку вы настолько близки к металлу, заметный объем вашего кода не переносится ни от одного семейства микросхем к другому, ни даже в пределах одного семейства чипов несколько раз. Поэтому использование C для переносимости не является допустимым аргументом. Большинство компиляторов - мусор, gcc, например, является маргинальным (один размер подходит для всех по определению) в лучшем случае. Это зависит от того, сколько вы хотите контролировать, и насколько вы хотите быть рабом для других. Будучи заинтересованными во встроенных системах для меня, вы хотите, чтобы вы контролировали это, это означает понимание таблицы векторов, знание того, когда и где и почему ваш компилятор отбрасывает 50% или более ваших результатов, вы могли бы сделать этот пульт ДУ последним дольше с одной батареей, вместо того чтобы требовать от трех, чтобы просто пискнуть, просто не зная инструментов и того, что они делают. Подавляющее большинство программистов в мире запускают свои программы на половинной скорости или меньше и вдвое больше. Громоздкие и медленные, просто подумайте о экономии электроэнергии и хранения. Обычно вы не видите это на рабочем столе, но вы будете, когда будете входить. Теперь, говоря, что почти весь мой код находится на C, у меня обычно есть только несколько строк ассемблера для установки стека и загрузки и нескольких функций линии здесь и там, где компилятор никогда не будет конкурировать или не будет оспаривать проблемы, которые, как правило, имеют компиляторы.

Мне нужен stm32, будучи в то время единственным другим корком-m3. Хотел что-то сравнить с семейством звезд. Когда они прибыли, я обнаружил, что вам нужно жить в их песочнице. Я использую нуль для rtos, я хочу, чтобы он был удален, и я хочу использовать свой собственный загрузчик и код. По крайней мере, в то время, когда это был дополнительный предмет затрат, я уже заплатил в два раза больше, чем обычно, за конкурирующие продукты. Таким образом, они находятся в своей коробке, чтобы их не открывали и не использовали. В конце концов будет брошен. Да, наполовину проблема заключалась в том, что я не занимался достаточным количеством исследований, я предположил, что доски были похожи на другие обычные платы для оценки, это был первый раз для меня. Сожги меня, когда-то позор, ты меня сожжешь дважды, стыдясь меня. И это был поставщик rtos, а не ST, который был настоящим виновником. Итак, как только панель olimex stm32 была доступна из sparkfun, я купил ее.

У arduino также есть проблема с песочницей. Таким образом, большинство поисков, которые вы ищете, будут находиться в этой песочнице. Разница в том, что все открыто для просмотра, информация есть, если вы хотите сделать свою собственную вещь и иметь контроль над доской. Ардуино не так просто, как бабочка AVR для тех, кто помнит эту платформу.

Башмак AVR и теперь ардуины поражают в смысле последователей, которых он нарисовал. Возможно, Atmel просто более дружелюбен к компании, чтобы преодолеть набор команд и инструменты. Они не ограничивают себя AVR BTW, у них также есть линия ARM и, вероятно, больше вещей, я не смотрел в то время. Вам определенно не нужен stackoverflow для помощи, если вы идете с ардуином. И вам не понадобится какой-либо ассемблер, если вы этого не хотите. И с искрящимся мини-миниатюром или лиллидаром стоимость игры практически ничего не стоит.

Я думаю, что они могли бы сделать намного больше с msp430. Уверены, что у них есть этот низкий рынок энергии, который они хотят поразить. Но набор инструкций имел это чувство pdp-11, когда я впервые увидел его. Очень чистый, я рекомендую msp430 сначала для тех, кто хочет изучить сборку, а затем переключитесь на ARM, и тогда вы увидите, что все языки ассемблера являются лишь синтаксисом для обучения. Конечно, производительность, боль и другие вещи - это еще одна история. Я думаю, что они могли бы легко расширить скорость msp430 и позволить больше использовать адресное пространство. Я провел некоторое время, недавно играя с opencore msp430, который вы могли бы добавить в fpga и получить больше памяти, а скорость и функции, если хотите, могли бы даже добавить usb, если хотите. Конечно, не в супер-малой мощности. Я также пытался написать свой собственный клон msp430, чтобы узнать немного hdl, не закончил, но немного повеселился.

Ответ 3

Учитывая, что у вас уже есть опыт программирования, вы можете подумать о том, чтобы получить Arduino и стереть прошивку, чтобы сделать свой собственный материал с помощью AVR Studio + WinAVR. Arduino дает вам хорошую отправную точку в понимании ее части электроники. Вытащить загрузчик Arduino даст вам лучший доступ к внутренней среде Atmel.

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

Ответ 4

ARM является наиболее широко используемой встроенной архитектурой и охватывает огромный спектр устройств от нескольких поставщиков и широкий спектр затрат. Тем не менее существуют значительные различия между устройствами ARM7, 9, 11 и Cortex - особенно Cortex. Однако, если профессиональная подготовка во встроенных системах - ваша цель, опыт ARM послужит вам хорошо.

8-разрядные архитектуры, как правило, более удобны в использовании, но часто очень ограничены как объемом памяти, так и скоростью ядра. Кроме того, поскольку они просты в использовании, 8-битные навыки относительно легко приобретаются, поэтому это менее привлекательный навык для потенциального работодателя, потому что его легко выполнять как внутри, так и с менее опытным (и, следовательно, менее дорогостоящим) персоналом.

Однако, если это скорее хобби, чем карьера, низкая стоимость деталей, досок и инструментов, а также простота использования могут сделать 8 бит привлекательными. Я бы предложил AVR просто потому, что он поддерживается бесплатной программной цепочкой avr-gcc. Некоторые 8-битные цели поддерживаются SDCC, еще одним компилятором C с открытым исходным кодом. Я считаю, что Zilog делает свой компилятор Z8 доступным бесплатно, но вам может потребоваться заплатить за оборудование отладки (хотя это относительно недорого). Многие коммерческие поставщики инструментов предоставляют ограниченные по размеру версии своих инструментов для оценки и некоммерческого использования, но остерегайтесь, что большинство отладчиков требуют специализированного оборудования, которое может быть дорогостоящим, хотя в некоторых случаях вы можете сами его построить, если вам нужны только базовые функции и низкие скорости.

Что бы вы ни делали, посмотрите www.embedded.com. Если вы выберете ARM, я успешно использовал WinARM в коммерческих проектах, хотя он не построен для комфорта! Хороший список ресурсов ARM доступен здесь. Для AVR определенно проверьте www.avrfreaks.net

Я бы рекомендовал только компоненты Microchip PIC (по крайней мере, low-end) для высокозатратных проектов, где периферийная смесь хорошо подходит для приложения; а не для обучения встроенных систем. PIC является скорее брендингом, чем архитектурой, различные диапазоны PIC12, 16, 18, 24 и PIC32 очень отличаются друг от друга, поэтому обучение на одном из них не обязательно должно быть хорошим выбором для использования другого - часто вам даже нужно купить новые инструменты! Тем не менее, dsPIC, основанный на архитектуре PIC24, может быть хорошим выбором, если вы хотите получить простой опыт DSP в одно и то же время.

Во всех случаях проверяйте наличие компилятора (особенно если требуется поддержка С++), а также требования к стоимости и отладчику, поскольку часто это будут самые дорогие части вашего dev-kit, платы и детали часто являются наименее дорогая часть.

Ответ 5

Texas Instruments выпустила очень интересный комплект для разработки по очень низкой цене: eZ430-Chronos Development Tool содержит MSP430 с дисплеем и различные датчики в спортивных часах, в том числе программист для отладки usb и точка доступа радиосвязи usb за 50 $

Существует также wiki, содержащий много и много информации.

Я уже создал предложение packexchange для набора eZ430-Chronos.

Ответ 6

Что бы вы ни делали, убедитесь, что у вас хорошая среда для разработки. Я не являюсь поклонником инструментов разработки Microchip, хотя мне нравятся их микроконтроллеры (я слишком много горел MPLAB + ICD, слишком много хлопот и дисфункции). DSP серии TI 2800 довольно хороши и имеют среду разработки на Ccl на основе Eclipse, в которую вы можете попасть, 100 долларов США (получите один из наборов экспериментаторов на базе "controlCARD", например, для 28335) - ссылка на отладчик действительно твердый; IDE хорош, хотя я иногда рушился.

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

Ответ 7

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

Atmel AVR будет полезен для изучения многих встроенных основ, по трем основным причинам:

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

Хорошо, я полагаю, что комплекты разработки и их учебники, скорее всего, замалчивают такие вещи, как загрузчики и код запуска, в пользу того, чтобы ваш код мгновенно мигал светодиодом. Но это может быть хорошим способом начать работу, и вы можете исследовать цепочку событий от "power-on" до "code running" в своем темпе.

Я не поклонник ПОС, по крайней мере, PIC16, из-за своей архитектуры. Это не очень дружелюбно. И банки памяти болезненны.

Ответ 8

Это довольно трудный вопрос, на который можно ответить, поскольку ваш идеальный ответ очень сильно зависит от того, что его интересует изучение.

Если ваша цель - просто немного погрузиться во внутреннюю работу вычислительных систем, я бы почти рекомендовал вам отказаться от внедренного маршрута и собрать книгу о написании модуля ядра Linux. Напишите что-то простое, которое считывает температурный датчик с SMbus или что-то в этом роде.

Если вы ищете встроенную разработку приложений на высоком уровне (телефоны и т.д.), загрузите Android SDK, вы можете закодировать в java под затмением и даже иметь хороший эмулятор.

Если вы посмотрите на "реальное" пространство микроконтроллеров и действительно посмотрите на системное программирование низкого уровня, я бы порекомендовал вам начать с очень простой архитектуры, такой как AVR или PIC, что-то без MMU.

Дайвинг на середину, например, ARM с MMU и какой-то ОС, будь то linux или иначе будет немного шоком, так как без фона - системное программирование и аппаратное сопряжение. Я думаю, что переход будет быть очень грубым, если вы планируете многое сделать, кроме как писать очень простые приложения, считая нажатия кнопок или аналогичные.

Ответ 9

Неважно, вам нужно постепенно приобретать опыт, начиная с более простых систем. Обратите внимание, что более простым я не имею в виду менее мощный, я имею в виду простоту использования, простоту настройки и т.д. В этом ключе я бы рекомендовал следующее (у меня нет заинтересованности в каком-либо из продуктов, я просто нашел их лучшим):

Я начал использовать одну из них (доска разработчиков MBED). Большие торговые точки для меня заключались в том, что я мог программировать на C или С++, прямое соединение с USB и гладкую среду разработки on-line (никакой локальной установки инструмента вообще не требуется!).

http://mbed.org/

Пятиминутная открытая открытая панель. У меня была примерная мигающая программа ( "мир привет" в мире с эмбиентом):

#include "mbed.h"

DigitalOut myled(LED1);

int main()
{
    while(1)
    {
        myled = 1;
        wait(0.2);
        myled = 0;
        wait(0.2);
    }
}

Что это! Выше полная программа!

Он основан на ARM Cortex M3, быстро и много памяти для встроенных проектов (100 МГц, 256 тыс. флэш-памяти и 32 тыс. батов). В онлайн-инструментах для разработчиков есть очень хорошая библиотека и множество примеров, а theres - очень активный форум. Большая помощь по подключению устройств к MBED и т.д.

Несмотря на то, что у меня есть большой опыт работы со встроенными системами (ARM 7/9, Renases M8/16/32, Coldfire, Zilog, PIC и т.д.), я все же нашел эту обновляющуюся систему легко справиться, имея серьезные возможности.

После первоначальной игры с ним на базовом макете я купил базовую плату от этих парней: http://www.embeddedartists.com/products/lpcxpresso/xpr_base.php?PHPSESSID=lj20urpsh9isa0c8ddcfmmn207. У этого есть куча устройств ввода/вывода (включая MINED OLED и 3axis акселерометр). С того же сайта я также купил одну из плат процессора LCPExpresso, которая дешевая, меньше энергии/памяти, чем MBED, но идеально подходит для небольших заданий (все еще забивает дерьмо из процессоров PIC/Atmega). Базовая плата поддерживает как LCPExpresso, так и MBED. Приобретение платы процессора LCPExpress также привлекло меня к отладчику JTAG и автономному средству разработки Dev (Code Red GCC/Eclipse). Это намного сложнее, чем в онлайн-среде MBED, но это логичная прогрессия после того, как вы получили опыт работы с MBED.

Что касается моего исходного точечного сообщения, что контроллер MBED намного более эффективен, чем контроллер LPCExpresso, но его гораздо проще использовать и учиться.

Ответ 10

Я использую микрочипы PIC, это то, с чего я начал, в основном я получал это благодаря 123 проектам микроконтроллеров для книги злого гения. Я взял класс микропроцессоров в школе для получения степени и немного узнал о прерываниях, времени и вещах, это помогло тонне с моими микроконтроллерами. Я полагаю, что некоторые из других программистов и т.д. Могут быть лучше/проще, но за 36 долларов за PicKit1 я слишком дешев, чтобы купить еще один... и, честно говоря, не используя их, я не знаю, легче ли они/лучше, Мне нравится моя и рекомендую все, что у меня есть, и мне потребовалось навсегда, чтобы действительно на самом деле посмотреть на нее, но в конце концов я смог запрограммировать еще один чип с ICSP. Я не знаю, что делают другие программисты, но для меня это самый приятный 5-проводный интерфейс, и вы запрограммированы. Не могу победить это палкой...

Ответ 11

Я использовал только один из них.

Freescale - прекрасный фишка. Я использовал HC-кое-что фишки в течение многих лет для небольших проектов. Единственное предостережение в том, что я не буду касаться CodeWarrier, встроенного с 10-футовым полюсом. Вы можете найти мало свободных компиляторов и сборщиков C (я не помню имя последнего, которое я использовал), которые отлично выполняют эту работу. Codewarrior был большим и запутанным, и независимо от того, насколько я знал об архитектуре чипа, и программирование на С всегда казалось, что это только усложняет ситуацию. Если вы использовали Codewarrior на Mac еще в старые времена и думаете, что CW довольно аккуратный, ну, это совсем не так. CW встроенный выглядит смутно похожим, но он работает совсем по-другому, и не очень хорошо.

Компилятор командной строки, как правило, прав. Профессионалы, которые могут разорвать большие деньги, становятся дорогими средами разработки, и я уверен, что они улучшат ситуацию, но без этого все еще намного лучше, чем писать код сборки для настольного ПК в 1990 году, и каким-то образом нам удалось это сделать просто отлично,: -)

Ответ 12

Вы можете рассмотреть RoBoard, Теперь эта плата может быть не такой, какой вы ищете с точки зрения микроконтроллера, но у нее есть то преимущество, что она может запускать Windows или DOS, и поэтому вы можете использовать инструменты разработки Microsoft.NET или даже C/С++ для скрипки вокруг с вещами как сервоприводы или датчики или даже, что черт, построить робота! Это действительно любопытно.

Здесь также Axon II, который имеет процессор ATmega640.

В любом случае обе платы должны помочь вам достичь своей цели.

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

Ответ 13

Я использую PIC, но буду рассматривать Arduino, если бы выбрал сегодня. Но из ваших целей:

  • Как работают порты ввода-вывода
  • ограничения/требования к памяти
  • процедуры обслуживания прерываний

Интересно, лучше ли вам просто взломать ядро ​​Linux?

Ответ 14

BBC Micro Bit

https://en.wikipedia.org/wiki/Micro_Bit

ARM Holdings провела эту дешевую небольшую доску (~ 20 фунтов) в качестве учебного пособия, и британским студентам бесплатно были розданы 1 млн. Единиц.

Он содержит ARM Cortex-M0, самое маленькое ядро ARM из всех.

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

Ответ 15

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

На мой взгляд, вам следует начать с: - Любой платы AVR (платы atmega 328P- Arduino или платы AVR), затем вам следует перейти на микроконтроллер ARM - сначала выполните ARM CORTEX TDMI, а затем плату ARM cortex M3. Таким образом, это даст вам общее представление. просмотрите, после чего вы можете выбрать любую доску в зависимости от того, над каким проектом вы работаете и каковы ваши требования.

Узнайте больше о встроенных on- doafco.com