AVR Studio + avr-gcc: как в Makefile задавать и препроцессором проверять тип используемого AVR |
Написал microsin | |
09.02.2010 | |
В проектах AVR Studio + AVR GCC (из пакета WinAVR) часто используют Makefile, в котором задается тип микроконтроллера AVR. В тексте программы бывает нужно с помощью препроцессора проверить, какой сейчас задан тип процессора, и в зависимости от этого выбрать нужный текст для компиляции. Обычно тип процессора задается в Makefile таким способом:
#MCU = atmega8 Чтобы задать тип процессора, раскомментируют одну из строчек "MCU = ..", и потом тип процессора передается компилятору через переменную мейк-файла CFLAGS и опцию -mmcu. В тексте программы необходимо включить файл <avr/io.h>, который проверяет тип процессора и в зависимости от него включает нужные заголовочные файлы.
Чтобы в программе самому проверить тип микроконтроллера с помощью препроцессора avr-gcc, нужно добавить код наподобие следующего: Имена макросов типа __AVR_ATmega8__, __AVR_ATmega16__ и т. д. можно подсмотреть в файле c:\WinAVR-20090313\avr\include\avr\io.h. Имена макросов жестко вшиты в исполняемый файл avr-gcc (см. c:\WinAVR-20090313\libexec\gcc\avr\4.3.2\cc1.exe, cc1obj.exe, cc1plus.exe), прочитать про их использование можно в файле c:\WinAVR-20090313\doc\avr-libc\avr-libc-user-manual\using_tools.html. |
|
Последнее обновление ( 09.02.2010 ) |