pic單片機實用教程(提高篇)以介紹PIC16F87X型號單片機為主,并適當兼顧PIC全系列,共分9章,內容包括:存儲器;I/O端口的復位功能;定時器/計數器TMR1;定時器TMR2;輸入捕捉/輸出比較/脈寬調制CCP;模/數轉換器ADC;通用同步/異步收發器USART;主控同步串行端口MSSP:SPI模式和I2C模式。突出特點:通俗易懂、可讀性強、系統全面、學練結合、學用并重、實例豐富、習題齊全。<br>本書作為Microchip公司大學計劃選擇用書,可廣泛適用于初步具備電子技術基礎和計算機知識基礎的學生、教師、單片機愛好者、電子制作愛好者、電器維修人員、電子產品開發設計者、工程技術人員閱讀。本教程全書共分2篇,即基礎篇和提高篇,分2冊出版,以適應不同課時和不同專業的需要,也為教師和讀者增加了一種可選方案。 第1章 EEPROM數據存儲器和FIASH程序存儲器1.1 背景知識1.1.1 通用型半導體存儲器的種類和特點1.1.2 PIC單片機內部的程序存儲器1.1.3 PIC單片機內部的EEPROM數據存儲器1.1.4 PIC16F87X內部EEPROM和FIASH操作方法1.2 與EEPROM相關的寄存器1.3 片內EEPROM數據存儲器結構和操作原理1.3.1 從EEPROM中讀取數據1.3.2 向EEPROM中燒寫數據1.4 與FLASH相關的寄存器1.5 片內FLASH程序存儲器結構和操作原理1.5.1 讀取FLASH程序存儲器1.5.2 燒寫FLASH程序存儲器1.6 寫操作的安全保障措施1.6.1 寫入校驗方法1.6.2 預防意外寫操作的保障措施1.7 EEPROM和FLASH應用舉例1.7.1 EEPROM的應用1.7.2 FIASH的應用思考題與練習題第2章 輸入/輸出端口的復合功能2.1 RA端口2.1.1 與RA端口相關的寄存器2.1.2 電路結構和工作原理2.1.3 編程方法2.2 RB端口2.2.1 與RB端口相關的寄存器2.2.2 電路結構和工作原理2.2.3 編程方法2.3 RC端口2.3.1 與RC端口相關的寄存器2.3.2 電路結構和工作原理2.3.3 編程方法2.4 RD端口2.4.1 與RD端口相關的寄存器2.4.2 電路結構和工作原理2.4.3 編程方法2.5 RE端口2.5.1 與RE端口相關的寄存器2.5.2 電路結構和工作原理2.5.3 編程方法2.6 PSP并行從動端口2.6.1 與PSP端口相關的寄存器2.6.2 電路結構和工作原理2.7 應用舉例思考題與練習題第3章 定時器/計數器TMR13.1 定時器/計數器TMR1模塊的特性3.2 定時器/計數器TMR1模塊相關的寄存器3.3 定時器/計數器TMR1模塊的電路結構3.4 定時器/計數器TMR1模塊的工作原理3.4.1 禁止TMR1工作3.4.2 定時器工作方式3.4.3 計數器工作方式3.4.4 TMR1寄存器的賦值與復位3.5 定時器/計數器TMR1模塊的應用舉例思考題與練習題第4章 定時器TMR24.1 定時器TMR2模塊的特性4.2 定時器TMR2模塊相關的寄存器4.3 定時器TMR2模塊的電路結構4.4 定時器TMR2模塊的工作原理4.4.1 禁止TMR2工作4.4.2 定時器工作方式4.4.3 寄存器TMR2和PR2以及分頻器的復位4.4.4 TMR2模塊的初始化編程4.5 定時器TMR2模塊的應用舉例思考題與練習題第5章 輸入捕捉/輸出比較/脈寬調制CCP5.1 輸入捕捉工作模式5.1.1 輸入捕捉摸式相關的寄存器5.1.2 輸入捕捉模式的電路結構5.1.3 輸入捕捉摸式的工作原理5.1.4 輸入捕捉摸式的應用舉例5.2 輸出比較工作模式5.2.1 輸出比較模式相關的寄存器5.2.2 輸出比較模式的電路結構5.2.3 輸出比較模式的工作原理5.2.4 輸出比較模式的應用舉例5.3 脈寬調制輸出工作模式5.3.1 脈寬調制模式相關的寄存器5.3.2 脈寬調制模式的電路結構5.3.3 脈寬調制模式的工作原理5.3.4 脈定調制模式的應用舉例5.4 兩個CCP模塊之間相互關系思考題與練習題第6章 模/數轉換器ADC6.1 背景知識6.1.1 ADC種類與特點6.1.2 ADC器件的工作原理6.2 PIC16F87X片內ADC模塊6.2.1 ADC模塊相關的寄存器6.2.2 ADC模塊結構和操作原理6.2.3 ADC模塊操作時間要求6.2.4 特殊情況下的A/D轉換6.2.5 ADC模塊的轉換精度和分辨率6.2.6 ADC模塊的內部動作流程和傳遞函數6.2.7 ADC模塊的操作編程6.3 PIC16F87X片內ADC模塊的應用舉例思考題與練習題第7章 通用同步/異步收發器USART7.1 串行通信的基本概念7.1.1 串行通信的兩種基本方式7.1.2 串行通信中數據傳送方向7.1.3 串行通信中的控制方式7.1.4 串行通信中的碼型、編碼方式和幀結構7.1.5 串行通信中的檢錯和糾錯方式7.1.6 串行通信組網方式7.1.7 串行通信接口電路和參數7.1.8 串行通信的傳輸速率7.2 PIC16F87X片內通用同步/異步收發器USART模塊7.2.1 與USART模塊相關的寄存器7.2.2 USART波特率發生器BRG7.2.3 USART模塊的異步工作方式7.2.4 USART模塊的同步主控工作方式7.2.5 USART模塊的同步從動工作方式7.3 通用同步/異步收發器USART的應用舉例思考題與練習題第8章 主控同步串行端口MSSP——SPI模式8.1 SPI接口的背景知識8.1.1 SPI接口信號描述8.1.2 基于SPI的系統構成方式8.1.3 SPI接口工作原理8.1.4 兼容的MicroWire接口8.2 PIC16F87X的SPI接口8.2.1 SPI接口相關的寄存器8.2.2 SPI接口的結構和操作原理8.2.3 SPI接口的主控方式8.2.4 SPI接口的從動方式8.3 SPI接口的應用舉例思考題與練習題第9章 主控同步串行端口MSSP——I(平方)C模式9.1 I(平方)C總線的背景知識9.1.1 名詞術語9.1.2 I(平方)C總線的技術特點9.1.3 I(平方)C總線的基本工作原理9.1.4 I(平方)C總線信號時序分析9.1.5 信號傳送格式9.1.6 尋址約定9.1.7 技術參數9.1.8 I(平方)C器件與I(平方)C總線的接線方式9.1.9 相兼容的SMBus總線9.2 與I(平方)C總線相關的寄存器9.3 典型信號時序的產生方法9.3.1 波特率發生器9.3.2 啟動信號9.3.3 重啟動信號9.3.4 應答信號9.3.5 停止信號9.4 被控器通信方式9.4.1 硬件結構9.4.2 被主控器尋址9.4.3 被控器接收——被控接收器9.4.4 被控器發送——被控發送器9.4.5 廣播式尋址9.5 主控器通信方式9.5.1 硬件結構9.5.2 主控器發送——主控發送器9.5.3 主控器接收——主控接收器9.6 多主通信方式下的總線沖突和總線仲裁9.6.1 發送和應答過程中的總線沖突9.6.2 啟動過程中的總線沖突9.6.3 重啟動過程中的總線沖突9.6.4 停止過程中的總線沖突9.7 I(平方)C總線的應用舉例思考題與練習題附錄A 包含文件P16F877.INC附錄B 新版宏匯編器MPASM偽指令總表參考文獻
上傳時間: 2013-12-14
上傳用戶:xiaoyuer
pic單片機實用教程以介紹PIC16F877型號單片機為主,并適當兼顧PIC全系列,共分10章,內容包括:基本概念;PIC16F87X硬件概況;指令系統;匯編程序設計;集成開發環境;在線調試工具;I/O端口;定時器;中斷;安全措施和降耗設計。突出特點:通俗易懂、可讀性強、系統全面、學練結合、學用并重、實例豐富、習題齊全。本教程全書共分2篇,即基礎篇和提高篇,分2冊出版,以適應不同課時和不同專業的需要,也為教師和讀者增加了一種可選方案。pic單片機實用教程目錄第1章 單片機的基本概念第2章 PIC16F87X硬件系統概況第3章 指令系統第4章 PIC匯編語言程序設計基礎第5章 MPLAB集成開發環境軟件包第6章 MPLAB-ICD在線調試工具套件及其應用第7章 輸入/輸出端口的基本功能第8章 定時器/計數器TMR0第9章 中斷系統第10章 安全生產、可靠運行措施和降耗設計附錄
上傳時間: 2013-10-12
上傳用戶:lyson
九.輸入/輸出保護為了支持多任務,80386不僅要有效地實現任務隔離,而且還要有效地控制各任務的輸入/輸出,避免輸入/輸出沖突。本文將介紹輸入輸出保護。 這里下載本文源代碼。 <一>輸入/輸出保護80386采用I/O特權級IPOL和I/O許可位圖的方法來控制輸入/輸出,實現輸入/輸出保護。 1.I/O敏感指令輸入輸出特權級(I/O Privilege Level)規定了可以執行所有與I/O相關的指令和訪問I/O空間中所有地址的最外層特權級。IOPL的值在如下圖所示的標志寄存器中。 標 志寄存器 BIT31—BIT18 BIT17 BIT16 BIT15 BIT14 BIT13—BIT12 BIT11 BIT10 BIT9 BIT8 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 00000000000000 VM RF 0 NT IOPL OF DF IF TF SF ZF 0 AF 0 PF 1 CF I/O許可位圖規定了I/O空間中的哪些地址可以由在任何特權級執行的程序所訪問。I/O許可位圖在任務狀態段TSS中。 I/O敏感指令 指令 功能 保護方式下的執行條件 CLI 清除EFLAGS中的IF位 CPL<=IOPL STI 設置EFLAGS中的IF位 CPL<=IOPL IN 從I/O地址讀出數據 CPL<=IOPL或I/O位圖許可 INS 從I/O地址讀出字符串 CPL<=IOPL或I/O位圖許可 OUT 向I/O地址寫數據 CPL<=IOPL或I/O位圖許可 OUTS 向I/O地址寫字符串 CPL<=IOPL或I/O位圖許可 上表所列指令稱為I/O敏感指令,由于這些指令與I/O有關,并且只有在滿足所列條件時才可以執行,所以把它們稱為I/O敏感指令。從表中可見,當前特權級不在I/O特權級外層時,可以正常執行所列的全部I/O敏感指令;當特權級在I/O特權級外層時,執行CLI和STI指令將引起通用保護異常,而其它四條指令是否能夠被執行要根據訪問的I/O地址及I/O許可位圖情況而定(在下面論述),如果條件不滿足而執行,那么將引起出錯碼為0的通用保護異常。 由于每個任務使用各自的EFLAGS值和擁有自己的TSS,所以每個任務可以有不同的IOPL,并且可以定義不同的I/O許可位圖。注意,這些I/O敏感指令在實模式下總是可執行的。 2.I/O許可位圖如果只用IOPL限制I/O指令的執行是很不方便的,不能滿足實際要求需要。因為這樣做會使得在特權級3執行的應用程序要么可訪問所有I/O地址,要么不可訪問所有I/O地址。實際需要與此剛好相反,只允許任務甲的應用程序訪問部分I/O地址,只允許任務乙的應用程序訪問另一部分I/O地址,以避免任務甲和任務乙在訪問I/O地址時發生沖突,從而避免任務甲和任務乙使用使用獨享設備時發生沖突。 因此,在IOPL的基礎上又采用了I/O許可位圖。I/O許可位圖由二進制位串組成。位串中的每一位依次對應一個I/O地址,位串的第0位對應I/O地址0,位串的第n位對應I/O地址n。如果位串中的第位為0,那么對應的I/O地址m可以由在任何特權級執行的程序訪問;否則對應的I/O地址m只能由在IOPL特權級或更內層特權級執行的程序訪問。如果在I/O外層特權級執行的程序訪問位串中位值為1的位所對應的I/O地址,那么將引起通用保護異常。 I/O地址空間按字節進行編址。一條I/O指令最多可涉及四個I/O地址。在需要根據I/O位圖決定是否可訪問I/O地址的情況下,當一條I/O指令涉及多個I/O地址時,只有這多個I/O地址所對應的I/O許可位圖中的位都為0時,該I/O指令才能被正常執行,如果對應位中任一位為1,就會引起通用保護異常。 80386支持的I/O地址空間大小是64K,所以構成I/O許可位圖的二進制位串最大長度是64K個位,即位圖的有效部分最大為8K字節。一個任務實際需要使用的I/O許可位圖大小通常要遠小于這個數目。 當前任務使用的I/O許可位圖存儲在當前任務TSS中低端的64K字節內。I/O許可位圖總以字節為單位存儲,所以位串所含的位數總被認為是8的倍數。從前文中所述的TSS格式可見,TSS內偏移66H的字確定I/O許可位圖的開始偏移。由于I/O許可位圖最長可達8K字節,所以開始偏移應小于56K,但必須大于等于104,因為TSS中前104字節為TSS的固定格式,用于保存任務的狀態。 1.I/O訪問許可檢查細節保護模式下處理器在執行I/O指令時進行許可檢查的細節如下所示。 (1)若CPL<=IOPL,則直接轉步驟(8);(2)取得I/O位圖開始偏移;(3)計算I/O地址對應位所在字節在I/O許可位圖內的偏移;(4)計算位偏移以形成屏蔽碼值,即計算I/O地址對應位在字節中的第幾位;(5)把字節偏移加上位圖開始偏移,再加1,所得值與TSS界限比較,若越界,則產生出錯碼為0的通用保護故障;(6)若不越界,則從位圖中讀對應字節及下一個字節;(7)把讀出的兩個字節與屏蔽碼進行與運算,若結果不為0表示檢查未通過,則產生出錯碼為0的通用保護故障;(8)進行I/O訪問。設某一任務的TSS段如下: TSSSEG SEGMENT PARA USE16 TSS <> ;TSS低端固定格式部分 DB 8 DUP(0) ;對應I/O端口00H—3FH DB 10000000B ;對應I/O端口40H—47H DB 01100000B ;對用I/O端口48H—4FH DB 8182 DUP(0ffH) ;對應I/O端口50H—0FFFFH DB 0FFH ;位圖結束字節TSSLen = $TSSSEG ENDS 再假設IOPL=1,CPL=3。那么如下I/O指令有些能正常執行,有些會引起通用保護異常: in al,21h ;(1)正常執行 in al,47h ;(2)引起異常 out 20h,al ;(3)正常實行 out 4eh,al ;(4)引起異常 in al,20h ;(5)正常執行 out 20h,eax ;(6)正常執行 out 4ch,ax ;(7)引起異常 in ax,46h ;(8)引起異常 in eax,42h ;(9)正常執行 由上述I/O許可檢查的細節可見,不論是否必要,當進行許可位檢查時,80386總是從I/O許可位圖中讀取兩個字節。目的是為了盡快地執行I/O許可檢查。一方面,常常要讀取I/O許可位圖的兩個字節。例如,上面的第(8)條指令要對I/O位圖中的兩個位進行檢查,其低位是某個字節的最高位,高位是下一個字節的最低位。可見即使只要檢查兩個位,也可能需要讀取兩個字節。另一方面,最多檢查四個連續的位,即最多也只需讀取兩個字節。所以每次要讀取兩個字節。這也是在判別是否越界時再加1的原因。為此,為了避免在讀取I/O許可位圖的最高字節時產生越界,必須在I/O許可位圖的最后填加一個全1的字節,即0FFH。此全1的字節應填加在最后一個位圖字節之后,TSS界限范圍之前,即讓填加的全1字節在TSS界限之內。 I/O許可位圖開始偏移加8K所得的值與TSS界限值二者中較小的值決定I/O許可位圖的末端。當TSS的界限大于I/O許可位圖開始偏移加8K時,I/O許可位圖的有效部分就有8K字節,I/O許可檢查全部根據全部根據該位圖進行。當TSS的界限不大于I/O許可位圖開始偏移加8K時,I/O許可位圖有效部分就不到8K字節,于是對較小I/O地址訪問的許可檢查根據位圖進行,而對較大I/O地址訪問的許可檢查總被認為不可訪問而引起通用保護故障。因為這時會發生字節越界而引起通用保護異常,所以在這種情況下,可認為不足的I/O許可位圖的高端部分全為1。利用這個特點,可大大節約TSS中I/O許可位圖占用的存儲單元,也就大大減小了TSS段的長度。 <二>重要標志保護輸入輸出的保護與存儲在標志寄存器EFLAGS中的IOPL密切相關,顯然不能允許隨便地改變IOPL,否則就不能有效地實現輸入輸出保護。類似地,對EFLAGS中的IF位也必須加以保護,否則CLI和STI作為敏感指令對待是無意義的。此外,EFLAGS中的VM位決定著處理器是否按虛擬8086方式工作。 80386對EFLAGS中的這三個字段的處理比較特殊,只有在較高特權級執行的程序才能執行IRET、POPF、CLI和STI等指令改變它們。下表列出了不同特權級下對這三個字段的處理情況。 不同特權級對標志寄存器特殊字段的處理 特權級 VM標志字段 IOPL標志字段 IF標志字段 CPL=0 可變(初POPF指令外) 可變 可變 0 不變 不變 可變 CPL>IOPL 不變 不變 不變 從表中可見,只有在特權級0執行的程序才可以修改IOPL位及VM位;只能由相對于IOPL同級或更內層特權級執行的程序才可以修改IF位。與CLI和STI指令不同,在特權級不滿足上述條件的情況下,當執行POPF指令和IRET指令時,如果試圖修改這些字段中的任何一個字段,并不引起異常,但試圖要修改的字段也未被修改,也不給出任何特別的信息。此外,指令POPF總不能改變VM位,而PUSHF指令所壓入的標志中的VM位總為0。 <三>演示輸入輸出保護的實例(實例九)下面給出一個用于演示輸入輸出保護的實例。演示內容包括:I/O許可位圖的作用、I/O敏感指令引起的異常和特權指令引起的異常;使用段間調用指令CALL通過任務門調用任務,實現任務嵌套。 1.演示步驟實例演示的內容比較豐富,具體演示步驟如下:(1)在實模式下做必要準備后,切換到保護模式;(2)進入保護模式的臨時代碼段后,把演示任務的TSS段描述符裝入TR,并設置演示任務的堆棧;(3)進入演示代碼段,演示代碼段的特權級是0;(4)通過任務門調用測試任務1。測試任務1能夠順利進行;(5)通過任務門調用測試任務2。測試任務2演示由于違反I/O許可位圖規定而導致通用保護異常;(6)通過任務門調用測試任務3。測試任務3演示I/O敏感指令如何引起通用保護異常;(7)通過任務門調用測試任務4。測試任務4演示特權指令如何引起通用保護異常;(8)從演示代碼轉臨時代碼,準備返回實模式;(9)返回實模式,并作結束處理。
上傳時間: 2013-12-11
上傳用戶:nunnzhy
51 單片機C 語言學習雜記學習單片機實在不是件易事,一來要購買高價格的編程器,仿真器,二來要學習編程語言,還有眾多種類的單片機選擇真是件讓人頭痛的事。在眾多單片機中51 架構的芯片風行很久,學習資料也相對很多,是初學的較好的選擇之一。51 的編程語言常用的有二種,一種是匯編語言,一種是C 語言。匯編語言的機器代碼生成效率很高但可讀性卻并不強,復雜一點的程序就更是難讀懂,而C 語言在大多數情況下其機器代碼生成效率和匯編語言相當,但可讀性和可移植性卻遠遠超過匯編語言,而且C 語言還可以嵌入匯編來解決高時效性的代碼編寫問題。對于開發周期來說,中大型的軟件編寫用C 語言的開發周期通常要小于匯編語言很多。綜合以上C 語言的優點,我在學習時選擇了C 語言。以后的教程也只是我在學習過程中的一些學習筆記和隨筆,在這里加以整理和修改,希望和大家一起分享,一起交流,一起學習,一起進步。*注:可以肯定的說這個教程只是為初學或入門者準備的,筆者本人也只是菜鳥一只,第一課 建立您的第一個C 項目使用C 語言肯定要使用到C 編譯器,以便把寫好的C 程序編譯為機器碼,這樣單片機才能執行編寫好的程序。KEIL uVISION2 是眾多單片機應用開發軟件中優秀的軟件之一,它支持眾多不同公司的MCS51 架構的芯片,它集編輯,編譯,仿真等于一體,同時還支持,PLM,匯編和C 語言的程序設計,它的界面和常用的微軟VC++的界面相似,界面友好,易學易用,在調試程序,軟件仿真方面也有很強大的功能。因此很多開發51 應用的工程師或普通的單片機愛好者,都對它十分喜歡。以上簡單介紹了KEIL51 軟件,要使用KEIL51 軟件,必需先要安裝它。KEIL51 是一個商業的軟件,對于我們這些普通愛好者可以到KEIL 中國代理周立功公司的網站上下載一份能編譯2K 的DEMO 版軟件,基本可以滿足一般的個人學習和小型應用的開發。(安裝的方法和普通軟件相當這里就不做介紹了)安裝好后,您是不是迫不及待的想建立自己的第一個C 程序項目呢?下面就讓我們一起來建立一個小程序項目吧。或許您手中還沒有一塊實驗板,甚至沒有一塊單片機,不過沒有關系我們可以通過KEIL 軟件仿真看到程序運行的結果。首先當然是運行KEIL51 軟件。怎么打開?噢,天!那您要從頭學電腦了。呵呵,開個玩笑,這個問題我想讀者們也不會提的了:P。運行幾秒后,出現如圖1-1 的屏幕。
上傳時間: 2014-01-23
上傳用戶:yyyyyyyyyy
powerbuilder 教程 PowerBuilder(Power Builder,PB)是著名的數據庫應用開發工具生產廠商PowerSoft公司推出的產品(PowerSoft現已被數據庫廠商Sybase所收購),它完全按照客戶機/服務器體系結構研制設計,在客戶機/服務器結構中,它使用在客戶機中,作為數據庫應用程序的開發工具而存在。由于PowerBuilder采用了面向對象和可視化技術,提供可視化的應用開發環境,使得我們利用PowerBuilder,可以方便快捷地開發出利用后臺服務器中的數據和數據庫管理系統的數據庫應用程序。 在當前,網絡技術迅速發展,隨之發展的還有OLE,OCX,跨平臺等技術,而在PowerBuilder的最新版中提供了對這些技術的全面支持。在數據庫開發工具領域,PowerBuilder是其中非常優秀的一個,利用它我們可以開發出功能強大的數據庫應用程序。 PowerBuilder提供了對目前流行的大多數關系數據庫管理系統的支持,由于在PowerBuilder的應用程序中對數據庫訪問的部分一般采用國際化標準數據庫查詢語言SQL,使得用PowerBuilder開發的應用程序可以不做修改或者只做少量的修改就可以在不同的后臺數據庫管理系統上使用。也就是說用PowerBuilder開發的應用程序是獨立于服務器上的數據庫。
標簽: powerbuilder 教程下載
上傳時間: 2013-11-12
上傳用戶:lgd57115700
嵌入式LINUX 電子教程全集 嵌入式系統出現于60年代晚期,它最初被用于控制機電電話交換機,如今已被廣泛的應用于工業制造、過程控制、通訊、儀器、儀表、汽車、船舶、航空、航天、軍事裝備、消費類產品等眾多領域。計算機系統核心CPU,每年在全球范圍內的產量大概在二十億顆左右,其中超過80%應用于各類專用性很強的嵌入式系統。一般的說,凡是帶有微處理器的專用軟硬件系統都可以稱為嵌入式系統。 1. 嵌入式Linux系統就是利用Linux其自身的許多特點,把它應用到嵌入式系統里。 Linux做嵌入式的優勢,首先,Linux是開放源代碼的,不存在黑箱技術,遍布全球的眾多Linux愛好者又是Linux開發者的強大技術支持;其次,Linux的內核小、效率高,內核的更新速度很快,linux是可以定制的,其系統內核最小只有約134KB。第三,Linux是免費的OS,在價格上極具競爭力。 Linux還有著嵌入式操作系統所需要的很多特色,突出的就是Linux適應于多種CPU和多種硬件平臺,是一個跨平臺的系統。到目前為止,它可以支持二三十種CPU。而且性能穩定,裁剪性很好,開發和使用都很容易。很多CPU包括家電業芯片,都開始做Linux的平臺移植工作。移植的速度遠遠超過Java的開發環境。也就是說,如果今天用Linux環境開發產品,那么將來換CPU就不會遇到困擾。同時,Linux內核的結構在網絡方面是非常完整的,Linux對網絡中最常用的TCP/IP協議有最完備的支持。提供了包括十兆、百兆、千兆的以太網絡,以及無線網絡,Toker ring(令牌環網)、光纖甚至衛星的支持。所以Linux很適于做信息家電的開發。 還有使用Linux為的是來開發無線連接產品的開發者越來越多。Linux在快速增長的無線連接應用主場中有一個非常重要的優勢,就是有足夠快的開發速度。這是因為LInux有很多工具,并且Linux為眾多程序員所熟悉。因此,我們要在嵌入式系統中使用Linux操作系統。 Linux的大小適合嵌入式操作系統——Linux固有的模塊性,適應性和可配置性,使得這很容易做到。另外,Linux源碼的實用性和成千上萬的程序員熱切其望它用于無數的嵌入式應用軟件中,導致很多嵌入式Linux的出現,包括:Embedix,ETLinux,LEM,Linux Router Project,LOAF,uCLinux,muLinux,ThinLinux,FirePlug,Linux和PizzaBox Linux 相對,Linux的圖形界面還相對較弱,但近年Linux的圖形界面發展也很快,這也就不是問題。 2. 什么是嵌入式Linux 嵌入式linux 是將日益流行的Linux操作系統進行裁剪修改,使之能在嵌入式計算機系統上運行的一種操作系統。嵌入式linux既繼承了Interlnet上無限的開放源代碼資源,又具有嵌入式操作系統的特性。嵌入式Linux的特點是版權費免費;購買費用媒介成本技術支持全世界的自由軟件開發者提供支持網絡特性免費,而且性能優異,軟件移植容易,代碼開放,有許多應用軟件支持,應用產品開發周期短,新產品上市迅速,因為有許多公開的代碼可以參考和移植,實時性能RT_Linux Hardhat Linux 等嵌入式Linux支持,實時性能穩定性好安全性好。 3. 嵌入式Linux有巨大的市場前景和商業機會,出現了大量的專業公司和產品,如Montavista Lineo Emi等,有行業協會如Embedded Linux Consortum等,得到世界著名計算機公司和OEM板級廠商的支持,例如IBM Motorola Intel等。傳統的嵌入式系統廠商也采用了Linux策略,如Lynxworks Windriver QNX等,還有Internet上的大量嵌入式Linux愛好者的支持。嵌入式Linux支持幾乎所有的嵌入式CPU和被移植到幾乎所有的嵌入式OEM板。 4.嵌入式Linux的應用領域非常廣泛,主要的應用領域有信息家電、PDA 、機頂盒、Digital Telephone、Answering Machine、Screen Phone 、數據網絡、Ethernet Switches、Router、Bridge、Hub、Remote access servers、ATM、Frame relay 、遠程通信、醫療電子、交通運輸計算機外設、工業控制、航空航天領域等。 5.如果分別讓10位工程師給出嵌入式系統的定義,將得到10個不同的答案。一般來說,大部分的嵌入式系統執行特定的任務。我們假定最簡單的嵌入式系統包括輸入/輸出功能,以及一些控制邏輯,該系統基于它的配置執行某些類型的功能。按照這個標準,可以認為一個包含實現控制邏輯74123計數器以及一個狀態是一個嵌入式系統。也許可以補充說,該系統必須可通過存儲在固件中的軟件進行編程。這個新的嵌入式系統定義包括輸入/輸出(I/O),以及存儲在系統固件中的控制邏輯。一個帶有鼠標、鍵盤、網絡連接并運行圖形用戶界面(GUI,graphical user interface)多任務操作系統的桌面計算機顯然滿足這些要求,但我們能認為它是一個嵌入式系統嗎? 如果桌面計算機不是一個嵌入式系統,那么手持設備呢?它們有I/O功能,可以運行存儲在固件中的控制邏輯。有人說,桌面計算機和手持設備都有通用計算機設備,可以運行軟件來執行許多不同的任務,與之不同的是,嵌入式系統(例如,洗碗機控制器或飛行導航系統)主要是為特定任務而設計的。這種特定的功能限定使嵌入式設備有功能上的唯一性。如果是這樣,為什么一些嵌入式系統設計成具有附加的功能,如存儲在非易失性存儲器中的程序,并且具有運行可以完成原始設計范圍之外的任務的多任務操作系統的能力呢? 在過去,區分嵌入式系統和通用計算機比現在簡單的多。例如,可以很容易地區分出一個基于8051的T1分幅卡嵌入式系統和一臺Sun UNIX工作站。而現在,從功能方面很難區分一臺Sun工作站和一個包含PowerPC以及32MB內存和16MB閃存的機頂盒。這樣的機頂盒可以運行帶GUI的多任務操作系統,可現場升級,可以同時運行多個程序(如視頻控制器、數字錄像和Java虛擬機),還可以進行安全的因特網在線交易。很難判斷這種機頂盒是否是一個嵌入式系統。顯然,硬件性能的提升和價格的下降使通用計算機和嵌入式系統之間的界限變得很模糊,技術的進步使得我們很難定義什么是嵌入式。
上傳時間: 2014-12-30
上傳用戶:ljt101007
用MDK 生成bin 文件1用MDK 生成bin 文件Embest 徐良平在RV MDK 中,默認情況下生成*.hex 的可執行文件,但是當我們要生成*.bin 的可執行文件時怎么辦呢?答案是可以使用RVCT 的fromelf.exe 工具進行轉換。也就是說首先將源文件編譯鏈接成*.axf 的文件,然后使用fromelf.exe 工具將*.axf 格式的文件轉換成*.bin格式的文件。下面將具體說明這個操作步驟:1. 打開Axf_To_Bin 文件中的Axf_To_Bin.uv2 工程文件;2. 打開Options for Target ‘Axf_To_Bin’對話框,選擇User 標簽頁;3. 構選Run User Programs After Build/Rebuild 框中的Run #1 多選框,在后邊的文本框中輸入C:\Keil\ARM\BIN31\fromelf.exe --bin -o ./output/Axf_To_Bin.bin ./output/Axf_To_Bin.axf 命令行;4. 重新編譯文件,在./output/文件夾下生成了Axf_To_Bin.bin 文件。在上面的步驟中,有幾點值得注意的是:1. C:\Keil\ARM\BIN31\表示RV MDK 的安裝目錄;2. fromelf.exe 命令的具體語法格式如下:命令的格式為:fromelf [options] input_file命令選項如下:--help 顯示幫助信息--vsn 顯示版本信息--output file 輸出文件(默認的輸出為文本格式)--nodebug 在生成的映象中不包含調試信息--nolinkview 在生成的映象中不包含段的信息二進制輸出格式:--bin 生成Plain Binary 格式的文件--m32 生成Motorola 32 位十六進制格式的文件--i32 生成Intel 32 位十六進制格式的文件--vhx 面向字節的位十六進制格式的文件t--base addr 設置m32,i32 格式文件的基地址--text 顯示文本信息文本信息的標志-v 打印詳細信息-a 打印數據地址(針對帶調試信息的映象)-d 打印數據段的內容-e 打印表達式表print exception tables-f 打印消除虛函數的信息-g 打印調試表print debug tables-r 打印重定位信息-s 打印字符表-t 打印字符串表-y 打印動態段的內容-z 打印代碼和數據大小的信息
上傳時間: 2013-12-17
上傳用戶:AbuGe
快速學會電路設計,仿真與電路板設計。這個教程主要是教你學用proteus做PCB,而有關pcb打樣,可以找華強pcb。
上傳時間: 2013-11-08
上傳用戶:stella2015
SOPC技術基礎教程 [作者:侯建軍、郭勇編著;出版社:清華大學出版社;(注意:本書格式為pdz格式,需要用壓縮包中的超星軟件才可打開,建議打開前先殺一下毒,以防萬一!) 內容簡介:本書系統地介紹了基于FPGA的SOPC的軟硬件開發技術,以一個簡單的設計實例為主線介紹軟硬件的開發流程、開發工具的使用及開發的思想,使讀者對 SOPC技術有一個基本的了解。將NiosⅡ體系結構、Avalon總線規范、NiosⅡ處理器常用外部設備的更多底層細節提供給讀者,使讀者獲得進行高級開發的能力。另外還介紹了使用MATLAB和DSP Builder進行基于FPGA的DSP開發技術,并提供了一些典型的實驗。
上傳時間: 2013-11-23
上傳用戶:lps11188
附件有二個文當,都是dxp2004教程 ,第一部份DXP2004的相關快捷鍵,以及中英文對照的意思。第二部份細致的講解的如何使用DXP2004。 dxp2004教程第一部份: 目錄 1 快捷鍵 2 常用元件及封裝 7 創建自己的集成庫 12 板層介紹 14 過孔 15 生成BOM清單 16 頂層原理圖: 16 生成PCB 17 包地 18 電路板設計規則 18 PCB設計注意事項 20 畫板心得 22 DRC 規則英文對照 22 一、Error Reporting 中英文對照 22 A : Violations Associated with Buses 有關總線電氣錯誤的各類型(共 12 項) 22 B :Violations Associated Components 有關元件符號電氣錯誤(共 20 項) 22 C : violations associated with document 相關的文檔電氣錯誤(共 10 項) 23 D : violations associated with nets 有關網絡電氣錯誤(共 19 項) 23 E : Violations associated with others 有關原理圖的各種類型的錯誤 (3 項 ) 24 二、 Comparator 規則比較 24 A : Differences associated with components 原理圖和 PCB 上有關的不同 ( 共 16 項 ) 24 B : Differences associated with nets 原理圖和 PCB 上有關網絡不同(共 6 項) 25 C : Differences associated with parameters 原理圖和 PCB 上有關的參數不同(共 3 項) 25 Violations Associated withBuses欄 —總線電氣錯誤類型 25 Violations Associated with Components欄 ——元件電氣錯誤類型 26 Violations Associated with documents欄 —文檔電氣連接錯誤類型 27 Violations Associated with Nets欄 ——網絡電氣連接錯誤類型 27 Violations Associated with Parameters欄 ——參數錯誤類型 28 dxp2004教程第二部份 路設計自動化( Electronic Design Automation ) EDA 指的就是將電路設計中各種工作交由計算機來協助完成。如電路圖( Schematic )的繪制,印刷電路板( PCB )文件的制作執行電路仿真( Simulation )等設計工作。隨著電子工業的發展,大規模、超大規模集成電路的使用是電路板走線愈加精密和復雜。電子線路 CAD 軟件產生了, Protel 是突出的代表,它操作簡單、易學易用、功能強大。 1.1 Protel 的產生及發展 1985 年 誕生 dos 版 Protel 1991 年 Protel for Widows 1998 年 Protel98 這個 32 位產品是第一個包含 5 個核心模塊的 EDA 工具 1999 年 Protel99 既有原理圖的邏輯功能驗證的混合信號仿真,又有了 PCB 信號完整性 分析的板級仿真,構成從電路設計到真實板分析的完整體系。 2000 年 Protel99se 性能進一步提高,可以對設計過程有更大控制力。 2002 年 Protel DXP 集成了更多工具,使用方便,功能更強大。 1.2 Protel DXP 主要特點 1 、通過設計檔包的方式,將原理圖編輯、電路仿真、 PCB 設計及打印這些功能有機地結合在一起,提供了一個集成開發環境。 2 、提供了混合電路仿真功能,為設計實驗原理圖電路中某些功能模塊的正確與否提供了方便。 3 、提供了豐富的原理圖組件庫和 PCB 封裝庫,并且為設計新的器件提供了封裝向導程序,簡化了封裝設計過程。 4 、提供了層次原理圖設計方法,支持“自上向下”的設計思想,使大型電路設計的工作組開發方式成為可能。 5 、提供了強大的查錯功能。原理圖中的 ERC (電氣法則檢查)工具和 PCB 的 DRC (設計規則檢查)工具能幫助設計者更快地查出和改正錯誤。 6 、全面兼容 Protel 系列以前版本的設計文件,并提供了 OrCAD 格式文件的轉換功能。 7 、提供了全新的 FPGA 設計的功能,這好似以前的版本所沒有提供的功能。
上傳時間: 2015-01-01
上傳用戶:zhyfjj