新聞中心
作為一種基于ARM Cortex-A9架構(gòu)的嵌入式處理器,Zynq SoC集成了FPGA和處理器的優(yōu)點(diǎn),為工業(yè)控制、視覺(jué)處理、音視頻處理等應(yīng)用領(lǐng)域提供了強(qiáng)大的支持。在Zynq使用中,時(shí)鐘模塊是非常重要的一部分,它不僅可以用于系統(tǒng)穩(wěn)定運(yùn)行,還可以實(shí)現(xiàn)多個(gè)模塊之間的同步。但在Zynq Linux中實(shí)現(xiàn)時(shí)鐘模塊需要一些技巧和注意事項(xiàng)。本文將分享一些Zynq Linux時(shí)鐘實(shí)現(xiàn)的技巧。

成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),陸港企業(yè)網(wǎng)站建設(shè),陸港品牌網(wǎng)站建設(shè),網(wǎng)站定制,陸港網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,陸港網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
1. 時(shí)鐘源的選擇
在Zynq系統(tǒng)中,時(shí)鐘源可以來(lái)自外部晶振、PLL(Phase-Locked Loop)或PS(Processing System)內(nèi)部,應(yīng)根據(jù)實(shí)際需求來(lái)選擇時(shí)鐘源。對(duì)于高要求的應(yīng)用場(chǎng)合,可以選用外部高精度晶振,提高時(shí)鐘的穩(wěn)定性。而對(duì)于一些低資源限制的應(yīng)用,可以選擇靠PS內(nèi)部的時(shí)鐘來(lái)實(shí)現(xiàn)。由于PLL的運(yùn)算精度高,穩(wěn)定性好,常常被用于Zynq系統(tǒng)中,但當(dāng)選擇PLL時(shí),需要注意PLL參數(shù)設(shè)置和設(shè)計(jì),例如PLL分頻比和輸出頻率,過(guò)低的頻率可能會(huì)引起整個(gè)系統(tǒng)的性能問(wèn)題。
2. 時(shí)鐘的分配
在Zynq系統(tǒng)中,時(shí)鐘可以分配給PS或FPGA或其他外設(shè)。在Linux系統(tǒng)中,一些驅(qū)動(dòng)程序可能會(huì)要求時(shí)鐘的支持,如SD卡驅(qū)動(dòng),要求時(shí)鐘頻率正確;UART驅(qū)動(dòng)程序也需要配置正確的時(shí)鐘。因此,在選擇時(shí)鐘源和PLL參數(shù)時(shí)需要仔細(xì)考慮,根據(jù)實(shí)際需求合理地分配時(shí)鐘。
3. 時(shí)鐘的初始化
在Linux系統(tǒng)中,時(shí)鐘的初始化是通過(guò)函數(shù)調(diào)用來(lái)實(shí)現(xiàn)的,而實(shí)現(xiàn)正確的時(shí)鐘初始化對(duì)于整個(gè)系統(tǒng)的穩(wěn)定性非常重要。在Zynq系統(tǒng)中,時(shí)鐘初始化的順序至關(guān)重要,應(yīng)按照正確的順序進(jìn)行初始化,否則可能會(huì)導(dǎo)致系統(tǒng)崩潰,平臺(tái)無(wú)法啟動(dòng)。一些時(shí)鐘驅(qū)動(dòng)程序的初始化應(yīng)該被延遲到系統(tǒng)中其他設(shè)備已經(jīng)完成初始化后再進(jìn)行,以保證整個(gè)系統(tǒng)運(yùn)行安全可靠。
4. 時(shí)鐘節(jié)點(diǎn)的使用
在設(shè)備樹(shù)中,時(shí)鐘節(jié)點(diǎn)是一種包含有關(guān)特定時(shí)鐘的屬性的節(jié)點(diǎn),可以通過(guò)設(shè)備樹(shù)來(lái)初始化和配置時(shí)鐘。在應(yīng)用場(chǎng)景中,時(shí)鐘節(jié)點(diǎn)的使用可以更大程度地減少人工干預(yù),實(shí)現(xiàn)自動(dòng)化配置,提高了系統(tǒng)的可靠性。在使用時(shí)鐘節(jié)點(diǎn)時(shí)需要注意,應(yīng)根據(jù)相關(guān)文檔配置正確的屬性,如時(shí)鐘源的選擇、分配以及頻率等,以確保時(shí)鐘節(jié)點(diǎn)的使用的正確性和穩(wěn)定性。
在Zynq Linux系統(tǒng)中實(shí)現(xiàn)時(shí)鐘模塊需要正確的時(shí)鐘源選擇、分配,以及初始化和時(shí)鐘節(jié)點(diǎn)的使用等技巧。正確地實(shí)現(xiàn)時(shí)鐘模塊既可以提高系統(tǒng)的穩(wěn)定性,也可以提高系統(tǒng)性能,為Zynq Linux系統(tǒng)的應(yīng)用提供更加強(qiáng)大的支持。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗(yàn)豐富以策略為先導(dǎo)10多年以來(lái)專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站制作,設(shè)計(jì)師量身打造品牌風(fēng)格,熱線:028-86922220有人用過(guò)zynq7000 的axi dma實(shí)現(xiàn)PS與PL的高速通信嗎
在Zynq-7000上編程PL大致有3種方法:1.用FSBL,將bitstream集成到boot.bin中2.用U-BOOT命令3.在Linux下用xdevcfg驅(qū)動(dòng)。步驟:1.去掉bitstream的文件頭用FSBL燒寫(xiě)PLImages沒(méi)有什么好說(shuō)的,用XilinxSDK的CreateBootImage工具即可完成,不再贅述。用后乎輪簡(jiǎn)兩種方法需要把bitstream文件的文件頭用bootgen工具去掉。一個(gè)典型的bif文件如下所示:the_ROM_image:{.elf.bit.elf}bif文件可以用文本編輯器寫(xiě),也可以用XilinxSDK的CreateBootImage工具生成。然后在桐或命令行下用以下命令即可去掉bitstream文件的文件頭。bootgen-image.bif-splitbin-oiBOOT.BIN”-split”參數(shù)可以生成以下文件:.bit.bin2.在U-BOOT下燒寫(xiě)PLImage命令”fpgaload”和”fpgaloadb”都可以。區(qū)別是前一個(gè)命令接受去掉了文件頭的bitstream文件,后一個(gè)命令接受含有文件頭的bitstream文件。在OSL2023.2上,缺省編譯就可以完整支持寫(xiě)入PLImage的功能。但是在Petalinux2023.10下,盡管可以在U-BOOT下看到命令”fpga”,還需要在文件/subsystems/linux/configs/u-boot/platform-top.h中增加以下內(nèi)容后重新編譯才可以支持具體的功能。/*EnablethePLtobedownloaded*/#defineCONFIG_FPGA#defineCONFIG_FPGA_XILINX#defineCONFIG_FPGA_ZYNQPL#defineCONFIG_CMD_FPGA#defineCONFIG_FPGA_LOADFS在OSL2023.2U-BOOT中,具體的功能是在zynqpl.c的zynq_load()中實(shí)現(xiàn)的。3.在Linux下燒寫(xiě)PLImageOSLLinux2023.2.01中已經(jīng)含有xdevcfg驅(qū)動(dòng)了(之前就有,不過(guò)本文是在這個(gè)版本上驗(yàn)證的),直接用以下命令就可以完成PLImage寫(xiě)入。cat/.bit.bin>/dev/xdevcfgLinux驅(qū)動(dòng)的源代歲褲碼在xilinx_devcfg.c中。因?yàn)轵?qū)動(dòng)的編號(hào)是通過(guò)alloc_chrdev_region()動(dòng)態(tài)分配的,所以不需要手工用mknod命令手動(dòng)建立設(shè)備節(jié)點(diǎn)。在Linux驅(qū)動(dòng)中,每次往DevCfg中寫(xiě)入4096字節(jié),直到全部寫(xiě)完。4.在用戶程序中燒寫(xiě)PLImage目前沒(méi)有現(xiàn)成的源碼來(lái)完成這個(gè)功能,不過(guò)可以用mmap()把DevCfg的寄存器映射到用戶程序的虛地址中,然后參考一些現(xiàn)成的軟件代碼來(lái)完成這個(gè)功能:*FSBL中的pcap.c*U-BOOT中的zynqpl.c*Linux中的xilinx_devcfg.c*XilinxSDK中的例子。例子位于以下位置,隨SDK的版本會(huì)有變化。C:\Xilinx\SDK\2023.1\data\embeddedsw\XilinxProcessorIPLib\drivers\devcfg_v3_0\examples\index.html小結(jié):DevCfg外設(shè)內(nèi)部有自己的DMA,只需要簡(jiǎn)單的配置PLImage的基地址和長(zhǎng)度到DevCfg寄存器,就可以完成Zynq-7000PLImage的加載。Xilinx已經(jīng)提供了靈活的解決方案,如果開(kāi)發(fā)者要把這個(gè)功能集成在自己的應(yīng)用程序中,也有很多的代碼可以參考,并不是很困難的任務(wù)。zynq linux 時(shí)鐘的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于zynq linux 時(shí)鐘,Zynq Linux時(shí)鐘實(shí)現(xiàn)技巧分享,有人用過(guò)zynq7000 的axi dma實(shí)現(xiàn)PS與PL的高速通信嗎的信息別忘了在本站進(jìn)行查找喔。
成都創(chuàng)新互聯(lián)科技公司主營(yíng):網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、小程序制作、成都軟件開(kāi)發(fā)、網(wǎng)頁(yè)設(shè)計(jì)、微信開(kāi)發(fā)、成都小程序開(kāi)發(fā)、網(wǎng)站制作、網(wǎng)站開(kāi)發(fā)等業(yè)務(wù),是專業(yè)的成都做小程序公司、成都網(wǎng)站建設(shè)公司、成都做網(wǎng)站的公司。創(chuàng)新互聯(lián)公司集小程序制作創(chuàng)意,網(wǎng)站制作策劃,畫(huà)冊(cè)、網(wǎng)頁(yè)、VI設(shè)計(jì),網(wǎng)站、軟件、微信、小程序開(kāi)發(fā)于一體。
本文標(biāo)題:ZynqLinux時(shí)鐘實(shí)現(xiàn)技巧分享(zynqlinux時(shí)鐘)
文章地址:http://fisionsoft.com.cn/article/coggejh.html


咨詢
建站咨詢
