歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 在Linux下開發AVR單片機的工具

在Linux下開發AVR單片機的工具

日期:2017/2/27 14:19:45   编辑:更多Linux
  AVR-GCC安裝方法簡介 by 崔劍 Atmel公司的AVR系列單片機是一種性能優良, 耗電很小的微控制器, 他的主要特點是: 1). 單時鐘周期指令; 2). 很高的C語言編碼效率; 3). 支持在系統編程(ISP)技術. AVR單片機是我目前在Linux下看到的開發工具最全的微控制器, 它的開發非常方便, 從此我們在Linux下也可以開發單片機了. 開發AVR的編譯器是gcc, 實際上就是給gcc加上適合於AVR的庫, 該庫的名字叫avr-libc, 目前支持的開發語言是c和c++, c++的支持還在開發中. 下面就介紹AVR-GCC的安裝方法並簡單介紹一下通用編程器uisp的安裝方法. 當前avr-libc仍在不斷的進行中, 該項目的主頁是 http://www.nongnu.org/avr-libc , 該頁面上面還有很多AVR在Linux下開發的輔助工具, 本文就不介紹了. avr-gcc的下載地址是: http://savannah.nongnu.org/download/avr-libc/snapshots/src , 請下載binutils-030428.tar.bz2 , gcc-core-20030428.tar.bz2 , gcc-g++-20030428.tar.bz2 , avr-libc-20030422cvs.tar.gz. 以root用戶登錄, 將它們拷貝到安裝目錄中(我的習慣是/usr/local/src), 解壓縮軟件包: bunzip2 *.bz2 tar xvf *.tar tar zxvf *.tar.gz 之後會在安裝目錄中生成`三個子目錄, binutils-030438/ , gcc-20030428/ , avr-libc-20030422cvs/ . 下面分別安裝之. 安裝binutils: cd binutils-030428/ ./configure --target=avr --prefix=/usr/local/atmel (/usr/local/atmel是安裝目錄) make make install 然後在/etc/ld.so.conf中加入/usr/local/atmel/lib一行, 並運行/sbin/ldconfig更新. 在~/.bashrc文件中加入eXPort PATH=/usr/local/atmel/bin:${PATH}, 並且在命令行下也輸入該語句. 安裝gcc: cd gcc-20030428/ ./configure --target=avr --prefix=/usr/local/atmel --disable-nls --enable-language=c,c++ make make install 安裝avr-libc: 先設置一些環境變量: export CC=avr-gcc; export AS=avr-as; export AR=avr-ar; export RANLIB=avr-ranlib export PATH=/usr/local/atmel/bin:${PATH}; export PREFIX=/usr/local/atmel ./reconf ./doconf ./domake cd build make install 如果一切順利的話, AVR-GCC就安裝完成了. 下面介紹通用編程器uisp的安裝 uisp是一個通用的編程器, 用來在Linux下控制各種各樣的編程器, 該項目正在不斷的完善中, 項目的主頁是: http://savannah.nongnu.org/projects/uisp 從上面下載uisp-20021201.tar.gz


解壓縮: tar zxvf uisp-20021201.tar.gz 開始安裝: cd uisp-20021201/ ./configure make make install 這樣uisp也裝好了. 運行之前我們還要作些准備工作. 運行lsmod命令, 看列表中有沒有parport, parport_pc, ppdev 三個模塊, 有的話就跳過下面一段. 編譯內核, 確信選中parallel port support -> parallel support 和 parallel port support -> pc-style hardware 及 Character devices -> Support for user-space parallel port device drivers 三項. 編譯好內核後, 進入/lib/modules/<內核版本號>/kernel/drivers/parport/ , 運行 insmod parport.o ; insmod parport_pc.o ; cd .. ; cd char/ ; insmod ppdev.o , 可以將加載模塊的命令加入rc.sysinit, 這樣就不用以後再手工輸入了. 下面簡單講講avr-gcc和uisp的使用方法, 詳細的handbook我會以後翻譯. 假定mcu為at90s8515, 源程序為avr.c . 1). 編譯C源程序 生成.o文件: avr-gcc -mmcu=at90s8515 -Os avr.c 生成.out文件: avr-gcc -mmcu=at90s8515 -o -Wl,-Map,avr.map avr.o avr.out 生成.hex文件: avr-objcopy -R .eeprom -O ihex avr.out avr.hex 2). 在線下載 刷新: uisp -dlpt=/dev/parport0 --erase -dprog=dapa 編程: uisp -dlpt=/dev/parport0 --upload if=avr.hex -dprog=dapa -dno-poll -v=3 --hash=32 3). 下載線 PC 並口 AVR Init (Pin 16) -> Reset D0 (Pin 2) -> MOSI Busy(Pin 11) -> MISO Strobe(Pin 1) -> SCK GND(Pin 18) -> GND 注意: 引線要串1K的電阻, AVR的Reset端接10K的上拉, 要給單片機3-5V的外部供電. 最後祝大家都能順利的使用Linux開發AVR. 有問題與我聯系 ([email protected])



3). 下載線 PC 並口 AVR Init (Pin 16) -> Reset D0 (Pin 2) -> MOSI Busy(Pin 11) -> MISO Strobe(Pin 1) -> SCK GND(Pin 18) -> GND 注意: 引線要串1K的電阻, AVR的Reset端接10K的上拉, 要給單片機3-5V的外部供電. 最後祝大家都能順利的使用Linux開發AVR. 有問題與我聯系 ([email protected])



Copyright © Linux教程網 All Rights Reserved