Все проекты

Как раздобыть и установить

-

Чтобы написать программу на Си, естественно, первым делом надо раздобыть компилятор. Компиляторов есть на любой вкус, лично я пользуюсь IAR. Скачать его можно на сайте http://iar.com , правда, дистрибутив весомый - порядка 90 Мб последняя версия.

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

Итак, компилятор скачан и установлен. Запускаем, открываем наш первый проект (File - Open - Workspace). Рассмотрим на его примере необходимые установки. Итак, в окошке workspace делаем правый клик на верхней строчке и выбираем "options".

1)Тут указывается тип МК, для которого будет строиться программа. Сразу замечу, что в текст программы все равно должен быть включен файл описаний для этого МК.

2)Ниже - модель памяти - если у вас совсем мало переменных, можно вместо Small установить Tiny - построенный код будет чуточку компактнее. Впрочем, совсем чутотку. Поэтому сразу ставим Small

3)По умолчанию ставится галочка ручного конфигурирования - убрать ее.

Следующая закладка. Тут я советую просто очистить имена директориев. По умолчанию в папке проекта создаются подпапки типа debug/executable и т.д, что смысла особого не имеет, только искать требуемое сложнее. Возможно, при больших проектах... Но нам это не надо.

Следующая закладка. Я всегда выбираю Normal DLIB. Не вдаваясь в подробности библиотек, просто сделаем то же самое.

Вкладки Library option, Heap configuration оставляем как есть. На вкладке System ставим галочку Enable bit definition - по умолчанию она почему-то выключена.

А это значит что нельзя применять имена бит в регистрах. Вообще непонятно зачем такое надо.

 

Вкладку MISRA не трогаем, переходим к собственно компилятору

По умолчанию тут стоит просто C, ставим Embedded C++ .

Оптимизация. Тут можно немножко "поиграться". На картинке - стандартно используемый мною вариант. Если хочется поработать с симулятором или поразбираться в листинге - то оптимизацию выбирайте Medium, Low или вообще None. Код станет длинее, дистинг - читабельнее.

Для рабочей программы, особенно когда она достаточно велика, лучше ставить High.  А вот Cross call я ставлю только когда размер памяти сильно прижимает - потому что тогда листинг зачастую совсем малоразборчив. Компилятор тогда выискивает всевозможные повторы и выносит их в подпрограммы. Но код позволяет ужать достаточно заметно.

Листинг - включаем. Ведь нам наверняка захочется посмотреть, что собственно генерит компилятор на написанные нами строки команд.

Весьма познавательно. Советую изучать.

 

Это для возможности хранить свои include файлы в папке проекта.

Ну с компилятором вроде все, теперь линкер.

Первые вкладки оставляем как есть - все что нам нужно касательно выходного файла мы укажем в последней.

Запрет предупреждения w35 - убирает занудливую ругань по поводу имен бит. Сути не понял, похоже, просто какой-то глюк.

Листинг линкера - MAP файл. Установите указанную конфигурацию - она позволит в дальнейшем использовать имена переменных в realtime отладчике.

Здесь линкеру указываются имена выходных файлов для собственно прошивки и EEPROM.

Ну вот вроде и все. Если что-то все же оказалось непонятным - пишите, разберемся, поправим. Удачи!


Rekl: