Прочитать фьюзы из atmega8 (в файлы пишутся hex значения, типа 0xde):
sudo avrdude -c usbasp -p m8 -U hfuse:r:hfuse.txt:h -U lfuse:r:lfuse.txt:h
Прочитать фьюзы из atmega8 (в файлы пишутся в двоичном виде, типа 0b11011101):
sudo avrdude -c usbasp -p m8 -U hfuse:r:hfuse.txt:b -U lfuse:r:lfuse.txt:b
Онлайн калькулятор для фьюзов:
http://www.engbedded.com/fusecalc/
http://www.elektronik-kompendium.de/public/arnerossius/temp/avrfuse/
Три странички с расшифровкой фьюзов под разные контроллеры:
http://www.psychogenic.com/resources/avr/fuses/fuse-low.pdf
http://www.psychogenic.com/resources/avr/fuses/fuse-high.pdf
http://www.psychogenic.com/resources/avr/fuses/fuse-ext.pdf
Записать фьюзы в atmega8 (в данном примере 8MHz внутренний генератор)
sudo avrdude -c usbasp -p m8 -U lfuse:w:0xE4:m
Записать прошивки в atmega8
sudo avrdude -c usbasp -p m8 -U flash:w:main.hex:i
Показаны сообщения с ярлыком микрокотроллеры. Показать все сообщения
Показаны сообщения с ярлыком микрокотроллеры. Показать все сообщения
вторник, 12 января 2010 г.
понедельник, 24 ноября 2008 г.
Компиляция gcc для Atmel AVR. Ошибка с libgcc.mvars
Начал компилировать новый GCC (4.3.2) под AVR (Atmel) для разработки программ микроконтроллеров. И случились грабли.
С binutils проблем не возникло, взяли с ftp://ftp.gnu.org/gnu/binutils/
./configure --target=avr --prefix=/usr/local/atmel
make
make install
Затем взяли GCC с ftp://ftp.gnu.org/gnu/gcc
добавили путь
export PATH=/usr/local/atmel/bin:$PATH
./configure --target=avr --prefix=/usr/local/atmel --enable-languages=c
make
и получили:
Makefile:144: ../.././gcc/libgcc.mvars: No such file or directory
make[2]: *** No rule to make target `../.././gcc/libgcc.mvars'. Stop.
А все потому, что копилировал я в том же каталоге, где лежат исходники.
Разработчики в Installing GCC: Configuration рекомендуют компилировать в отдельном каталоге не принадлежащем дереву каталогов исходников.
Т.е. создаем каталог /tmp/avr, а в нем src. В /tmp/avr/src распаковываем gcc. Создаем /tmp/avr/obj
и переходим в него. И уже из этого каталога (/tmp/avr/obj) даем команду на конфигурирование:
/tmp/avr/src/configure --target=avr --prefix=/usr/local/atmel --enable-languages=c \
--disable-shared --disable-libssp
make
make install
Обратите внимание на полный путь (/tmp/avr/src/configure) - это важно.
И еще --disable-libssp, иначе выскочит что-то про ошибки компиляции libssp, а именно ssp.c
И еще установим avr-libc.
./configure --build=`./config.guess` --host=avr --prefix=/usr/local/atmel
make
make install
С binutils проблем не возникло, взяли с ftp://ftp.gnu.org/gnu/binutils/
./configure --target=avr --prefix=/usr/local/atmel
make
make install
Затем взяли GCC с ftp://ftp.gnu.org/gnu/gcc
добавили путь
export PATH=/usr/local/atmel/bin:$PATH
./configure --target=avr --prefix=/usr/local/atmel --enable-languages=c
make
и получили:
Makefile:144: ../.././gcc/libgcc.mvars: No such file or directory
make[2]: *** No rule to make target `../.././gcc/libgcc.mvars'. Stop.
А все потому, что копилировал я в том же каталоге, где лежат исходники.
Разработчики в Installing GCC: Configuration рекомендуют компилировать в отдельном каталоге не принадлежащем дереву каталогов исходников.
Т.е. создаем каталог /tmp/avr, а в нем src. В /tmp/avr/src распаковываем gcc. Создаем /tmp/avr/obj
и переходим в него. И уже из этого каталога (/tmp/avr/obj) даем команду на конфигурирование:
/tmp/avr/src/configure --target=avr --prefix=/usr/local/atmel --enable-languages=c \
--disable-shared --disable-libssp
make
make install
Обратите внимание на полный путь (/tmp/avr/src/configure) - это важно.
И еще --disable-libssp, иначе выскочит что-то про ошибки компиляции libssp, а именно ssp.c
И еще установим avr-libc.
./configure --build=`./config.guess` --host=avr --prefix=/usr/local/atmel
make
make install
Подписаться на:
Сообщения (Atom)