Я пытаюсь покопаться и выучить C. Моя конечная цель — больше ориентироваться на программирование и аппаратное обеспечение AVR, поэтому я скачал AtmelStudio.
Я работаю над книгой для начинающих на C и задаюсь вопросом, как писать консольные программы в AtmelStudio? Все типы проектов, кажется, ориентированы на AVR / ARM (имеет смысл) и требуют, чтобы я выбрал устройство.
Могу ли я использовать AtmelStudio для простой компиляции простых программ и запуска их в окне cmd?
Могу ли я предложить MinGW для программ, предназначенных для запуска в окне консоли Windows? Это порт GCC C / C ++ / и т. Д. компиляторы, используемые Atmel Studio, и IDE Code :: Blocks отлично подходят для этого под Windows. Я обычно не рекомендую пакеты программного обеспечения, но есть удобная бинарная загрузка codeblocks.org со стабильным Code :: Blocks и недавно стабильной MinGW.
Code :: Block Binary Downloads
Что касается использования AtmelStudio для компиляции программ, запускаемых в окне «cmd», используемые компиляторы будут своего рода кросс-компилятором для ЦП и ОС, а не для того, на чем вы работаете. Если у вас нет эмулятора для этой целевой платформы, работающей в консоли Windows, то я думаю, что вам не повезло. Встраиваемые системы обычно не имеют клавиатурных или консольных устройств, поэтому реальные программы не будут иметь классический стиль Unix main()
функция. Вы по-прежнему можете писать и тестировать функции, которые не выполняют консольный ввод-вывод или системные вызовы. Правильно закодированные, они будут перекомпилированы без изменений для запуска в любой среде.
Насколько я знаю, это невозможно. Вы можете использовать только симулятор, чтобы исследовать моделируемое внутреннее состояние микроконтроллера и все.
Есть такие вещи, как avrtest или же simavr но я не уверен, что это работает для вас.
Если вы просто хотите изучить C, прежде чем приступить к разработке микроконтроллеров — что довольно неплохо — просто приобретите другую IDE, например Затмение C / C ++ и начнем с этого. После ознакомления с основами вы сможете отлаживать микроконтроллер, используя только симулятор AVR.
Вот Это еще одно (возможное) решение того, что вы хотите, но я полагаю, что это не тот ответ, который вы хотите получить как новичок.