在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

鏈接器安排的【虛擬地址】是如何計(jì)算出來(lái)的?

li5236 ? 來(lái)源:道哥分享 ? 作者:道哥分享 ? 2022-03-29 14:36 ? 次閱讀

問(wèn)題描述

昨天下午,旁邊的同事在學(xué)習(xí)Linux系統(tǒng)中的虛擬地址映射(經(jīng)典書(shū)籍《程序員的自我修養(yǎng)-鏈接、裝載與庫(kù)》),在看到6.4章節(jié)的時(shí)候,對(duì)于一個(gè)可執(zhí)行的ELF文件中,虛擬地址的值百思不得其解!

例如下面這段C代碼:

poYBAGJCqPOABRdMAAG9iZYG0g4084.jpg

首先編譯出32位的可執(zhí)行程序(為了避開(kāi)一些與主題無(wú)關(guān)的干擾因素,采用了靜態(tài)鏈接):

gcc -m32 -static test.c -o test

編譯得到ELF格式的可執(zhí)行文件:test。

pYYBAGJCqPOAYsyLAAIPXflPCH8725.jpg

這個(gè)時(shí)候,使用readelf工具來(lái)查看這個(gè)可執(zhí)行文件中的段信息(segment):

poYBAGJCqPSAcBW_AAWFTSSCtcA102.jpg

上圖中的紅色矩形框中,第二個(gè)段的地址為什么是 0x080e_9f5c?

這篇文章主要根據(jù)書(shū)中的解釋?zhuān)瑏?lái)具體的分析這個(gè)值的來(lái)龍去脈。

ELF 文件格式

在Linux系統(tǒng)中,有4種類(lèi)型的文件都是ELF格式,包括:目標(biāo)文件,可執(zhí)行文件,動(dòng)態(tài)鏈接庫(kù)文件、核心轉(zhuǎn)儲(chǔ)文件。

如果想系統(tǒng)掌握Linux系統(tǒng)中的底層知識(shí),研究ELF的格式是避免不了的事情。

很久之前總結(jié)過(guò)這篇文章:《Linux系統(tǒng)中編譯、鏈接的基石-ELF文件:扒開(kāi)它的層層外衣,從字節(jié)碼的粒度來(lái)探索》,里面詳細(xì)總結(jié)了ELF文件的內(nèi)部結(jié)構(gòu)。

這里就不再贅述了,只要記住2點(diǎn):

1.從編譯器的角度看,ELF 文件是由很多的節(jié)(Section)組成的;

2.從程序加載器的角度看,ELF 文件是又很多的段(Segment)組成的;

其實(shí)它倆沒(méi)有本質(zhì)區(qū)別,只不過(guò)是鏈接器在鏈接階段,把不同目標(biāo)文件中相同的section組織在一起,形成一個(gè) segment。

對(duì)于剛才編譯出的test可執(zhí)行文件,其加載視圖如下:

pYYBAGJCqPSAanuEAAWm4WhSWq4394.jpg

可以看到該文件一共有5個(gè)段(segment),前2個(gè)需要LOAD到內(nèi)存的段,它們屬性分別是:讀、執(zhí)行(R E) 和 讀、寫(xiě)(RW),它們分別是代碼段和數(shù)據(jù)段。

綠色的箭頭反映出:代碼段中包含了很多的 section;黃色的箭頭反映出數(shù)據(jù)段也包含了很多的 section。

地址轉(zhuǎn)換和內(nèi)存映射

從地址轉(zhuǎn)換的角度來(lái)看:

Linux 系統(tǒng)中CPU中使用的都是虛擬地址,該虛擬地址在尋址的時(shí)候,需要經(jīng)過(guò)MMU地址轉(zhuǎn)換,得到實(shí)際的物理地址,然后才能在物理內(nèi)存中讀取指令,或者讀取、寫(xiě)入數(shù)據(jù)。

在現(xiàn)代操作系統(tǒng)中,MMU地址轉(zhuǎn)換單元基本上都是通過(guò)頁(yè)表來(lái)進(jìn)行地址轉(zhuǎn)換的:

poYBAGJCqPWAUW85AAGOfont-XQ386.jpg

當(dāng)然了,有些系統(tǒng)是兩級(jí)轉(zhuǎn)換(頁(yè)目錄、頁(yè)表),有些系統(tǒng)是三級(jí)或者四級(jí)頁(yè)表。

從內(nèi)存映射的角度來(lái)看:

操作系統(tǒng)在把一個(gè)可執(zhí)行程序加載到系統(tǒng)中時(shí),把ELF文件中每個(gè)段的內(nèi)容讀取到物理內(nèi)存中,然后把這個(gè)物理內(nèi)存映射到該段對(duì)應(yīng)的虛擬地址上(VirtAddr)。

假設(shè)一個(gè)可執(zhí)行程序中的代碼段長(zhǎng)度是1.2K字節(jié), 數(shù)據(jù)段長(zhǎng)度是1.3K字節(jié)。

操作系統(tǒng)在把它倆讀取到內(nèi)存中時(shí),需要 2 個(gè)物理內(nèi)存頁(yè)來(lái)分別存儲(chǔ)它們(每 1 個(gè)物理頁(yè)的長(zhǎng)度是4K):

pYYBAGJCqPWADIVyAAFK6tP5sC0814.jpg

雖然每一個(gè)物理內(nèi)存頁(yè)的大小是 4K,但是代碼段和數(shù)據(jù)段實(shí)際上只使用了每個(gè)頁(yè)面剛開(kāi)始的一段空間。

當(dāng)CPU中需要讀取物理內(nèi)存上代碼段中的指令時(shí),使用的虛擬地址是 0x0000_1000 ~ 0x0000_1000 + 1.2K這個(gè)區(qū)間的地址,MMU單元經(jīng)過(guò)頁(yè)表轉(zhuǎn)換之后,就會(huì)得到這個(gè)存放著代碼段的物理頁(yè)的物理地址。

數(shù)據(jù)段的尋址方式也是如此:當(dāng)CPU中需要讀寫(xiě)物理內(nèi)存上數(shù)據(jù)段中的數(shù)據(jù)時(shí),使用的虛擬地址是 0x0000_2000 ~ 0x0000_2000 + 1.3K這個(gè)區(qū)間的地址。

MMU單元經(jīng)過(guò)頁(yè)表轉(zhuǎn)換之后,就會(huì)得到存放著數(shù)據(jù)段的物理頁(yè)的物理地址。

可以看出在這樣的安排下,每一個(gè)段的虛擬地址,都是按照4K(0x1000)對(duì)齊的。

如果操作系統(tǒng)都是這樣簡(jiǎn)單映射的話,那么事情就簡(jiǎn)單多了。

如果按照這樣的安排,來(lái)分析一下文章開(kāi)頭的 test 可執(zhí)行程序中的虛擬地址安排:

1.代碼段安排的開(kāi)始虛擬地址是 0x0804_8000,這是 4K 對(duì)齊的;

2.代碼段的結(jié)束虛擬地址就應(yīng)該是 0x0804_8000 + 0xa0725 = 0x080e_8725;

3.那么數(shù)據(jù)段的開(kāi)始地址就可以安排在 0x080e_8725 之后的下一個(gè) 4K 對(duì)齊的邊界地址,即:0x080e_9000。

但是這樣的地址安排,嚴(yán)重浪費(fèi)了物理內(nèi)存空間!

1.2K 字節(jié)的代碼段加上1.3K字節(jié)的數(shù)據(jù)段,本來(lái)只需要1個(gè)物理頁(yè)就夠了(4KB),但是這里卻消耗掉2個(gè)物理頁(yè)(8KB)。

為了減少物理內(nèi)存的浪費(fèi),Linux操作系統(tǒng)就采用了一些巧妙的辦法來(lái)減少物理內(nèi)存的浪費(fèi),那就是: 把文件中接壤部分的代碼段和數(shù)據(jù)段,讀取到同一個(gè)物理內(nèi)存頁(yè)中,然后在虛擬地址空間中映射兩次,詳述如下。

Linux 中的內(nèi)存重復(fù)映射

先來(lái)看一下test文件的結(jié)構(gòu):

poYBAGJCqPWAN0wmAAAsafA3Ujc854.jpg

代碼段在文件中的開(kāi)始位置是:0x00000,長(zhǎng)度是 0xa0725。

數(shù)據(jù)段的開(kāi)始位置是:0xa0f5c,長(zhǎng)度是0x1024。

可以看到它倆之間有一個(gè)空白區(qū)間,長(zhǎng)度是: 0xa0f5c - 0xa0725 = 0x837(十進(jìn)制:2103字節(jié))。

由于操作系統(tǒng)在把test文件讀取到物理內(nèi)存的時(shí)候,從文件開(kāi)始代碼段的0x00000地址開(kāi)始讀取,按照4KB為一個(gè)單位存放到一個(gè)物理頁(yè)中。

1.文件中代碼段的 0x00000 ~ 0x00FFF 讀取到一個(gè)物理頁(yè)中;

2.文件中代碼段的 0x01000 ~ 0x01FFF 讀取到物理頁(yè)中;

3.下面的內(nèi)容都是如此分割、復(fù)制;

也就是說(shuō):相當(dāng)于把test文件從開(kāi)始位置,按照4KB為一個(gè)單位進(jìn)行"切割",然后復(fù)制到不同的物理內(nèi)存頁(yè)中,如下所示:

pYYBAGJCqPWASPGQAABtQ1QJflY467.jpg

注意:這些物理頁(yè)的地址很可能是不連續(xù)的。

這里有意思的是:代碼段與數(shù)據(jù)段接壤的這個(gè)4KB的空間,它的開(kāi)始地址是0xA0000,結(jié)束地址是0xA0FFF,被復(fù)制到物理內(nèi)存中最上面的橙色物理頁(yè)中。

再來(lái)看一下代碼段的虛擬地址:在執(zhí)行g(shù)cc指令的的時(shí)候,鏈接器把代碼段的虛擬地址安排在0x0804_8000處:

poYBAGJCqPWAVw1yAAC1XFf5kFU636.jpg

也就是說(shuō):當(dāng)CPU中(或者說(shuō)程序代碼中),使用0x0804_8000 ~ 0x0804_7FFF 這個(gè)區(qū)間的地址時(shí),經(jīng)過(guò)地址映射,就會(huì)找到物理內(nèi)存中淺綠色的物理頁(yè),而這個(gè)物理頁(yè)也對(duì)應(yīng)著test可執(zhí)行文件開(kāi)始的第一個(gè)4KB的空間。

而且,從虛擬地址的角度看,它的地址都是連續(xù)的,對(duì)應(yīng)著test文件中連續(xù)的內(nèi)容,這也是虛擬地址映射的本質(zhì)。

把代碼段的開(kāi)始位置安排在 0x0804_8000 地址,這是 Linux 操作系統(tǒng)確定的。

那么考慮一下:代碼段的最后一部分指令相應(yīng)的4K頁(yè)面,其對(duì)應(yīng)的開(kāi)始虛擬地址是多少呢?

上圖中已經(jīng)標(biāo)記出來(lái)了,就是虛擬地址中橙色部分:0x080e_8000,計(jì)算如下:

通過(guò)代碼段的開(kāi)始地址0x0804_8000,再加上代碼段在內(nèi)存中的長(zhǎng)度0xa0725,結(jié)果就是 0x080e_8725。

按照4K (0x1000)對(duì)齊之后,最后一個(gè)虛擬頁(yè)就應(yīng)該是0x080e_8000。

也就是說(shuō):虛擬地址中0x080e_8000 ~ 0x080e_8724 這個(gè)區(qū)間就對(duì)應(yīng)著test文件中代碼段的最后一部分指令(0x725個(gè)字節(jié))。

此外,上圖中最右側(cè):test文件結(jié)構(gòu)中的2個(gè)紅色地址:0xA0000, 0xA1000,是如何計(jì)算得到的?

代碼段的長(zhǎng)度是 0xA0725,按照4K為一個(gè)單位來(lái)進(jìn)行分割,也就是把0xA0725對(duì)0x1000進(jìn)行整除,就得到這個(gè)4KB的開(kāi)始地址0xA0000。

同理,下一個(gè)4KB的開(kāi)始地址就是0xA1000。

把文件中這部分4K的數(shù)據(jù)(包括:一部分代碼段內(nèi)容 + 0x837 字節(jié)空洞 + 一部分?jǐn)?shù)據(jù)段內(nèi)容),復(fù)制到上圖中物理內(nèi)存中最上面的橙色物理頁(yè)中。

又因?yàn)樘摂M地址空間中,0x080E_8000開(kāi)始的這個(gè)4KB空間映射到這個(gè)物理頁(yè)中,所以:在這個(gè)虛擬地址空間中,也有一個(gè)0x837字節(jié)的空洞,如下所示:

pYYBAGJCqPaAUBlkAAB2jLkJ8go953.jpg

空洞的下方,是代碼段的指令;空洞的上方,是數(shù)據(jù)段的數(shù)據(jù)。

現(xiàn)在,這個(gè)物理頁(yè)中即存放了代碼,又存放了數(shù)據(jù)。

那么CPU中在查找部分的代碼和數(shù)據(jù)的時(shí)候,必須都能夠找得到才行!

對(duì)于代碼段比較好理解:從這個(gè)物理頁(yè)開(kāi)始的前0x725個(gè)字節(jié)是有效的,從虛擬地址的角度看,就是從0x080e_8000開(kāi)始的前0x725個(gè)字節(jié)是有效的。

因此,對(duì)于這部分代碼的尋址,使用的虛擬地址處于0x080e_8000 ~ 0x080e_8724這個(gè)區(qū)間中。

那么數(shù)據(jù)段呢?

重點(diǎn)來(lái)了:Linux系統(tǒng)把虛擬地址空間 0x080e_9000 ~ 0x080e_9FFF 也映射到圖中物理內(nèi)存中最上面的橙色物理頁(yè)上!

如下所示:

poYBAGJCqPaAVdcEAADEQ8znZnA069.jpg

因?yàn)槲锢眄?yè)中,是從0x837個(gè)字節(jié)空洞的上面開(kāi)始,才是真正的數(shù)據(jù)段內(nèi)容,那么相應(yīng)的: 虛擬地址0x080e_9000 ~ 0x080e_9FFF空間中,0x837字節(jié)上面的內(nèi)容才是數(shù)據(jù)段內(nèi)容。

那么在虛擬地址空間中,這個(gè)數(shù)據(jù)段的開(kāi)始地址應(yīng)該是多少呢?

只要計(jì)算出0x837字節(jié)空洞的上方,距離這個(gè)4K頁(yè)面開(kāi)始地址的偏移量就可以了,然后再加上這個(gè)4K頁(yè)面的起始地址 0x080E_9000,就得到了數(shù)據(jù)段的開(kāi)始地址(虛擬地址)。

因?yàn)樘摂M地址、物理地址、test文件中,都是按照4K的單位進(jìn)行劃分的,因此這個(gè)偏移量就等于:test文件中數(shù)據(jù)段的開(kāi)始地址(0xA0F5C) 距離 這個(gè)頁(yè)面的開(kāi)始地址(0xA0000) 的偏移量。

0xA0F5C - 0xA0000 = 0xF5C 。

pYYBAGJCqPaAFjcDAAA-1y0EUrk624.jpg

即:從這個(gè)4K頁(yè)面的開(kāi)始地址,偏移量為0xF5C的地方,才是數(shù)據(jù)段內(nèi)容的開(kāi)始。

因此對(duì)于虛擬地址來(lái)說(shuō),從0x080e_9000地址開(kāi)始,偏移量為0xF5C之后的內(nèi)容才是數(shù)據(jù)段的內(nèi)容,這個(gè)地址值就是:0x080e_9000 + 0xF5C = 0x080e_9F5C,如下所示:

poYBAGJCqPaASJEZAACQYSwrSLA759.jpg

這個(gè)地址正是readelf工具讀所顯示的:數(shù)據(jù)段加載到虛擬地址空間中的開(kāi)始地址,如下所示:

pYYBAGJCqPeAU7rvAAFV78G8sjU166.jpg

至此,就解釋了文章開(kāi)頭提出的問(wèn)題!

再來(lái)看一下整個(gè)數(shù)據(jù)段的內(nèi)容:在內(nèi)存中數(shù)據(jù)段占據(jù)的空間是 0x01e48(readelf 工具讀取到的 MemSiz),那么數(shù)據(jù)段的結(jié)束地址就是(虛擬地址):

0x080e_9F5C + 0x01e48 = 0x080e_bda4

如下所示:

poYBAGJCqPeASZohAACqNeG56yo245.jpg

小結(jié)

Linux系統(tǒng)中的這個(gè)操作:對(duì)屬于不同段的內(nèi)容進(jìn)行重復(fù)映射,有點(diǎn)類(lèi)似于共享內(nèi)存的味道了。

只不過(guò)這里重復(fù)映射之后,每個(gè)段的虛擬地址還是需要修正為該段的合法地址。

經(jīng)過(guò)這樣的操作之后,在虛擬地址中每一個(gè)段的界限是涇渭分明的,但是映射到的物理內(nèi)存頁(yè),則有可能是同一個(gè)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7073

    瀏覽量

    89147
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11314

    瀏覽量

    209783
  • 虛擬
    +關(guān)注

    關(guān)注

    0

    文章

    187

    瀏覽量

    23668
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    使用430驅(qū)動(dòng)TMP006紅外傳感計(jì)算出來(lái)的Tobj一直是358~360之間波動(dòng),為什么?

    使用430驅(qū)動(dòng)TMP006紅外傳感,各寄存讀取數(shù)據(jù)正常,經(jīng)過(guò)方程式計(jì)算后Tdie正常在26.5度左右,Vobj數(shù)值8.18312447E-3 計(jì)算出來(lái)的Tobj一直是358~36
    發(fā)表于 01-02 07:13

    用INA233來(lái)監(jiān)控主芯片的幾個(gè)PORT的供電情況,這顆芯片I2C直接輸出電流值是怎么算出來(lái)的?

    沒(méi)看到相關(guān)的寄存設(shè)置,唯一能找到一處地方是校準(zhǔn)的地方會(huì)有一個(gè)計(jì)算公式和檢流電阻有關(guān),但是依舊不明白電流值是怎么算出來(lái)的 求各位大神幫忙看看
    發(fā)表于 12-03 06:00

    ads1115在采集距離傳感輸入的0.9v時(shí)誤差較大,怎么解決?

    ads1115在采集距離傳感輸入的0.9v時(shí)誤差較大,為0.03v,在0.6和1.2左右都是0.01v的誤差,請(qǐng)問(wèn)這是為什么;在誤差為0.03v時(shí)候,計(jì)算出來(lái)的電流和距離傳感的標(biāo)準(zhǔn)電流差了0.04ma,對(duì)應(yīng)實(shí)際距離差了十幾
    發(fā)表于 11-29 14:51

    ADS1299器件手冊(cè)里的這個(gè)衰減怎么計(jì)算出來(lái)的?

    我的計(jì)算過(guò)程:33uV x 10.3/(952+10.3) = 0.35uV ?而不是要求的3.5uV,請(qǐng)指教
    發(fā)表于 11-18 06:41

    TPA2013D1功率是如何計(jì)算出來(lái)的,和哪些因素有關(guān)?

    有關(guān),如何計(jì)算? 和輸入有關(guān)么,比如IN+ 接輸入P,IN-接地 和IN+接輸入P, IN-接輸入N輸出功率應(yīng)該相差4倍吧?? 請(qǐng)答疑,謝謝! 主要想知道功率是如何計(jì)算出來(lái)的。和哪些因素有關(guān)
    發(fā)表于 11-07 07:52

    使用TAS5756做一款低音炮,需要隨時(shí)調(diào)節(jié)低通濾波寬帶,請(qǐng)問(wèn)這些數(shù)據(jù)是怎么算出來(lái)的?

    你好,使用TAS5756做一款低音炮。需要隨時(shí)調(diào)節(jié)低通濾波寬帶,現(xiàn)在用purepath Console可以調(diào)節(jié)(low pass,butterworth模式),但是不知道BO,B1,B2,A1,A2的值怎么計(jì)算出來(lái)的,可否提供計(jì)算公式。謝謝
    發(fā)表于 10-28 06:09

    PCM1808從模擬信號(hào)輸入到I2S信號(hào)輸出的延遲時(shí)間是多少?怎樣計(jì)算出來(lái)

    PCM1808從模擬信號(hào)輸入到I2S信號(hào)輸出的延遲時(shí)間是多少,或者怎樣計(jì)算出來(lái)?我想選一個(gè)低延遲的音頻ADC是否還有別的更好推薦,謝謝。
    發(fā)表于 10-14 06:25

    TAS5805內(nèi)部的硬件CRC8對(duì)應(yīng)標(biāo)準(zhǔn)的哪種? CRC校驗(yàn)的數(shù)據(jù)是offset和value值嗎?

    TAS5805 內(nèi)部的硬件 CRC8 對(duì)應(yīng)標(biāo)準(zhǔn)的哪種? CRC 校驗(yàn)的數(shù)據(jù)是 offset 和 value 值嗎?用 PPC 加載文件計(jì)算出來(lái)的值和在線CRC計(jì)算工具計(jì)算的值不一樣。 測(cè)試校驗(yàn)的數(shù)據(jù): 58 18 00 80
    發(fā)表于 10-12 06:19

    LPV521 Vout是怎么計(jì)算得出的呢?

    麻煩分析一下如下電路圖的工作原理:Vout是怎么計(jì)算得出的呢? 圖中測(cè)量電流的范圍能達(dá)多少呢?怎么計(jì)算出來(lái)的呢? 圖中三極管工作在什么狀態(tài)?怎么進(jìn)行選型呢? 謝謝!
    發(fā)表于 09-05 07:37

    LTSR 25-NP計(jì)算出來(lái)的電流誤差特別大,為什么?

    大家好,我現(xiàn)在使用的電流傳感是lem的LTSR 25-NP,其中電流和輸出電壓關(guān)系是:v=2.5+0.025*I,現(xiàn)在的AD采樣輸入范圍是0-3V,中間有一個(gè)放大倍數(shù),但是即使這樣,電壓稍微波動(dòng)一些,計(jì)算出來(lái)的電流誤差就特別大,請(qǐng)大家支招,謝謝!
    發(fā)表于 09-03 08:18

    st2.0的電機(jī)庫(kù),hall電角度是怎么計(jì)算出來(lái)

    小弟最近在看電機(jī)庫(kù),是利用定時(shí)3捕獲hall信號(hào),但是看代碼不是很明白,為什么計(jì)算電角度跟hall值1,2,4無(wú)關(guān)呢,只是判斷3,5,6這幾個(gè)hall值 bPrevHallState
    發(fā)表于 07-23 08:30

    dd馬達(dá)偏差量怎么計(jì)算出來(lái)

    反映了電機(jī)的實(shí)際位置與期望位置之間的差異。 計(jì)算DD馬達(dá)偏差量的基本步驟如下: 確定期望位置:期望位置是系統(tǒng)希望電機(jī)達(dá)到的目標(biāo)位置。這可以是用戶(hù)輸入的值,也可以是系統(tǒng)根據(jù)某種算法計(jì)算出來(lái)的值。 獲取實(shí)際位置:實(shí)際位置是電機(jī)當(dāng)前的實(shí)際位置。這可
    的頭像 發(fā)表于 07-11 15:05 ?670次閱讀

    MCSDK5.4.8中STEVAL-ESC001V1過(guò)流保護(hù)里邊的current threshold是怎么計(jì)算出來(lái)的?

    MCSDK5.4.8中,STEVAL-ESC001V1過(guò)流保護(hù)里邊的 current threshold是怎么計(jì)算出來(lái)的? 在voltage threshold 0.6V時(shí)33.636Apk 0.3V時(shí)0.707Apk 這是什么公式算出來(lái)的? STEVAL-ESC001V
    發(fā)表于 05-21 07:26

    隔離開(kāi)關(guān)的額定電流怎么計(jì)算出來(lái)

    隔離開(kāi)關(guān)的額定電流是指設(shè)備或元件所能承受的最大連續(xù)工作電流。它是由許多因素決定的,包括電流容量、電壓容量、環(huán)境溫度和使用條件等。 隔離開(kāi)關(guān)是一種常見(jiàn)的電氣設(shè)備,用于控制和切斷電路中的電流。它主要由可分離的觸點(diǎn)組成,可將電路從電源分離以實(shí)現(xiàn)安全控制。在選擇隔離開(kāi)關(guān)時(shí),需要考慮電流容量以確保設(shè)備的安全運(yùn)行。 首先,我們需要了解什么是電流容量。電流容量是指設(shè)備或元件所能連續(xù)承受的電流大小。它是設(shè)備設(shè)計(jì)和制造
    的頭像 發(fā)表于 02-05 15:29 ?2080次閱讀

    ADUCM360 demo里面這個(gè)3.75Hz怎么算出來(lái)的?

    demo里面這個(gè)3.75Hz怎么算出來(lái)的我按照公式為什么算出來(lái)是3.67.。125000/((SF+1)*16*(3+AF)+3) (pADI_ADC1,124,14,FLT_NORMAL
    發(fā)表于 01-11 07:34
    主站蜘蛛池模板: 视频在线观看免费视频| 一区二区三区在线观看视频| 久久色婷婷| 欧美爽爽网| 午夜三级视频| 伊人精品网| 在线观看一区二区三区四区| 欧美3区| 色综合色综合| 天天爱天天插| 222.www免费观看| 亚洲播播播| 深夜视频免费在线观看| 97色伦人人| 午夜禁片| 18女人毛片| 国产精品欧美久久久久天天影视| 欧美一区二区三区综合色视频| 啪啪黄色片| 久久久久久久综合| 欧美成人3d动漫在线播放网站| 毛片新网址| 丁香六月 久久久| 国模视频在线| 免费黄色三级| 国内真实下药迷j在线观看| eeuss久久久精品影院| 四虎884tt紧急大通知| 午夜精品久久久久久久久| 成人a级特黄毛片| 狠狠色依依成人婷婷九月| 成人三级在线播放线观看| 偷操| 操碰91| www在线视频| 一区二区三区中文字幕| abc119影院成人免费看| 黄色网络在线观看| 成人免费看黄网站无遮挡| 四虎精品成在线播放| 高清视频一区二区三区|