Не компилируется программа под atmega8
- Войдите на сайт для отправки комментариев
Ср, 17/02/2016 - 19:33
Добрый день.
Делаю устройство на atmega8.
Для этого создал в arduino 1.6.7 в файле boards.txt свой раздел с описанием своей системы, а именно
a8noboot_8MHz.mcu=atmega8 a8noboot_8MHz.name=ATmega8 (no boot 8 MHz int) a8noboot_8MHz.upload.maximum_size=7168 a8noboot_8MHz.upload.maximum_data_size=1024 a8noboot_8MHz.upload.tool=avrdude a8noboot_8MHz.bootloader.low_fuses=0xa4 a8noboot_8MHz.bootloader.high_fuses=0xdc a8noboot_8MHz.build.board=MyBoard a8noboot_8MHz.build.mcu=atmega8 a8noboot_8MHz.build.f_cpu=8000000L a8noboot_8MHz.build.core=arduino a8noboot_8MHz.build.variant=standard
Тактирование от внутреннего генератора на 8 мгц.
Программа включает в себя FreeRTOS. При компиляции выпадает ошибка
C:\Users\rcdimon2\Documents\Arduino\libraries\FreeRTOS_AVR\src\utility\port.c: In function 'prvSetupTimerInterrupt': C:\Users\rcdimon2\Documents\Arduino\libraries\FreeRTOS_AVR\src\utility\port.c:529:3: error: 'OCR0A' undeclared (first use in this function) OCR0A = 1; ^ C:\Users\rcdimon2\Documents\Arduino\libraries\FreeRTOS_AVR\src\utility\port.c:529:3: note: each undeclared identifier is reported only once for each function it appears in C:\Users\rcdimon2\Documents\Arduino\libraries\FreeRTOS_AVR\src\utility\port.c:530:3: error: 'TIMSK0' undeclared (first use in this function) TIMSK0 |= (1 << OCIE0A); ^ C:\Users\rcdimon2\Documents\Arduino\libraries\FreeRTOS_AVR\src\utility\port.c:530:20: error: 'OCIE0A' undeclared (first use in this function) TIMSK0 |= (1 << OCIE0A); ^ exit status 1 Ошибка компиляции.
В atmega8 нет таких регистров действительно.
Если я выберу в качестве платформы не свою, а Arduino NG (тоже на atmega8) то программа успешно компилируется. Из чего я делаю вывод, что проблема в описании моей платформы, но я никак не могу понять где она...
Skaf, в хорошо поставленном вопросе содержится 90% ответа. Думаю это ваш случай :) Вы уже сделали вывод что таких регистров нет, так в чём смысл дальше впихивать во вневпихуемое? И кстати NG был на двух мк 168 и 8, так что вполне может скомпилиться для 168.
Из чего я делаю вывод, что проблема в описании моей платформы, но я никак не могу понять где она...
нет - проблема в описании Arduino NG or older
Да действительно. Под NG с atmega8 не компилируется тоже. Действительно дело в том, что под мегу8 этот код не расчитан и дело именно в самом коде FreeRTOS, а не настроек среды. Прошу прощения за беспокойство.