久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10474|回復(fù): 10
收起左側(cè)

好書推薦:AVR單片機(jī)GCC程序設(shè)計(jì)

  [復(fù)制鏈接]
ID:289177 發(fā)表于 2018-3-8 14:20 | 顯示全部樓層 |閱讀模式
AVR單片機(jī)GCC程序設(shè)計(jì)的目錄:
0.png
4.9  鍵盤程序設(shè)計(jì)
4.10 蜂鳴器控制

第五章 使用 C 語言標(biāo)準(zhǔn) I/O 流調(diào)試程序
5.1  avr-libc 標(biāo)準(zhǔn)I/O 流描述
5.2  利用標(biāo)準(zhǔn) I/0 流調(diào)試程序
5.3  最小化的格式化的打印函數(shù)

第六章 CA-M8 上實(shí)現(xiàn) AT89S52 編程器的實(shí)現(xiàn)
0.png
前    言

2000年在學(xué)校我第一次接觸 Linux,那時在班里學(xué)習(xí)做網(wǎng)頁的氣氛較濃,我也是為了學(xué)習(xí) PHP 才認(rèn)識 Linux 的。PHP 解析器的安裝過程讓我多多少少對 GCC 有了些認(rèn)識,不過當(dāng)時我并沒有意識到它還可以用于嵌入式系統(tǒng)編程上,至于 Linux 、認(rèn)為用處只在于架構(gòu)一個免費(fèi)的WEB站點(diǎn)。
2002 年在公司我第一次接觸了AVR, 當(dāng)時公司只有一個 ICC 序列號,導(dǎo)致我和一個同事經(jīng)常搶用一臺機(jī)器,不過這種狀況沒有持續(xù)多久,我在瀏覽雙龍的數(shù)據(jù)光盤時發(fā)現(xiàn)一個叫“如何使用 AVR-GCC”的 PDF 文檔,上面沒有署名,我想我應(yīng)該感謝該文的作者。我發(fā)現(xiàn)這個免費(fèi)的編譯軟件遠(yuǎn)比ICC好用。
今天,我把使用 AVR-GCC 兩年來的體會寫在這里,愿更多的人了解和使用GCC及自由軟件。
水平有限,錯誤和缺陷在所難免,請廣大讀者批評指正。

作者:芯 藝
2004-12-13   
于內(nèi)蒙古包頭

第一章   概  述

1.1  AVR 單片機(jī) GCC 開發(fā)概述
一 AVR 單片機(jī)介紹
誕生:
1997 年 ATMEL 公司挪威設(shè)計(jì)中心的 A 先生和 V 先生出于市場需求的考慮推出了全新配置的 8 位精減指令集微處理器(RISC-Reduced Instrction Sot CPU) 。起名為AVR。

系列和主流:
  AVR是一種指令內(nèi)核的統(tǒng)稱,它內(nèi)部又分ATt iny、AT90S和ATmega三大系列,分別對應(yīng)AVR的低、中、高檔產(chǎn)品。Attiny系列中常用的有Attiny15、Attiny2313等產(chǎn)品,AT90S系列中常用的有AT90S2313、AT90S8535、AT90S8515等。AT90S2313引腳兼容AT89C2051,而AT90S8515的引腳則兼容51單片機(jī), 在設(shè)計(jì)中很容易的替代51單片機(jī)。 但是到目前, AT90S系列的絕大部分已停產(chǎn),當(dāng)某一個AT90S系列芯片停產(chǎn)時ATMEL通常會在ATMega或ATtiny系列中推出一個新的替代產(chǎn)品,替代產(chǎn)品往往在引腳兼容的基礎(chǔ)上內(nèi)部資源和性能得到加強(qiáng)。例如Attiny2313作為AT90s2313的替代產(chǎn)品在AT90S2313的基礎(chǔ)上增加了片內(nèi)標(biāo)定振蕩器、增強(qiáng)型上電復(fù)位、可編程的掉電檢測等等多種功能。類似的ATMega8515和ATMega8535分別作為AT90S8515和AT90S8535的替代產(chǎn)品繼承了很多Mega系列的特性。
ATMega48/88/168、ATMega8、ATMega16、ATMega32、ATMega64 和 ATMega128 是ATMega 系列的主流產(chǎn)品。值得關(guān)注的是 ATMega8 這一款單片機(jī),它以豐富的片內(nèi)資源、低廉的價格深受廣大設(shè)計(jì)人員的喜愛,并在國內(nèi)得到了較好的推廣。然而 ATMega48/88/168作為它的兼容產(chǎn)品,為用戶提供更多功能的選擇。
ATMega16 也是個用量較多的器件,它的引腳兼容 AT90S8535,可以取代產(chǎn)品中的 8535芯片。相對 ATMega8  它除了 I/O 引腳多之外內(nèi)部集成了 ATMega8 兩倍(16K)的 FLASH程序存儲器。

隨著國內(nèi) AVR 用戶的增多,ATMEL也開始了主流器件數(shù)據(jù)手冊的中文翻譯工作。從網(wǎng)絡(luò)上可以找到 Attiny2313、 ATMega48/88/168、 ATMega8、 ATMega16、 ATMega32、 ATMega64
等器件的官方翻譯中文數(shù)據(jù)手冊。這對學(xué)習(xí)和使用 AVR 器件提供了很大的幫助。

硬件結(jié)構(gòu):
有關(guān) AVR 硬件結(jié)構(gòu),各功能模塊的描述請參考數(shù)據(jù)手冊或相關(guān)的書籍。

開發(fā)工具:
更適合采用高級語言開發(fā)是 AVR 單片機(jī)最初設(shè)計(jì)時的目的之一。 目前 AVR 單片機(jī)高級語言發(fā)發(fā)工具主要有 IAR C、WINAVR、ICCAVR、CodeVision、BASCOM-AVR(BASIC 語言) 。 IAR 是與 AVR 內(nèi)核協(xié)同開發(fā)的, 很多對 AVR 更適合 C 語言開發(fā)方面的改進(jìn)是根據(jù) IAR開發(fā)過程的,它也是 ATMEL 公司推薦的 C 語言編譯器,但它的價格幾呼讓人難以接受,達(dá)到上萬元人民幣。ICCAVR 是國內(nèi) AVR 主要推廣單位雙龍公司代理的 C 編譯器,它價格低廉,性能也XX,友好的界面把很多煩瑣的項(xiàng)目管理和編譯設(shè)置隱藏了起來,為此它受部分開發(fā)人員的歡迎。CodeVision 也是個很不錯的 C編譯器,目前在國內(nèi)也有一定數(shù)量的用戶。
Winavr 是個免費(fèi)的 AVR 開發(fā)程序集,它以著名的自由軟件 GCC 為 C/C++編譯器。下面所有章節(jié)我都會介紹如何使用 WINAVR 開發(fā) AVR 單片機(jī)。   學(xué)習(xí) GCC 的意義絕不僅僅是為了開發(fā) AVR 程序,正如 21ICBBS上一位網(wǎng)友所說: “如果其它編譯器是一棵樹,那么 GCC 就是個樹林” ,GCC 支持多種處理器,包括 ARM、DSP、X86等 32 位 CPU。它的歷史足以說明它是個成熟的編譯器。
如果不是個業(yè)余的程序開發(fā)人員,我不會建議你使用 BASIC 編寫 AVR 程序,因?yàn)槲覀冊诰帉懪c硬件密切相關(guān)的單片機(jī)程序時通常需要想象編譯器是如何將這些代碼翻譯成匯編程序的,而 C 更適合我們?nèi)ミ@樣做。

二 GCC編譯器
UNIX上最原始的 C 編譯器叫 CC(C Compiler   C編譯器) ,源于此 GNU 的 C 編譯器叫作 GCC(GNU C Compiler) ,然而,隨著 GCC 支持語言的增加 GCC 這個縮寫的意義已演變成了 GNU 編譯器集合(GNU Compiler Collection),它是 GNU項(xiàng)目的一個產(chǎn)品,是個開放源代碼軟件。

GCC 可編譯多種語言,目前支持的語言有 C、C++、Objective-C、Fortran、java 和 Ada。  這些高級語言程序通過編譯程序前端(front-end)后產(chǎn)生解析樹,之后與器件相關(guān)的后端(back-end)程序?qū)⑺鼈兘忉尦蓪?shí)際的可執(zhí)行指令集。前端與后端是完全分開的,解析樹是它們中間的產(chǎn)物。GCC 這樣的設(shè)計(jì)使得任何一種語言只要通過合適的語法解析器產(chǎn)生符合格式的解析樹,就可以產(chǎn)生 GCC 后端程序所支持的所有器件上的可執(zhí)行指令集。同樣的,任何一種器件只要將樹結(jié)構(gòu)翻譯成匯編,就可以使用 GCC 前端所支持的所有語言。

要承認(rèn)的是,以上描述是理論化的,便于理解,實(shí)際操作并沒有想象的那么簡單。事實(shí)上前端和后端都不是孤立的。幸運(yùn)的是 AVR 的確得到了 GCC 的支持,它也是 GCC支持的唯一一種 8位處理器。不僅如此,我們還可以在 WINDOWS 平臺上安裝程序包 WINAVR 來使用 GCC 的 AVR C/C++編譯程序。

WINAVR 是一組開放源代碼的程序集,用于 ATMEL  公司 AVR 系列單片機(jī)的開發(fā),它主要包含:
1. GNU  程序包 Binutils  
GNU Binutils  非常龐大,WINAVR 僅包含與 AVR 相關(guān)的部分,有 AVR 匯編器、連接器以及與機(jī)器指令相關(guān)的一些工具
2. GNU GCC  的 C  和 C++編譯器。
3. AVR-LIBC
AVR-LIBC 是 AVR 單片機(jī) C 運(yùn)行時庫,   它是為應(yīng)用程序提供標(biāo)準(zhǔn) C 函數(shù)的連接時
定位庫。
     另外 WINAVR  還包含軟件調(diào)試器、 器件編程軟件、 文件格式轉(zhuǎn)換工具等多個有用工具,這里不一一列出,請參考 WINAVR 說明文檔。WINAVR 項(xiàng)目的
0.png

這是一個使接在 PB0 口的 LED 發(fā)光管閃爍的程序。有了源程序文件 demo1.c,我們就可以編譯它了。通過點(diǎn)擊菜單開始->運(yùn)行  在彈出的對話框中輸入  “ command ” ,來打開控制臺窗口,并在命令行輸入:

avr-gcc  –mmcu=at90s2313  –c  demo1.c     

如圖 1-1 所示。

  必需告訴編譯器  程序的 MCU 類型,這是我們通過命令行選項(xiàng)-mmcu 來指定的,我們指定的器件為 at90s2313。-c  選項(xiàng)告訴編譯器編譯完成后不連接。
0.png

由于這里不能上傳 大家可以圖書館借閱此書或者從百度獲取

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報(bào)

ID:259979 發(fā)表于 2018-3-9 22:45 來自手機(jī) | 顯示全部樓層
謝謝分享。
回復(fù)

使用道具 舉報(bào)

ID:91521 發(fā)表于 2018-6-15 08:45 | 顯示全部樓層
很好的資料,謝謝分享!
回復(fù)

使用道具 舉報(bào)

ID:436702 發(fā)表于 2018-12-18 10:13 | 顯示全部樓層
好書,謝謝分享!
回復(fù)

使用道具 舉報(bào)

ID:120111 發(fā)表于 2019-4-26 05:36 來自手機(jī) | 顯示全部樓層
好的資料,謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:156302 發(fā)表于 2019-6-11 15:37 | 顯示全部樓層
謝謝分享。正需要
回復(fù)

使用道具 舉報(bào)

ID:373720 發(fā)表于 2019-6-14 17:35 | 顯示全部樓層
謝謝分享。正需要
回復(fù)

使用道具 舉報(bào)

ID:645551 發(fā)表于 2019-11-20 09:21 | 顯示全部樓層
謝謝分享,。
回復(fù)

使用道具 舉報(bào)

ID:486426 發(fā)表于 2019-11-20 16:44 | 顯示全部樓層

很好的資料,謝謝分享!
回復(fù)

使用道具 舉報(bào)

ID:517951 發(fā)表于 2019-12-14 15:02 | 顯示全部樓層

很好的資料,謝謝分享!
回復(fù)

使用道具 舉報(bào)

ID:394041 發(fā)表于 2020-3-25 17:03 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日日日日操 | 国产精品视频一区二区三区四蜜臂 | 国产一区在线看 | 国内精品视频免费观看 | 日韩综合在线播放 | 日韩中文字幕一区二区 | 国产色 | 国产精品一区三区 | 欧美一区二区在线观看视频 | 在线色网址 | 欧美区日韩区 | 国产一区在线免费观看 | 国产精品久久久久久婷婷天堂 | 又黄又爽的网站 | 亚洲精品免费视频 | 中文字幕国产精品 | 亚洲高清在线视频 | 午夜精品一区 | www.成人免费视频 | 免费久久99精品国产婷婷六月 | 欧美国产日韩在线观看 | 国产精品久久国产精品 | 国产亚洲网站 | 亚洲免费在线视频 | 在线观看a视频 | 日韩1区| 亚洲精品91| 欧美国产精品 | 国产精品视频播放 | 精品久久久久久亚洲综合网 | 一区二区精品 | 久久人人网 | av黄色在线| 国产麻豆乱码精品一区二区三区 | 国产免费拔擦拔擦8x高清 | 精品欧美一区二区三区久久久 | 先锋av资源网 | 99亚洲精品视频 | 精品国产精品国产偷麻豆 | 亚洲精品久久久久久久久久久久久 | 亚洲在线 |