日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
學(xué)習(xí)如何在Linux上使用PIC32(pic32linux)

PIC32是一款非常流行的微控制器,其靈活性和功能性使得它在各種應(yīng)用中都有所應(yīng)用。然而,使用PIC32的過程并不一定是易于上手的,尤其是對于初學(xué)者和那些沒有太多相關(guān)經(jīng)驗的人來說。在本文中,我們將介紹如何在Linux上使用PIC32。

創(chuàng)新互聯(lián)自2013年起,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站設(shè)計、成都做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元靖州做網(wǎng)站,已為上家服務(wù),為靖州各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220

為什么使用Linux

在開始之前,讓我們先討論一下為什么要在Linux上使用PIC32。對于許多人來說,毫無疑問的是,他們已經(jīng)確立了使用Windows的習(xí)慣,但是Linux中有許多好處也值得我們思考。作為一個開源平臺,Linux平臺能夠使得我們更容易地查找代碼和學(xué)習(xí)。Linux臺上的一些工具更為穩(wěn)定而且可靠,這對于長時間的工作過程來說是非常重要的。Linux還有著很好的命令行工具和自動化環(huán)境,這些工具和環(huán)境可以幫助你將你的工作流程更加輕松簡便。

準(zhǔn)備工作

在開始本教程之前,您需要準(zhǔn)備以下工具和設(shè)備:

– 一款PIC32微控制器板

– 一款Linux平臺

– MPLAB X IDE

– XC32編譯器

安裝MPLAB X IDE和XC32編譯器

我們需要安裝MPLAB X IDE和XC32編譯器。而這一步驟是在Windows系統(tǒng)下給出的,因為在Linux上安裝類似的應(yīng)用程序也是很容易的。您需要找到MPLAB X IDE的官方網(wǎng)站,在該網(wǎng)站上可以找到適合您的操作系統(tǒng)的適當(dāng)版本MPLAB X IDE的下載鏈接。下載并運行該程序,按照安裝向?qū)У奶崾就瓿砂惭b即可。

安裝完成后,您需要安裝XC32編譯器。同樣訪問編譯器的官方網(wǎng)站,通過頁面提示下載和安裝即可。

設(shè)置MPLAB X IDE連接工具并連接PIC32

連接PIC32到電腦中。然后在MPLAB X IDE的頂部菜單欄中找到“工具”選項,選擇“選項”然后選擇“調(diào)試器”。然后選擇您正在使用的調(diào)試器。如果您使用的是PICKit 3調(diào)試器,那么在“調(diào)試器”選項卡中選擇該調(diào)試器。在“設(shè)置芯片”選項卡中,輸入您使用的PIC32微控制器的型號。

對于主板的配置,選擇“板”選項卡并選擇您使用的PIC32微控制器板。如果該選項卡上缺失您所使用的主板,則需要自定義一個新的板。填寫“Name”、“Vendor”和“Part Number”參數(shù),然后保存。接著打開“接口”選項卡,并選擇您所使用的通信接口,例如USB或串口。

編譯并調(diào)試您的PIC32應(yīng)用程序

使用MPLAB X IDE創(chuàng)建一個新工程。在工程創(chuàng)建過程中選擇您所使用的編譯器和您的PIC32微控制器型號。接著,您可以使用MPLAB X IDE的開發(fā)工具進行編程和調(diào)試。在開發(fā)過程中,您可以使用IDE中的調(diào)試工具,如斷點、單步執(zhí)行、監(jiān)控變量和調(diào)試輸出。

在本文中,我們討論了如何在Linux上使用PIC32。為了使用該板,您需要安裝MPLAB X IDE和XC32編譯器并將其連接。在完成所有配置之后,您就可以使用MPLAB X IDE進行PIC32的編程和調(diào)試。雖然這個過程可能有一點復(fù)雜,但這種方式可以提供更為穩(wěn)定的工作環(huán)境,并且?guī)砀嗟臋C會來使用開源工具和資源,提高您的開發(fā)水平和擴展您的技能。

成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗豐富以策略為先導(dǎo)10多年以來專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,響應(yīng)式網(wǎng)站制作,設(shè)計師量身打造品牌風(fēng)格,熱線:028-86922220

學(xué)習(xí)完單片機還需要學(xué)什么

真的要學(xué)精了的話那就銀此去買一片AT89S51,一片8255(5塊錢的棗枯拆機片就可以了反正學(xué)習(xí)用的),1片74**138,1個12M晶振,若干按鍵,幾個8字LED,幾個LED,若干電阻,1.5K就差不多,不像多買就買這一個阻值的?!瓍⒖家恍┈F(xiàn)成的電路,自己做個系統(tǒng),這鋒巖迅些差不多課本上的試驗全能做了。

單片機只是基礎(chǔ),學(xué)完單片機后,首先需要鞏固一下單片機,要做到熟能生巧,靈活應(yīng)用,備桐僅僅學(xué)完可能沒等你畢業(yè)就忘記了。另外,常用的8位單片機有51系列,AVR系列,PIC系列,這三類單片機現(xiàn)在用的最多,所以,你也衫彎可以繼續(xù)學(xué)習(xí)另外兩種單片機?;蛘呋驖L悶?zāi)憧梢郧庙懬度胧降拇箝T了,學(xué)Linux。學(xué)ARM、DSP,這樣你就想嵌入式工程師行列進軍了。這是一個十分龐大的學(xué)習(xí)計劃,需要花費更多時間和精力去專研。

我覺得你可以學(xué)習(xí)語言方面 你可以從C入手會比較快上手但對于單片機原理理猜辯解會稍微薄弱點隱兆拆灶棗,現(xiàn)在大程序基本用c語言寫,這方面的書也比較多。如果你想深入了解單片機的話 建議從匯編學(xué)起,基礎(chǔ)會扎實點現(xiàn)在能用匯編寫大程序的人越來越少了學(xué)單片機跟英語關(guān)系不大,但是要從事單片機職業(yè) 更好英語證書要拿到 現(xiàn)在很多公司都要求要四六級,因為很多說明書都是英文的

模 數(shù);基礎(chǔ)是外圍. 實際項目經(jīng)驗差得很.不信你試埋擾帆彎雹試,都行了學(xué)ARM9,真正方向,多線程零等待同時完成多個程序,未來真正要用的,你會發(fā)現(xiàn)單片機是過渡用李迅,熟練后學(xué)ARM9,但要做好心理準(zhǔn)備,學(xué)成不易,包括操作系統(tǒng)等.

你學(xué)的是51嗎?學(xué)完之后可以換一塊更高級的板子,stm32學(xué)習(xí)一下。之后可以多做一些小設(shè)計之類的。

Pc/xt能向cpu發(fā)出中斷請求信號的是

計算機通常有很多輸入輸出設(shè)備,當(dāng)這些設(shè)備需要服務(wù)時就向處理器提出要求,處理器在收到要求后就為這些設(shè)備提供服務(wù)。

當(dāng)設(shè)備向處理器提出服務(wù)要求時,處理器會在執(zhí)行完當(dāng)前一條指令后相應(yīng)設(shè)備要求,轉(zhuǎn)向并執(zhí)行相應(yīng)的服務(wù)程序(中斷服務(wù)程序ISR),在執(zhí)行完畢后,處理器回返回到執(zhí)行ISR之前的程序繼續(xù)執(zhí)行,這種處理方式即為中斷方法,設(shè)備提出的請求稱為中斷請求(IRQ)。

在微處理器中,由可編程控制器(Programmable Interrupt Controller,PIC)負責(zé)管理系統(tǒng)中的中斷請求。它通過連接到設(shè)備的中斷請求引腳來接受設(shè)備發(fā)車的中斷請求,當(dāng)設(shè)備需要服務(wù)時,就激活中斷請求引腳信號,PIC檢測到信號后即向CPU發(fā)出中斷信號。此時有三種情況:

1)PIC僅僅接收到1個中斷請求信號,而此時CPU沒有執(zhí)行中斷請求,那么PIC就直接向CPU發(fā)出中斷信號。

2)PIC同時收到多個中斷請求信號,而此時CPU沒有執(zhí)行中斷請求,那么PIC比較中斷請求信號中的優(yōu)先級,選擇優(yōu)先級更高的向CPU發(fā)出中斷信號。

3)PIC收到多個中斷請求信號,此時CPU正在執(zhí)行中斷服務(wù)程序,那么PIC選早逗出的更高優(yōu)先級的中斷請求信號然后再與正在執(zhí)行的中斷服務(wù)進行比較,基于比較結(jié)果來決定是否向CPU立刻發(fā)送中斷信號。

但PIC向CPU的INT引腳發(fā)送中斷信號時,CPU會立刻停下來并詢問PIC要執(zhí)行哪個中斷服務(wù)請求。PIC則通過向數(shù)據(jù)總線發(fā)送與中斷請求對應(yīng)的中斷號告知CPU執(zhí)行哪個中斷服務(wù)程序。CPU通過在數(shù)據(jù)總線讀取的中斷號,查詢中斷向量表,取得相應(yīng)的中斷服務(wù)程序的地址并開始執(zhí)行中斷服務(wù)程序,執(zhí)行完畢后,處理器就接著執(zhí)行被中斷的程序。

上面所述是描述的I/O設(shè)備的中斷處理過程,屬于硬件中斷的范疇,但是中斷并非只有硬件,也可用于軟件,通過使用int指令并使用其操作數(shù)指明中斷號,就可以讓CPU執(zhí)行相應(yīng)的ISR。

兩片8259A芯片共可處理15級中斷,從芯片的INT引腳連接到主芯片的IR2引腳上,即從芯片發(fā)出的中斷信號做為主芯片IRQ2輸入信號。主芯片的端口地址是0x20,從芯片的端口基地址是0xA0,IRQ9引腳的作用與PC/XT的IRQ2相同(PC/AT和PC/XT對應(yīng)8086系列的不同數(shù)據(jù)總線,PC/XT是早期的型號,數(shù)據(jù)總線為8位,而PC/AT的數(shù)據(jù)總線為16位),即PC/AT機利用硬件電路把使用IRQ2的設(shè)備的IRQ2引腳重新定性到了PIC的IRQ9引腳上,并利用BIOS中的軟件把IRQ9的中斷int 71重新定向到IRQ2的中斷 int 0x0A,這樣使得使用IRQ2的PC/XT的8位設(shè)配卡在PC/AT機下仍能正常使用,做到了向下兼容。

在總線控制器的控制下,芯片有兩種狀態(tài):編程狀態(tài)和操作狀態(tài)。編程狀態(tài)是CPU通過IN和OUT指令對芯片進行初始化編程的狀態(tài),完成了初始化編程后,芯片就進入操作狀態(tài)。此時芯片可隨時響應(yīng)外部設(shè)備提出的中斷請求(IRQ0-IRQ15)。通過中斷判優(yōu)選擇,芯片選擇更高優(yōu)先級的中斷請求作為服務(wù)對象,通過CPU的INT引腳向CPU發(fā)出中斷請求,CPU響應(yīng)后,芯片從數(shù)據(jù)總線D7-D0將編程設(shè)定的對應(yīng)中斷請求的中斷號送出,CPU接收到中斷號,查找中斷向量表,從而響應(yīng)中斷。

8086中斷子系統(tǒng)

8086的微型機系統(tǒng)中采用的是8259A可編程中斷控制器芯片,每個胡敗芯片可以管理8個中斷源,通過多級相連,可以管理多個中斷向量。PC/AT系列使用了兩片上述芯片,如下圖所示:

中斷向量表

中斷向量表有時也稱為中斷描述符表,它的作用就是通過中斷號來確定對應(yīng)中斷的ISR的物理地址。8086微機支持256個中斷,在實模式下,每個中斷向量由4個字節(jié)組成,這四個字節(jié)指明了中斷服務(wù)程序的段值和段內(nèi)偏移,因此整個中斷向量表的大小為256*4字節(jié)=1024字節(jié)。當(dāng)8086微機啟動時,ROM BIOS中的程序會在物理內(nèi)存的0x0000:0x0000處初始化并設(shè)置中斷向量表,各中斷的默認(rèn)ISR在BIOS中給出。中斷向量表中的向量是按照中斷號順序排列,因此給定中斷號N,對應(yīng)的物理地址則為:0x0000:N*4(字節(jié))。

BIOS的初始化操作設(shè)置了8259A芯片支持的16個硬件中陸做賣斷向量和BIOS提供的中斷號為0x10-0x1f的中斷調(diào)用功能向量等。對于實際沒有使用的向量則填入臨時的啞中斷服務(wù)程序的地址,在系統(tǒng)引導(dǎo)加載操作系統(tǒng)時會根據(jù)實際需要修改某些中斷向量的值。

對于Linux操作系統(tǒng),在加載內(nèi)核時需要用到BIOS提供的顯示和磁盤讀操作中斷功能,在內(nèi)核正常工作之前則會在setup.s程序中重新初始化8259A芯片并且在head.s程序中重新設(shè)置一張中斷向量表(即中斷描述符),完全拋棄了在BIOS中提供的中斷服務(wù)功能。

在intel CPU運行在32位保護模式下時,需要使用中斷描述符表IDT來管理中斷或者異常。IDT是中斷向量表的替代物,作用類似于中斷向量,只不過除了含有中斷服務(wù)程序ISR的地址外,還包括了有關(guān)特權(quán)級和描述符類別等信息。

Linux內(nèi)核的中斷處理

對linux內(nèi)核來說,中斷信號分為兩類:硬件中斷和軟件中斷(異常),中斷用0-255之間的數(shù)字標(biāo)示,其中int0-int31(0x00-0x1f)每個中斷的功能由intel公司固定設(shè)定或者保留,屬于軟件中斷(異常),這些中斷是在CPU執(zhí)行指令時探測到異常情況而引起的。通常還可分為故障和陷阱兩類,中斷int32-int255(0x20-0xff)可以由用戶自己設(shè)定。

中斷int32-int47對應(yīng)8259A中斷控制芯片發(fā)出的硬件中斷請求信號IRQ0-IRQ15。

程序編程發(fā)出的系統(tǒng)調(diào)用中斷設(shè)置為int128(0x80),系統(tǒng)調(diào)用中斷是用戶程序使用操作系統(tǒng)資源的唯一界面接口。

系統(tǒng)在初始化時,內(nèi)核首先在head.s中使用一個“啞中斷向量(中斷描述符)”對中斷描述符表中的所有的256個描述符進行默認(rèn)設(shè)置。這個啞中斷向量執(zhí)行一個默認(rèn)的“無中斷”處理程序。此時發(fā)生中斷而執(zhí)行此程序時會顯示信息:“未知中斷(Unknown interrupt)”。這樣使用啞中斷向量的目的是為了防止出現(xiàn)一般保護性錯誤。

而對于系統(tǒng)中需要使用的中斷則會在初始化過程中的init/main.c程序中重新設(shè)置這些中斷描述符(即中斷向量),讓他們指向?qū)?yīng)的實際處理程序。通常對int0-int31的初始化設(shè)置在traps.c程序中進行重新設(shè)置;系統(tǒng)調(diào)用中斷int128的重新設(shè)置在kernel/sched.c中進行。

Linux內(nèi)核設(shè)置IDT時使用了中斷門和陷阱門兩種描述符。區(qū)別是對標(biāo)志寄存器EFLAGS中的“中斷允許標(biāo)志”IF的影響,中斷門執(zhí)行的中斷會復(fù)位IF標(biāo)志,可以避免其他中斷干擾當(dāng)前中斷的處理,隨后的中斷結(jié)束指令iret會從堆棧上恢復(fù)IF標(biāo)志的原值,而陷阱門執(zhí)行的中斷不會影響IF標(biāo)志。

pic32 linux的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于pic32 linux,學(xué)習(xí)如何在Linux上使用PIC32,學(xué)習(xí)完單片機還需要學(xué)什么,Pc/xt能向cpu發(fā)出中斷請求信號的是的信息別忘了在本站進行查找喔。

成都網(wǎng)站建設(shè)選創(chuàng)新互聯(lián)(?:028-86922220),專業(yè)從事成都網(wǎng)站制作設(shè)計,高端小程序APP定制開發(fā),成都網(wǎng)絡(luò)營銷推廣等一站式服務(wù)。


本文標(biāo)題:學(xué)習(xí)如何在Linux上使用PIC32(pic32linux)
鏈接URL:http://www.dlmjj.cn/article/djoogsh.html