nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 12:32



Reply to topic  [ 23 posts ]  Go to page 1, 2  Next
Кросс-средства разработки для AVR 
Author Message
Doomed

Joined: 16 Apr 2005 22:35
Posts: 492
Location: Томск
Reply with quote
Средства для сборки - все свободные. GNUMake - стандартный.

Остальное вот:

avr-binutils - ассемблер, линкер и другие утилиты.
ftp://ftp.informatik.rwth-aachen.de/pub/gnu/binutils/
ftp://gatekeeper.dec.com/pub/GNU/binutils/

avr-gcc - компилятор С.
ftp://ftp.informatik.rwth-aachen.de/pub/gnu/gcc/
ftp://gatekeeper.dec.com/pub/GNU/gcc/

avr-libc - стандартная библиотека С для AVR.
http://www.amelek.gda.pl/avr/libc/

uisp - программа для загрузки кода во flash-память микроконтроллера через LPT-порт ПК.
http://savannah.nongnu.org/download/uis ... 207.tar.gz.

Кроме того, все эти программы (кроме uisp) входят в дистрибутивы ALT Linux и их можно скачать с сайта компании http://www.altlinux.ru/ или его зеркал.


03 May 2005 20:46
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Post 
SfS wrote:


Чего-то я не понял как по этим ссылкам выцарапывать avr-binutils и avr-gcc???

_________________
:dj: https://mastodon.social/@Shaos


06 May 2005 19:10
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Post 
Shaos wrote:
SfS wrote:


Чего-то я не понял как по этим ссылкам выцарапывать avr-binutils и avr-gcc???


Хм - поддержка avr в исходниках сидит, в том числе и в моей слаквари, осталось понять как ее в бинарники затолкать, не сломав существующий gcc :)

_________________
:dj: https://mastodon.social/@Shaos


06 May 2005 19:31
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Post 
Shaos wrote:
Shaos wrote:
SfS wrote:


Чего-то я не понял как по этим ссылкам выцарапывать avr-binutils и avr-gcc???


Хм - поддержка avr в исходниках сидит, в том числе и в моей слаквари, осталось понять как ее в бинарники затолкать, не сломав существующий gcc :)


Ага - нашел ( http://slacy.com/avr/compiler.html ):

configure --target=avr --program-prefix="avr-"

_________________
:dj: https://mastodon.social/@Shaos


06 May 2005 19:38
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Post 
Shaos wrote:
Ага - нашел ( http://slacy.com/avr/compiler.html ):

configure --target=avr --program-prefix="avr-"


Обломс - gcc-3.3.4 не собирается :(

_________________
:dj: https://mastodon.social/@Shaos


06 May 2005 20:19
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Post 
Shaos wrote:
Shaos wrote:
Ага - нашел ( http://slacy.com/avr/compiler.html ):

configure --target=avr --program-prefix="avr-"


Обломс - gcc-3.3.4 не собирается :(


А вот gcc-3.3.2 с гейткипера собрался!

_________________
:dj: https://mastodon.social/@Shaos


06 May 2005 20:32
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Post 
Shaos wrote:
Shaos wrote:
Shaos wrote:
Ага - нашел ( http://slacy.com/avr/compiler.html ):

configure --target=avr --program-prefix="avr-"


Обломс - gcc-3.3.4 не собирается :(


А вот gcc-3.3.2 с гейткипера собрался!


Теперь avr-libc-20020203 не хочет собираться :-?

Code:
In file included from ../../../../common/macros.inc:18,
                 from ../../../../libc/pmstring/memcpy_P.S:2:
../../../../include/io-avr.h:75:4: warning: #warning "device type not defined"
../../../../libc/pmstring/memcpy_P.S: Assembler messages:
../../../../libc/pmstring/memcpy_P.S:17: Error: constant value required
../../../../libc/pmstring/memcpy_P.S:17: Error: constant value required
../../../../libc/pmstring/memcpy_P.S:18: Error: constant value required
../../../../libc/pmstring/memcpy_P.S:18: Error: constant value required
../../../../libc/pmstring/memcpy_P.S:37: Error: constant value required
../../../../libc/pmstring/memcpy_P.S:37: Error: register r24, r26, r28 or r30 required
make[4]: *** [memcpy_P.o] Ошибка 1
make[3]: *** [all-recursive] Ошибка 1
make[2]: *** [all-recursive] Ошибка 1
make[1]: *** [multi-do] Ошибка 1
make: *** [all-multi] Ошибка 2

_________________
:dj: https://mastodon.social/@Shaos


06 May 2005 20:41
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Post 
Shaos wrote:
Теперь avr-libc-20020203 не хочет собираться :-?


Пришлось ставить более старый binutils с gcc!
После перебора нескольких версий сработала вот такая конфигурация:
binutils-2.13.2.1
gcc-3.2.3
avr-libc-20020203

_________________
:dj: https://mastodon.social/@Shaos


Last edited by Shaos on 07 May 2005 05:57, edited 2 times in total.



06 May 2005 21:30
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Post 
А вот какой размер инта тут?

_________________
:dj: https://mastodon.social/@Shaos


06 May 2005 21:51
Profile WWW
Doomed

Joined: 16 Apr 2005 22:35
Posts: 492
Location: Томск
Reply with quote
Post 
С удивлением и радостью узнал что я тут модератор)

Отвечаю на все вопросы пока коротко. Потом наверное нарисую более подробную доку.

Как собрать кросс-средства для AVR ?
Собирать все следует именно в том порядке как тут указано!

1. Установка: GNU binutils
Пакет binulils содержит низкоуровневые средства необходимые для создания объектных файлов. Он включает в себя ассемблер AVR (avr-as), линкер (avr-ld), библиотеку средств управления библиотеками (avr-ranlib, avr-ar), программы для создания исполняемых модулей загружаемых в память программ микроконтроллера (avr-objcopy), дизассемблер(avr-objdump) и утилиты avr-strip и avr-size.

Для установки пакета binutils выполните следующие команды:
bunzip2 -c binutils-2.11.2.tar.bz2 | tar xvf -
cd binutils-2.11.2
./configure --target=avr --prefix=/usr/local/atmel
make
make install

Добавьте строку /usr/local/atmel/lib в файле /etc/ld.so и обновите кэш линкера командой /sbin/ldconfig.

2. Установка: AVR gcc
avr-gcc - собственно компилятор С.

Для его установки используйте следующие команды:

tar zxvf gcc-core-3.0.3.tar.gz
cd gcc-core-3.0.3
./configure --target=avr --prefix=/usr/local/atmel --disable-nls --enable-language=c
make
make install



3. Установка: Библиотека AVR C
Библиотека AVR C до сих пор находится в стадии разработки и поэтому процесс установки может немного изменяться от версии к версии. Я рекомендую использовать версию указанную выше в таблице, для приведенной мной процедуры установки. Именно эту версию я использовал при создании программ описанных в этой и последующих статьях.

Установите следующие пременные среды (синтаксис bash):
export CC=avr-gcc
export AS=avr-as
export AR=avr-ar
export RANLIB=avr-ranlib
export PATH=/usr/local/atmel/bin:${PATH}

./configure --prefix=/usr/local/atmel --target=avr --enable-languages=c --host=avr
make
make install



Установка: Программатор

Программатор предназначен для загрузки исполняего кода в память программ микроконтроллера.

Наилучшим образом для этих целей подходит uisp для Linux. Он может быть использован прямо из make-файла. Вам только нужно будет добавить строку "make load" в make-файл и созданный Вами код будет загружен в микроконтроллер сразу после компиляции.

uisp устанавливается следующими командами:

tar zxvf uisp-20011025.tar.gz
cd uisp-20011025/src
make
cp uisp /usr/local/atmel/bin


Заметьте - все команды для AVR начинаются с avr- (avr-gcc, avr-ld и т.д.) и никак не могут повлиять на установленные в системе gcc, ld и т.п.


07 May 2005 01:24
Profile
Doomed

Joined: 16 Apr 2005 22:35
Posts: 492
Location: Томск
Reply with quote
Post 
Shaos wrote:
А вот какой размер инта тут?


Как и у всех 8биток - int - 16 бит, char - 8бит, long - 32 бита


07 May 2005 01:28
Profile
Doomed

Joined: 16 Apr 2005 22:35
Posts: 492
Location: Томск
Reply with quote
Post 
Заодно приведу распайку кабеля для программирования программой uisp (LPT порт - стандартный разъем, со стороны AVR - номера выводов указаны для NedoPC-90):

pin on AVR Pin on parallel port (LPT)
MOSI (1) D0 (2)
MISO (2) Busy (11)
SCK (3) Strobe (1)
Reset (4) Init (16)
GND(6) GND (18)


07 May 2005 01:33
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Post 
SfS wrote:
Shaos wrote:
А вот какой размер инта тут?


Как и у всех 8биток - int - 16 бит, char - 8бит, long - 32 бита


Это хорошо, а то рассуждая в соответствии с буквой стандарта int теоретически должен быть 8-битным, т.е. соответствовать размеру одновременно обрабатываемого слова в процессоре :)

_________________
:dj: https://mastodon.social/@Shaos


07 May 2005 06:01
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Post 
SfS wrote:
Как собрать кросс-средства для AVR ?
Собирать все следует именно в том порядке как тут указано!


Вроде у меня все проще получилось:
1) binutils-2.13.2.1
./configure --target=avr --program-prefix="avr-"
make
make install
2) gcc-3.2.3
./configure --target=avr --program-prefix="avr-" --enable-languages=c
make
make install
3) avr-libs-20020203
./doconf
./domake
./domake install
причем все хозяйство устанавливается в /usr/local/avr а бинарники с префиксом avr- в /usr/local/bin и менять PATH и вообще вручную устанавливать какие-либо переменные окружения вроде не требуется

_________________
:dj: https://mastodon.social/@Shaos


07 May 2005 06:08
Profile WWW
Doomed

Joined: 16 Apr 2005 22:35
Posts: 492
Location: Томск
Reply with quote
Post 
Shaos wrote:
причем все хозяйство устанавливается в /usr/local/avr а бинарники с префиксом avr- в /usr/local/bin и менять PATH и вообще вручную устанавливать какие-либо переменные окружения вроде не требуется


Это так, если в путях есть /usr/local/bin. Иначе надо прописать путь к компилятору


10 May 2005 02:50
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 23 posts ]  Go to page 1, 2  Next

Who is online

Users browsing this forum: No registered users and 5 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.