日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Ubuntu上AVR單片機(jī)開發(fā)環(huán)境設(shè)置

          Ubuntu上AVR單片機(jī)開發(fā)環(huán)境設(shè)置

          作者: 時(shí)間:2016-11-19 來源:網(wǎng)絡(luò) 收藏
          操作系統(tǒng):ubuntu 13.04(32 bits)

          AVR單片機(jī):ATmega644pa

          本文引用地址:http://yuyingmama.com.cn/article/201611/318405.htm

          首先要明確,我們?cè)?strong>Ubuntu(或者Linux)上開發(fā)AVR單片機(jī)應(yīng)包括兩大部分:

          程序編譯、程序下載。

          環(huán)境布置:

          程序編譯使用Linux下的編譯器——avr-gcc,通過以下指令安裝:
          sudo apt-get install gcc-avr   #這是avr的交叉編譯器

          sudo apt-get install avr-libc  #這是編譯要用的庫

          另外還有一個(gè)工具,目前感覺沒什么用,先記下來
          sudo apt-get install gdb-avr   #gdb反向調(diào)試工具,反匯編

          程序的下載使用avrdude,安裝命令:

          sudo apt-get install avrdude



          程序的編譯和下載步驟

          第一步:編譯程序

          avr-gcc -mmcu=atmega644p -Wall -Os -o main.o main.c

          第二步:到HEX文件里面


          avr-objcopy -j .text -j .data -O ihex  main.o main.hex

          至于這一步到底做了什么,我也只知道大概是把 .o 文件中的特定部分(例如 .text 和 .data段)

          到 .hex 文件中。

          詳見 avr-objcopy --help 和 readelf -a main.o

          第三步:下載程序到單片機(jī)


          sudo avrdude -p m644p -c usbasp -e -U flash:w:main.hex


          其中
          -p 表示選擇芯片,例如m644p
          -c 選擇下載器,例如usbasp
          -e 表示燒錄前清空
          -U 表示存儲(chǔ)器操作類型,使用方式:-U memtype:op:filename[:format]

          詳見 man avrdude

          另外,有時(shí)我們還需要讀取或者寫入單片機(jī)的熔絲位(熔絲高位:hfuse;熔絲低位:lfuse;熔絲擴(kuò)展位:efuse)

          可以通過以下命令得到

          讀取熔絲高位

          sudo avrdude -p m644p -c usbasp -e -U hfuse:r:hfuse.hex:h

          寫熔絲位:

          sudo avrdude -p m644p -c usbasp -e -U hfuse:w:0xde:m


          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉