Начитавшись всяких ссылок, ФАКов и справочников, для прогания на Си выбрал пакет WinAVR.
Пишу все в AVRStudio 4
Написал пустую программку в одну строку:
int main (void) { }
Компилируем, Билд, Запуск, Дизассемблируем и видим огромный набор инструкций как до функции мейн так и после нее. Итого hex-файл составляет 300 байт при пустой программе.
это строка на компиляцию
avr-gcc.exe -I"D:\AVR\Projects\My_C_prj\..\..\..\Program Files\WinAVR-20071221\avr\include\avr" -mmcu=atmega8515 -Wall -gdwarf-2 -std=gnu99 -Os -fsigned-char -MD -MP -MT My_C_prj.o -MF dep/My_C_prj.o.d -c -mcall-prologues -mno-tablejump ../My_C_prj.c
Где почитать или разобратся как, почему и что запихивает GCC в пустую программу и какой от этого толк.
В начале там знакомые инструкции вроде объявления векторов прерываний, а все остальное какието беспорядочные ldi и out в различные регистры
скриншоты прилагаютса - все три скрина - куски одной программы
- Вложения
-
- Clipboard02.png
- часть 1
- (5.37 КБ) 620 скачиваний
-
- Clipboard05.png
- часть 2
- (6.86 КБ) 597 скачиваний
-
- Clipboard07.png
- часть 3
- (3.23 КБ) 633 скачивания


