Разделы новостей
Последние новости:
Железо
Софт
Интернет
Наука и техника
Электронная коммерция

Разделы статей



AVR: программирование на языке Си в среде ICCAVR фирмы ImageCraft

Многие российские и зарубежные разработчики применяют в своих проектах AVR-микроконтроллеры, которые фирма ATMEL выпускает с 1997 г. За это время продано уже более 500 миллионов штук микроконтроллеров. Одним из факторов такой популярности является удачная архитектура микросхем, которая оптимизирована для программирования на языке Си. Критики этого утверждения могли заметить, что, младшие представители AVR-микроконтроллеров (ATtiny11, ATtiny12 и ATtiny15), не содержат блок оперативной памяти, и оснащены аппаратным трехуровневым стеком, существенно ограничивающим возможности программиста. Однако, с выходом AVR-микроконтроллера второго поколения ATtiny13 это «узкое место» было устранено. 8-выводной ATtiny13 оснащен модулем оперативной памяти, позволяющий создавать программный стек заданной глубины. Таким образом, полноценное программирование на языке Си стало возможным и для этих микроконтроллеров.

В данной статье рассматривается Си-компилятор фирмы ImageCraft Creations Inc.








Разместить статью на этом сайте





Дистрибутив Си-компилятора фирмы ImageCraft Creations Inc. весьма компактен и занимает немногим более 5 Мбайт. Номер версии на момент выхода статьи – 6.31. Этот компилятор весьма дружелюбен к пользователям. После первой инсталляции на компьютере он предоставляет пользователю работать с ним в течение 45 дней и создавать приложения объемом до 64 Кбайт. По истечении указанного срока компилятор переходит в демо-режим, при этом максимальный объем выходного файла ограничивается размером 4 Кбайта. Существует два варианта поставки компилятора – стандартная версия и профессиональная версия. Профессиональная версия имеет следующие отличия:

  • поддерживается создание проектов с объемом исполняеммого файла до 128 Кбайт (стандартнная версия имеет максимальный размер выходного файла 64 Кбайт);
  • в профессиональную версию включен оптимизатор кода, уменьшающий размер файла на 8 – 15%;
  • поддерживается работа со структурами при отладке проекта в среде AVR Studio.

    Типы файлов

    В работе компилятора используются следующие типы файлов (по расширениям):

  • С – исходный текст на языке Си.
  • S - исходный текст на ассемблере.
  • H – заголовочный (header) файл.
  • PRJ – файл проекта.
  • SRC - список файлов проекта.
  • S – выходной ассемблерный файл, генерируется для каждого исходного Си-файла.
  • O – объектный файл, получаемый после компиляции ассемблерного файла.
  • HEX – выходной файл в формате Intel HEX для загрузки в ПЗУ программ микросхемы.
  • EEP - выходной файл в формате Intel HEX для загрузки в ПЗУ данных микросхемы.
  • COF - выходной файл в формате COFF, используется при отладке проекта в AVR Studio.
  • LST – файл-листинг, содержащий информацию об адресах.
  • MP – MAP-файл, содержащий символическую информацию.
  • DBG – файл с отладочной информацией.
  • A - библиотечный файл.

    Дистрибутив содержит более десяти библиотек, в число которых входят библиотека стандартного ввода.вывода, библиотека поддержки вычислений с «плавающей точкой», строковые функции, работа с памятью и т.д. Базовой библиотекой, состоящей из стандартной библиотеки языка Си и дополненной расширениями, специфическими для архитектуры AVR, является Libcavr.a. К специфичным функкциям архитектуры AVR, помимо богатого набора апаратных интерфейсов, также относится возможность удаленного автообновления ПЗУ программ, используя автозагрузчик (bootloader). Компилятор также содержит средства создания и модификации пользовательских библиотек.

    Из перечисления типов файлов можно увидеть, что проект может содержать несколько исходных файлов, причем часть файлов может быть на ассемблере. Попутно отметим, что можно использовать ассемблерные вставки с очевидным синтаксисом asm("<string>").

    Компиляция проекта

    Рассмотрим пример создания простого проекта, состоящего из одного исходного файла. При установке компилятор по умолчанию использует каталог c:\icc. В каталоге c:\icc\examples.avr находятся несколько примеров программ, которые можно использовать, как учебные. Для определенности выбран файл clock.c. Эта программа выполняет подсчет временного интервала и выводит текущее время на ЖК-индикатор. Ниже приведен полный текст программы:

    #include <io2313v.h>
    #pragma interrupt_handler timer: iv_TIMER1_COMP
    #define LCD_E (1


    www.compitech.ru

    Микроэлектроника 04-04-2007
    «Турбофлэшка» Buffalo вместимостью 32 Гб 18-12-2007 Микроэлектроника
    Несмотря на то, что на рынке уже представлены некоторыми производителями несколько моделей 32-гигабайтных портативныхфлэш-накопителей с интерфейсом USB 2.0, компания Buffalo Technology при анонсе своей новинки такой жеёмкости с нескрываемой гордостью назвала её самым оптимальным решением для тех пользователей, кому необходимо вместительное, высокоскоростноеи надёжное карманное средство для хранения и транспортировки больших объёмов информац...


    Диски Verbatim не бояться железной мочалки 16-12-2007 Микроэлектроника
    Компания Verbatim представила новый тип DVD-носителей Archival Grade DVD-R 8x, предназначенных специальнодля записи крупных информационных архивов. У «болванок» имеются золотой и серебряный отражающие слои. Первый устойчив к атмосферному влиянию(окисление), что препятствует разрушению CD и DVD. Второй обеспечивает хорошее отражение в процессе чтения и записи данных,благодаря чему диски становятся более долговечными. Совместимы эти нос...


    Высокоинтегрированная ИС DS28DG02 запоминающего устройства с аналогово-цифровыми функциями позволяет сэкономить занимаемое на плате место, снизить стоимость и ускорить проектирование 16-07-2007 Микроэлектроника
    Компания Dallas Semiconductor, являющаяся собственностью компании Maxim Integrated Products, представила новое запоминающее устройство DS28DG02, которое характеризуется беспрецедентной степенью интеграции аналоговых, цифровых и энергонезависимых функций. Высокая степень интеграции DS28DG02 позволяет сэкономить 20% занимаемой на печатной плате площади и 30% стоимости. В состав ИС входит ЭСППЗУ размером 2 кбит. Этой емкости памяти достаточно дл...


    Evercool Magic — магия охлаждения ноутбука 28-06-2007 Микроэлектроника
    Компанией Evercool, известной среди моддеров, компьютерных энтузиастов, представлено довольно странное устройство охлаждения воздушного типа.Кулер с названием Magic имеет не только необычное оформление (патентованный дизайн "NB Air Extracting Fan"), - на нем изображена пентаграмма, но и свойства. Благодаря особенностям конструкции кулер способен быстро отводить тепло из корпуса ноутбука. На корпусе размещен не только переключатель ск...

    Новые цены на процессоры AMD 11-04-2007 Микроэлектроника
    Компания AMD обнародовала новые цены на микропроцессоры. Двухъядерные модели подешевели даже сильнее,чем ожидалось; в целом, снижение затронуло практически весь ассортимент настольных и мобильных изделий.В обновленном списке отсутствуют снятые с производства модели. В частности, семейство процессоров для платформы AMD Quad FX (сархитектурой DSDC) покинула модель Athlon 64 FX-70. Две оставшиеся модели - Athlon 64 FX-72 и Athlon 64 FX-74...
  •  

     
    Copyright by www.scripts.net.ua.
    Rambler's Top100 Рейтинг@Mail.ru