av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

學(xué)習(xí)如何在Linux上使用PIC32(pic32linux)

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

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

為什么使用Linux

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

準(zhǔn)備工作

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

– 一款PIC32微控制器板

– 一款Linux平臺(tái)

– MPLAB X IDE

– XC32編譯器

安裝MPLAB X IDE和XC32編譯器

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Pc/xt能向cpu發(fā)出中斷請(qǐng)求信號(hào)的是

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

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

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

1)PIC僅僅接收到1個(gè)中斷請(qǐng)求信號(hào),而此時(shí)CPU沒(méi)有執(zhí)行中斷請(qǐng)求,那么PIC就直接向CPU發(fā)出中斷信號(hào)。

2)PIC同時(shí)收到多個(gè)中斷請(qǐng)求信號(hào),而此時(shí)CPU沒(méi)有執(zhí)行中斷請(qǐng)求,那么PIC比較中斷請(qǐng)求信號(hào)中的優(yōu)先級(jí),選擇優(yōu)先級(jí)更高的向CPU發(fā)出中斷信號(hào)。

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

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

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

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

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

8086中斷子系統(tǒng)

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

中斷向量表

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

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

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

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

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

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

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

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

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

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

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

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

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


當(dāng)前文章:學(xué)習(xí)如何在Linux上使用PIC32(pic32linux)
標(biāo)題來(lái)源:http://uogjgqi.cn/article/djoogsh.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流