0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

深入探究Xilinx Multiboot實(shí)例

OpenFPGA ? 來(lái)源:OpenFPGA ? 作者:碎碎思 ? 2021-09-26 09:37 ? 次閱讀

原理

關(guān)于Multiboot的原理參考《Xilinx 7系列FPGA Multiboot介紹-遠(yuǎn)程更新》,基本原理都在此文寫的很清楚,本文主要從實(shí)例出發(fā)演示Multiboot。

補(bǔ)充

FPGA SPI閃存配置接口

7系列FPGA和具有x1數(shù)據(jù)寬度的SPI閃存之間的基本連接。讀取和地址指令通過(guò)主輸出-從輸入(MOSI)引腳從FPGA發(fā)送到SPI閃存。數(shù)據(jù)通過(guò)主輸入從輸出(MISO)引腳從SPI閃存返回。SCK是時(shí)鐘引腳,SS是低電平從選擇引腳。

參考:UG470

Vivado工具流程(Multiboot大致流程)

為Multiboot程序準(zhǔn)備bit流

本節(jié)概述了為多引導(dǎo)應(yīng)用程序創(chuàng)建和更新比特流所需的比特流屬性。對(duì)于未指定的位流選項(xiàng),請(qǐng)使用默認(rèn)設(shè)置。

表1概述了用于生成和更新具有每個(gè)屬性描述的位流的基本多引導(dǎo)位流屬性。有關(guān)這些屬性的詳細(xì)說(shuō)明,請(qǐng)參閱Vivado Design Suite用戶指南:編程和調(diào)試(UG908)。

7a9449d8-1111-11ec-8fb8-12bb97331649.png

具體含義如下:

7ade4cea-1111-11ec-8fb8-12bb97331649.png

啟用在配置嘗試失敗時(shí)加載默認(rèn)位流
使用下一個(gè)配置映像的啟動(dòng)地址設(shè)置熱啟動(dòng)啟動(dòng)啟動(dòng)地址(WBSTAR[28:0]位)寄存器
指定啟用FPGA位流文件壓縮
在Vivado中打開(kāi)黃金設(shè)計(jì)實(shí)現(xiàn)(Golden)的約束文件(.xdc)。將以下內(nèi)容復(fù)制粘貼到約束文件中,然后保存對(duì).xdc文件所做的更改:

set_propertyBITSTREAM.CONFIG.CONFIGFALLBACKENABLE[current_design]
set_propertyBITSTREAM.CONFIG.NEXT_CONFIG_ADDR0x0400000[current_design]
set_propertyBITSTREAM.GENERAL.COMPRESSTRUE[current_design]
set_propertyBITSTREAM.CONFIG.SPI_BUSWIDTH1[current_design]

上述不理解沒(méi)關(guān)系,后續(xù)實(shí)例會(huì)有使用教程。
接下來(lái),可以在更新設(shè)計(jì)(將要更新的文件)中打開(kāi)約束文件(.xdc),并將以下比特流屬性添加到約束文件中,然后保存:

set_propertyBITSTREAM.CONFIG.CONFIGFALLBACKENABLE[current_design]
set_propertyBITSTREAM.GENERAL.COMPRESSTRUE[current_design]
set_propertyBITSTREAM.CONFIG.SPI_BUSWIDTH1[current_design]

注:默認(rèn)情況下,SPI_BUS為x1,如果未使用默認(rèn)x1模式,請(qǐng)確保設(shè)置此屬性。

生成SPI閃存編程文件

具體查看《【Vivado那些事】Vivado兩種生成、固化燒錄文件》。

使用write_cfgmem Tcl命令創(chuàng)建閃存編程文件(.mcs)。

write_cfgmem獲取FPGA位流(.bit)并生成可用于編程SPI閃存的閃存文件(.mcs)。

例如,生成包含兩個(gè)FPGA位流(.bit文件)的閃存編程文件(.mcs)文件,如下所示:

write_cfgmem-formatmcs-interfaceSPIX1-size16-loadbit"up0/golden.bitup
0x0400000/update.bit"/filename.mcs

注:地址值0x0400000是參考設(shè)計(jì)中使用的示例。應(yīng)使用黃金圖像(更新圖像的起始地址)中設(shè)置的Addr A1值(見(jiàn)表1)。

請(qǐng)參閱Vivado Design Suite用戶指南:編程和調(diào)試(UG908或使用Vivado中的-help命令,以了解每個(gè)write_cfgmem命令選項(xiàng)的詳細(xì)說(shuō)明:

write_cfgmem -help

硬件驗(yàn)證

硬件驗(yàn)證其實(shí)很簡(jiǎn)單,我們分別建立兩個(gè)工程,兩個(gè)工程都是流水燈程序,分別從左到右和從右到左流水燈,這樣可以很清楚知道FPGA運(yùn)行了哪個(gè)程序。接下來(lái)破壞golden程序,按照上述制作MCS文件后運(yùn)行,看下運(yùn)行哪個(gè)程序。

建立工程

詳細(xì)的Verilog文件如下:

golden工程

moduleTop_MultiBoot_Module_A(
inputCLK,
outputreg[3:0]LED_Out
);


////////////////////////////////////////////

wireRESET;

assignRESET=1'b1;

////////////////////////////////////////////
//
//首先定義一個(gè)時(shí)間計(jì)數(shù)寄存器counter,每當(dāng)達(dá)到預(yù)定的100ms時(shí),
//計(jì)數(shù)寄存器就清零,否則的話寄存器就加1??//然后計(jì)算計(jì)數(shù)器計(jì)數(shù)的最大值。時(shí)鐘頻率為12MHZ??//也就是周期為1/12M ??3ns,要計(jì)數(shù)的最大值為T100MS= 100ms/83ns-1 = 120_4818??//

reg[31:0]counter;
parameterT100MS=25'd920_4818;

always@(posedgeCLK)

if(counter==T100MS)

counter<=25'd0;

else

counter<=counter+1'b1;
////////////////////////////////////////////
always@(posedgeCLKornegedgeRESET)
if(!RESET)
LED_Out<=4'b0001;//初值,最低位led[0]燈亮
elseif(counter==T100MS)
begin
if(LED_Out==4'b0000)//當(dāng)溢出最高位時(shí)
LED_Out<=4'b0001;//回到復(fù)位時(shí)的狀態(tài)
else
LED_Out<=LED_Out<<1;?????//循環(huán)左移一位?
?end

endmodule?//?Run_LED

update工程

moduleTop_MultiBoot_Module_B(
inputCLK,
outputreg[3:0]LED_Out
);


////////////////////////////////////////////


wireRESET;

assignRESET=1'b1;


////////////////////////////////////////////
//
//首先定義一個(gè)時(shí)間計(jì)數(shù)寄存器counter,每當(dāng)達(dá)到預(yù)定的100ms時(shí),
//計(jì)數(shù)寄存器就清零,否則的話寄存器就加1??//然后計(jì)算計(jì)數(shù)器計(jì)數(shù)的最大值。時(shí)鐘頻率為12MHZ??//也就是周期為1/12M ??3ns,要計(jì)數(shù)的最大值為T100MS= 100ms/83ns-1 = 120_4818??//

reg[31:0]counter;
parameterT100MS=25'd920_4818;

always@(posedgeCLK)

if(counter==T100MS)

counter<=25'd0;

else

counter<=counter+1'b1;
////////////////////////////////////////////
always@(posedgeCLKornegedgeRESET)
if(!RESET)
LED_Out<=4'b0001;//初值,最低位led[0]燈亮
elseif(counter==T100MS)
begin
if(LED_Out==4'b0000)//當(dāng)溢出最高位時(shí)
LED_Out<=4'b0001;//回到復(fù)位時(shí)的狀態(tài)
else
LED_Out<=LED_Out<<1;?????//循環(huán)左移一位?
?end

endmodule?//?Run_LED

兩個(gè)工程基本一樣,流水的操作是在約束里實(shí)現(xiàn)的。

golden工程約束

#CLOCKS
#SYSCLK
set_propertyIOSTANDARDLVCMOS18[get_portsCLK]
set_propertyPACKAGE_PIND27[get_portsCLK]

#GPIOLEDs
#set_propertyPACKAGE_PINAB8[get_portsLED_REVXX[7]]
#set_propertyIOSTANDARDLVCMOS15[get_portsLED_REVXX[7]]
#set_propertyPACKAGE_PINAA8[get_portsLED_REVXX[6]]
#set_propertyIOSTANDARDLVCMOS15[get_portsLED_REVXX[6]]
#set_propertyPACKAGE_PINAC9[get_portsLED_REVXX[5]]
#set_propertyIOSTANDARDLVCMOS15[get_portsLED_REVXX[5]]
#set_propertyPACKAGE_PINAB9[get_portsLED_REVXX[4]]
#set_propertyIOSTANDARDLVCMOS15[get_portsLED_REVXX[4]]

#set_propertyPACKAGE_PINAE26[get_portsLED_Out[3]]
#set_propertyIOSTANDARDLVCMOS33[get_portsLED_Out[3]]
set_propertyPACKAGE_PINT21[get_portsLED_Out[2]]
set_propertyIOSTANDARDLVCMOS33[get_portsLED_Out[2]]
set_propertyPACKAGE_PINT20[get_portsLED_Out[1]]
set_propertyIOSTANDARDLVCMOS33[get_portsLED_Out[1]]
set_propertyPACKAGE_PINR24[get_portsLED_Out[0]]
set_propertyIOSTANDARDLVCMOS33[get_portsLED_Out[0]]

#CFGBVSandSPImodeproperties

set_propertyCFGBVSVCCO[current_design]
set_propertyCONFIG_VOLTAGE2.5[current_design]
set_propertyCONFIG_MODESPIX1[current_design]

#Compressthebitstreamtofiton128MQSPIoftheK7
set_propertyBITSTREAM.GENERAL.COMPRESSTRUE[current_design]

#BITSTREAMPROPERTIESREQUIREDFORGOLDENIMAGE:
set_propertyBITSTREAM.CONFIG.SPI_BUSWIDTH1[current_design]
set_propertyBITSTREAM.CONFIG.CONFIGFALLBACKENABLE[current_design]
set_propertyBITSTREAM.CONFIG.NEXT_CONFIG_ADDR0x0400000[current_design]

#(IftheSPIflashisequaltoorgreaterthan256Mb,uncommenttheconstraintbelow):
#set_propertyBITSTREAM.CONFIG.SPI_32BIT_ADDRYES[current_design]

這里解釋一下,前面物理約束不重要,因?yàn)椤案F”,我的板子只有3顆LED,所以只進(jìn)行了三個(gè)物理約束。

CFGBVS and SPI mode properties及Compress the bitstream to fit on 128M QSPI of the K7、BITSTREAM PROPERTIES REQUIRED FOR GOLDEN IMAGE是重點(diǎn)約束的對(duì)象,具體解釋看下表一。

set_propertyBITSTREAM.CONFIG.SPI_BUSWIDTH1[current_design]
set_propertyBITSTREAM.CONFIG.CONFIGFALLBACKENABLE[current_design]
set_propertyBITSTREAM.CONFIG.NEXT_CONFIG_ADDR0x0400000[current_design]

這三個(gè)約束是和UPDATE工程有關(guān),一個(gè)是SPI的BUSWIDTH,一個(gè)是否開(kāi)啟CONFIGFALLBACK,最后一個(gè)是地址,這是非常重要的。

接下來(lái)是update工程的約束文件

#CLOCKS
#SYSCLK
set_propertyIOSTANDARDLVCMOS18[get_portsCLK]
set_propertyPACKAGE_PIND27[get_portsCLK]

#GPIOLEDs
#set_propertyPACKAGE_PINAB8[get_portsLED_REVXX[7]]
#set_propertyIOSTANDARDLVCMOS15[get_portsLED_REVXX[7]]
#set_propertyPACKAGE_PINAA8[get_portsLED_REVXX[6]]
#set_propertyIOSTANDARDLVCMOS15[get_portsLED_REVXX[6]]
#set_propertyPACKAGE_PINAC9[get_portsLED_REVXX[5]]
#set_propertyIOSTANDARDLVCMOS15[get_portsLED_REVXX[5]]
#set_propertyPACKAGE_PINAB9[get_portsLED_REVXX[4]]
#set_propertyIOSTANDARDLVCMOS15[get_portsLED_REVXX[4]]

#set_propertyPACKAGE_PINAE26[get_portsLED_Out[3]]
#set_propertyIOSTANDARDLVCMOS33[get_portsLED_Out[3]]
set_propertyPACKAGE_PINR24[get_portsLED_Out[2]]
set_propertyIOSTANDARDLVCMOS33[get_portsLED_Out[2]]
set_propertyPACKAGE_PINT20[get_portsLED_Out[1]]
set_propertyIOSTANDARDLVCMOS33[get_portsLED_Out[1]]
set_propertyPACKAGE_PINT21[get_portsLED_Out[0]]
set_propertyIOSTANDARDLVCMOS33[get_portsLED_Out[0]]

#CFGBVSandSPImodeproperties

set_propertyCFGBVSVCCO[current_design]
set_propertyCONFIG_VOLTAGE2.5[current_design]
set_propertyCONFIG_MODESPIX1[current_design]

#Compressthebitstream
set_propertyBITSTREAM.GENERAL.COMPRESSTRUE[current_design]

#BITSTREAMPROPERTIESREQUIREDFORGOLDENIMAGE:
set_propertyBITSTREAM.CONFIG.SPI_BUSWIDTH1[current_design]
set_propertyBITSTREAM.CONFIG.CONFIGFALLBACKENABLE[current_design]

#(IftheSPIflashisequaltoorgreaterthan256Mb,uncommenttheconstraintbelow):
#set_propertyBITSTREAM.CONFIG.SPI_32BIT_ADDRYES[current_design]

物理約束同樣不重要,重要的還是下面的和multiboot相關(guān)的約束,具體解釋和上面一樣。

生成Bit流并運(yùn)行

上述兩個(gè)工程分別生成Bit流并運(yùn)行,查看兩個(gè)流水燈是否是兩個(gè)不同方向的。

合成MCS文件并運(yùn)行

將兩個(gè)BIT流文件合成一個(gè)MCS文件,命令如下:

write_cfgmem-formatmcs-interfaceSPIX1-size16-loadbit"up0/golden.bitup
0x0400000/update.bit"/filename.mcs

兩個(gè)bit流文件位置;

filename: mcs文件名稱。

將上訴mcs文件下載到FPGA開(kāi)發(fā)板上,可以看見(jiàn)update工程文件運(yùn)行。

破壞Golden文件

回退到Golden可以通過(guò)不同的方式觸發(fā)。主要有以下幾種方式:

  1. ID Code錯(cuò)誤
  2. CRC錯(cuò)誤
  3. Watchdog超時(shí)
  4. BPI地址越界

有關(guān)更多信息,請(qǐng)參閱UG470中的重新配置和多引導(dǎo)章節(jié)。

本應(yīng)用說(shuō)明演示了由CRC錯(cuò)誤觸發(fā)的回退??梢允謩?dòng)損壞更新位流以導(dǎo)致CRC錯(cuò)誤。在RESET CRC命令和CRC命令之間有許多可以翻轉(zhuǎn)位的位置。下圖顯示了一個(gè)示例。

  • 1.使用十六進(jìn)制編輯器(HxD Hex Editor)中打開(kāi)更新(update)比特流(.bit),在比特流中間翻轉(zhuǎn)一些數(shù)據(jù)字節(jié),例如從00到11,如圖所示。
7b097884-1111-11ec-8fb8-12bb97331649.png

為了保證破壞徹底,可以多更改幾處。

  1. 保存損壞的更新位流,并使用此損壞的位流生成新的閃存編程文件(.mcs)。
write_cfgmem-formatmcs-interfaceSPIX1-size16-loadbit"up0/golden.bitup
0x0400000/update.bit"/filename.mcs
  • 3.重新下載文件

觀察是Golden還是update文件運(yùn)行,同理可以將上訴命令修改,將golden和update更換一下mcs文件位置,對(duì)比測(cè)試,上訴兩個(gè)情況本人都有親自測(cè)試過(guò),都是golden文件運(yùn)行,證明multiboot已經(jīng)生效。

編輯:jq
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1644

    文章

    21989

    瀏覽量

    615219
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23765

    瀏覽量

    671734
  • 閃存編程
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    6755

原文標(biāo)題:Xilinx Multiboot實(shí)例演示

文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 0人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于AD9613與Xilinx MPSoC平臺(tái)的高速AD/DA案例分享

    本文主要介紹基于Xilinx UltraScale+MPSoC XCZU7EV的高速AD采集與高速DA輸出案例
    的頭像 發(fā)表于 06-03 14:22 ?132次閱讀
    基于AD9613與<b class='flag-5'>Xilinx</b> MPSoC平臺(tái)的高速AD/DA案例分享

    華為云 Flexus X 實(shí)例性能實(shí)測(cè):速度與穩(wěn)定性的完美結(jié)合

    前言 在當(dāng)今快速發(fā)展的云計(jì)算領(lǐng)域,華為云 Flexus X 實(shí)例以其卓越的性能和穩(wěn)定性脫穎而出。通過(guò)全面的實(shí)測(cè),我們驗(yàn)證了其在處理能力、網(wǎng)絡(luò)延遲和安全性等方面的出色表現(xiàn)。本文將深入探討華為云
    的頭像 發(fā)表于 01-17 09:21 ?809次閱讀
    華為云 Flexus X <b class='flag-5'>實(shí)例</b>性能實(shí)測(cè):速度與穩(wěn)定性的完美結(jié)合

    云服務(wù)器 Flexus X 實(shí)例:部署 Gitea,擁有自己的 Git 倉(cāng)庫(kù),管理本地代碼

    、零售、金融、游戲等眾多領(lǐng)域的通用工作負(fù)載需求。本文旨在詳細(xì)闡述如何高效利用“云服務(wù)器 Flexus X 實(shí)例”,包括如何在其中從零開(kāi)始,通過(guò)安裝相關(guān)依賴、安裝 Docker、安裝 Gitea 等步驟,實(shí)現(xiàn)自己的 Git 倉(cāng)庫(kù),管理本地代碼。精彩內(nèi)容,不容錯(cuò)過(guò),快來(lái)一探究
    的頭像 發(fā)表于 01-07 16:59 ?380次閱讀
    云服務(wù)器 Flexus X <b class='flag-5'>實(shí)例</b>:部署 Gitea,擁有自己的 Git 倉(cāng)庫(kù),管理本地代碼

    深入解析華為云 X 實(shí)例保障云上業(yè)務(wù)安全的關(guān)鍵策略

    。華為云作為全球領(lǐng)先的云服務(wù)提供商之一,在安全性方面為用戶提供了全面的保障。其華為云 X 實(shí)例憑借強(qiáng)大的性能和安全性,成為眾多企業(yè)業(yè)務(wù)部署的重要選擇。 本文將詳細(xì)解析華為云 X 實(shí)例的多層次安全策略,深入探討其如何通
    的頭像 發(fā)表于 01-03 09:25 ?542次閱讀
    <b class='flag-5'>深入</b>解析華為云 X <b class='flag-5'>實(shí)例</b>保障云上業(yè)務(wù)安全的關(guān)鍵策略

    一文搞懂軟核的固化、啟動(dòng)和MultiBoot實(shí)現(xiàn)

    這也是《FPGA實(shí)現(xiàn)串口升級(jí)及MultiBoot》系列中的一篇文章,作為一個(gè)專題單獨(dú)出來(lái)說(shuō)明。 本篇文章分為三個(gè)主題:固化、啟動(dòng)和MultiBoot實(shí)現(xiàn)。 固化分為SPI和BPI FLASH兩種情況
    的頭像 發(fā)表于 12-07 11:23 ?1872次閱讀
    一文搞懂軟核的固化、啟動(dòng)和<b class='flag-5'>MultiBoot</b>實(shí)現(xiàn)

    如何申請(qǐng)xilinx IP核的license

    在使用FPGA的時(shí)候,有些IP核是需要申請(qǐng)后才能使用的,本文介紹如何申請(qǐng)xilinx IP核的license。
    的頭像 發(fā)表于 10-25 16:48 ?1258次閱讀
    如何申請(qǐng)<b class='flag-5'>xilinx</b> IP核的license

    Xilinx ZYNQ 7000系列SoC的功能特性

    本文介紹下Xilinx ZYNQ 7000系列SoC的功能特性、資源特性、封裝兼容性以及如何訂購(gòu)器件。
    的頭像 發(fā)表于 10-24 15:04 ?2555次閱讀
    <b class='flag-5'>Xilinx</b> ZYNQ 7000系列SoC的功能特性

    【AG32開(kāi)發(fā)板體驗(yàn)連載】AG32VF407啟動(dòng)與探究

    AG32VF407啟動(dòng)與探究 0. 申請(qǐng)理由 學(xué)術(shù)背景:山東大學(xué)集成電路學(xué)院碩士一年級(jí)在讀,具有扎實(shí)的理論基礎(chǔ)。 相關(guān)經(jīng)驗(yàn):參與過(guò)RISC-V V擴(kuò)展優(yōu)化軟件性能的研究等。 研究目的:為山東大學(xué)軟件
    發(fā)表于 10-05 17:08

    深入探究石英可編程 DXO/VCXO 振蕩器 SWPQ201 系列(10MHz 至 1500 MHz)

    深入探究石英可編程 DXO/VCXO 振蕩器 SWPQ201 系列(10MHz 至 1500 MHz)
    的頭像 發(fā)表于 08-10 10:05 ?815次閱讀
    <b class='flag-5'>深入</b><b class='flag-5'>探究</b>石英可編程 DXO/VCXO 振蕩器 SWPQ201 系列(10MHz 至 1500 MHz)

    Python在AI中的應(yīng)用實(shí)例

    Python在人工智能(AI)領(lǐng)域的應(yīng)用極為廣泛且深入,從基礎(chǔ)的數(shù)據(jù)處理、模型訓(xùn)練到高級(jí)的應(yīng)用部署,Python都扮演著至關(guān)重要的角色。以下將詳細(xì)探討Python在AI中的幾個(gè)關(guān)鍵應(yīng)用實(shí)例,包括機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、自然語(yǔ)言處理、計(jì)算機(jī)視覺(jué)以及強(qiáng)化學(xué)習(xí),每個(gè)部分將結(jié)合具體案
    的頭像 發(fā)表于 07-19 17:16 ?2509次閱讀

    深入探究 MEMS LVCMOS 振蕩器 SiT1602 系列 52 種標(biāo)準(zhǔn)頻率

    深入探究 MEMS LVCMOS 振蕩器 SiT1602 系列(52 種標(biāo)準(zhǔn)頻率)
    的頭像 發(fā)表于 07-19 16:16 ?599次閱讀

    基于PyTorch的卷積核實(shí)例應(yīng)用

    和應(yīng)用卷積操作變得簡(jiǎn)單而高效。本文將以PyTorch為基礎(chǔ),深入探討卷積核的實(shí)例應(yīng)用,包括其定義、實(shí)現(xiàn)方式、以及在實(shí)際場(chǎng)景中的應(yīng)用。
    的頭像 發(fā)表于 07-11 15:19 ?857次閱讀

    如何在ModelSim中添加Xilinx仿真庫(kù)

    今天給大俠帶來(lái)在FPGA設(shè)計(jì)應(yīng)用中如何在ModelSim中添加Xilinx仿真庫(kù),話不多說(shuō),上貨。 注意:ModelSim一定要安裝在不帶空格的目錄下,即不要安裝在“Program
    發(fā)表于 07-03 18:16

    神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)類型和應(yīng)用實(shí)例

    神經(jīng)網(wǎng)絡(luò)模型,作為深度學(xué)習(xí)領(lǐng)域的核心組成部分,近年來(lái)在圖像識(shí)別、自然語(yǔ)言處理、語(yǔ)音識(shí)別等多個(gè)領(lǐng)域取得了顯著進(jìn)展。本文旨在深入解讀神經(jīng)網(wǎng)絡(luò)的基本原理、結(jié)構(gòu)類型、訓(xùn)練過(guò)程以及應(yīng)用實(shí)例,為初學(xué)者提供一份詳盡的入門指南。
    的頭像 發(fā)表于 07-02 11:33 ?886次閱讀

    步進(jìn)電機(jī)的控制原理與應(yīng)用實(shí)例

    步進(jìn)電機(jī),作為一種特殊的電機(jī)類型,在現(xiàn)代工業(yè)控制系統(tǒng)中占據(jù)著重要的地位。其獨(dú)特的控制方式和廣泛的應(yīng)用領(lǐng)域,使得步進(jìn)電機(jī)成為自動(dòng)化控制領(lǐng)域中的關(guān)鍵組件。本文將從步進(jìn)電機(jī)的控制原理出發(fā),深入探討其工作原理、特點(diǎn)以及在不同領(lǐng)域中的應(yīng)用實(shí)例,以期為讀者提供全面、
    的頭像 發(fā)表于 06-25 14:34 ?1802次閱讀

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品