欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

帶大家詳細(xì)認(rèn)識(shí)一下固件是干什么的

STM32嵌入式開發(fā) ? 來(lái)源:EDA365電子論壇 ? 作者:EDA365電子論壇 ? 2021-10-13 10:28 ? 次閱讀

現(xiàn)如今,軟件和硬件之間的界限已經(jīng)越來(lái)越模糊了,那么處于這個(gè)灰色地帶的,就是固件。于是,這就分成了三類工作者:

一是,軟件工程師一般指做圖形界面的程序員,工作內(nèi)容就是寫C++、JAVA、Web等。 二是,硬件工程師當(dāng)然是指玩電路板的,工作內(nèi)容就是畫原理圖、PCB等。 三是,固件工程師也叫單片機(jī)工程師,既寫代碼(主要是C語(yǔ)言匯編)又要畫電路圖。

玩單片機(jī)的人,可能會(huì)有個(gè)疑問(wèn),為什么我寫的C語(yǔ)言能操作到底層的硬件?其實(shí)在《計(jì)算機(jī)組成原理》已經(jīng)有很詳細(xì)的介紹了。 我這里粗略地介紹一下,這個(gè)原理。 首先,你可以搜索一下“從零開始造電腦”,這位叫Steve的大神,就告訴你,用晶體管可以做出CPU(單片機(jī)也是CPU)。

當(dāng)然,我們現(xiàn)在可不會(huì)落后到需要到晶體管來(lái)制造電腦。 接下來(lái),你可以看一部叫《喬布斯》的電影,劇中就給你展示蘋果公司的第一臺(tái)計(jì)算機(jī)。 嘿嘿,看到那些黑色的芯片沒(méi)有?還有兩個(gè)大大的變壓器。這說(shuō)明了在大學(xué)玩單片機(jī)的時(shí)代,就相當(dāng)于回到蘋果公司的初始時(shí)期!是不是很激動(dòng)人心?

其實(shí)你可以用74系列的邏輯IC、單片機(jī)等,來(lái)搭建一個(gè)屬于自己的計(jì)算機(jī)。這就是說(shuō)人們把若干個(gè)晶體管集成為一塊74系列的IC,如果集成度更高呢?那就是手機(jī)或者臺(tái)式機(jī)用的多核CPU了。 好,介紹了這些古董之后,就讓你有個(gè)認(rèn)識(shí),計(jì)算機(jī)本質(zhì)上是N個(gè)晶體管的組合,也是數(shù)字邏輯芯片的組合,更高級(jí)的,就是一塊數(shù)?;旌系男酒唧w形式是由你的工藝決定的。

現(xiàn)在回到正題,介紹一下數(shù)電的基礎(chǔ)知識(shí)。 因?yàn)镃PU主要功能是計(jì)算,也就是可以直接運(yùn)用數(shù)學(xué)知識(shí)來(lái)解決問(wèn)題,這里就舉個(gè)例子介紹一下,CPU如何計(jì)算加法,也就是用數(shù)電里的門電路搭一個(gè)加法器。

怎樣用晶體管搭這些與、或、非門就不說(shuō)了,不懂的,可以翻書。上圖就告訴你,可以用這些門電路搭一個(gè)加法器。 怎樣輸入Ai=0,Bi=1,Ci=0?用74系列的IC的話,可以直接把Ai,Ci接GND,Bi接VCC,就實(shí)現(xiàn)加法了。而在CPU內(nèi)部也是一樣可以這樣做的,但是CPU可沒(méi)那么死板,只算常數(shù)的加法。

上圖中,藍(lán)色箭頭指向的1,就是接VCC的,而紅色箭頭,就是接GND。 在CPU內(nèi)部,還有ROM,它可以把你要計(jì)算的加數(shù)和被加數(shù)存進(jìn)去(ROM輸出的高低電平,跟你接GND和VCC是一樣的效果),而結(jié)果則存在寄存器(先暫存,以備后面使用)。 現(xiàn)在有個(gè)問(wèn)題,如果加完之后還要計(jì)算乘法(在信號(hào)處理領(lǐng)域的卷積運(yùn)算的核心單元就是乘加器),怎么辦?誰(shuí)來(lái)自動(dòng)完成這個(gè)動(dòng)作?幸好,CPU里面有個(gè)叫ALU(算術(shù)邏輯單元)來(lái)處理這件事情。

這里的控制單元,就把ROM里面的數(shù)據(jù)取出來(lái),再用選擇器,來(lái)調(diào)用加法器和乘法器,最終把結(jié)果存到寄存器中。 如果ROM里面只存數(shù)據(jù),那是無(wú)法讓控制單元知道,你要執(zhí)行加法還是乘法,要解決這個(gè)問(wèn)題,就需要在ROM里面再劃分一個(gè)區(qū)域,存放指令碼。

這個(gè)指令碼,跟數(shù)據(jù)是一樣,都是0、1的二進(jìn)制數(shù),只是用途不同,所以起了不同的名字。 其實(shí)這個(gè)指令碼,對(duì)應(yīng)在單片機(jī)里面的匯編語(yǔ)言,就是操作碼(如:MOV);而操作數(shù)就是數(shù)據(jù)(如:01H)。具體的,可以看看單片機(jī)的教材。 根據(jù)指令碼的設(shè)計(jì)方法來(lái)分,有四種,分別是CISC、RISC、VLIW、TTA,具體區(qū)別可以看計(jì)算機(jī)組成原理。

而PC(程序計(jì)數(shù)器)就是控制ROM的地址,現(xiàn)在你要知道PC是不能出錯(cuò)的,一旦出錯(cuò),就意味著單片機(jī)不按照你的代碼來(lái)工作。 現(xiàn)在,我在8位的CPU的ROM里面,第一個(gè)地址存了0x03這個(gè)指令碼來(lái)代表加法,而在第二、三個(gè)地址存了加數(shù)和被加數(shù),然后在第四個(gè)地址存了0x05代表乘法,在第五、六個(gè)地址存了乘數(shù)和被乘數(shù)。

那么,按照一定的規(guī)則來(lái)設(shè)計(jì)控制單元(這個(gè)規(guī)則可以自己定義的),它就知道0x03是要執(zhí)行加法。 那么這個(gè)規(guī)則如何設(shè)計(jì)?最簡(jiǎn)單的,就是用與門了,然后輸出一個(gè)使能信號(hào),讓加法器工作,就跟上面的74LS160差不多。 但是CPU可沒(méi)那么簡(jiǎn)陋,它可以使用狀態(tài)機(jī)、流水線等,來(lái)控制這些基本單元(如:加法器、乘法器),如下圖所示:

說(shuō)到這里,你至少應(yīng)該知道,我們只要改變ROM的內(nèi)容,就可以操作CPU內(nèi)部的ALU,從而操作CPU的各個(gè)硬件單元了。 下面給出相對(duì)完整一點(diǎn)的ALU內(nèi)部結(jié)構(gòu)圖:

ROM的內(nèi)容本質(zhì)上是一些電荷量(電容上有、無(wú)電荷,代表二進(jìn)制的1和0),也就是固件、軟件工程師寫的代碼。而硬件,就是由晶體管搭建的數(shù)字、模擬電路(如:?jiǎn)纹瑱C(jī)內(nèi)部的比較器ADC等)。 所以硬件是物理器件,不容易更改;而ROM的內(nèi)容完全可以用燒錄器就輕松改變它,修改成本非常低,而且很靈活。

在這里,你很難表述,這些電荷量是軟件還是硬件,但是CPU的這種結(jié)構(gòu),導(dǎo)致了兩種不同類型的工作者,我們稱他們?yōu)檐浖こ處熀陀布こ處?。而單片機(jī)程序員寫的代碼,跟硬件密切相關(guān),而且一旦完成之后,很少需要修改的(不像軟件工程師修改的那么頻繁),我們稱之為固件。

編輯: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)投訴
  • pcb
    pcb
    +關(guān)注

    關(guān)注

    4326

    文章

    23170

    瀏覽量

    400106
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10908

    瀏覽量

    213085
  • ROM
    ROM
    +關(guān)注

    關(guān)注

    4

    文章

    575

    瀏覽量

    86014
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    5022

    瀏覽量

    88113
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2114

    瀏覽量

    73873

原文標(biāo)題:認(rèn)識(shí)固件是干什么的?

文章出處:【微信號(hào):c-stm32,微信公眾號(hào):STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    誰(shuí)能詳細(xì)介紹一下track-and-hold

    在運(yùn)放和ADC芯片的數(shù)據(jù)手冊(cè)中經(jīng)常看到track-and-hold,誰(shuí)能詳細(xì)介紹一下track-and-hold?
    發(fā)表于 01-20 09:10

    TLC555這個(gè)電路的二極管是干什么用的,它是從哪來(lái)的?

    就這個(gè)電路二極管不知道干什么用的,它是從哪來(lái)的? 仿真結(jié)果跟官方的不
    發(fā)表于 11-08 15:37

    電視上的usb是用來(lái)干什么的

    連接游戲手柄、鍵盤、鼠標(biāo)等外設(shè),或者用于固件升級(jí)等。 、電視USB接口的用途 播放多媒體文件 電視上的USB接口最常用的功能就是播放存儲(chǔ)在USB設(shè)備上的多媒體文件。用戶可以將自己喜歡的電影、電視劇、音樂(lè)、圖片等文件存儲(chǔ)在U盤、移動(dòng)硬
    的頭像 發(fā)表于 10-12 10:06 ?4114次閱讀

    LM318 COMP管腳是什么引腳,干什么用的?

    LM318 COMP 管腳是什么引腳,干什么用的,PSPICEFORTI 里面沒(méi)有318的COMP管腳在怎么應(yīng)用
    發(fā)表于 07-31 07:45

    音圈電機(jī)是用來(lái)干什么的

    。本文將詳細(xì)介紹音圈電機(jī)的工作原理、結(jié)構(gòu)特點(diǎn)、應(yīng)用領(lǐng)域以及發(fā)展趨勢(shì)。 、音圈電機(jī)的工作原理 音圈電機(jī)的工作原理基于法拉第電磁感應(yīng)定律和洛倫茲力定律。當(dāng)電流通過(guò)線圈時(shí),線圈周圍產(chǎn)生磁場(chǎng)。這個(gè)磁場(chǎng)與永磁體產(chǎn)生的磁場(chǎng)相互作用,產(chǎn)生
    的頭像 發(fā)表于 06-13 11:03 ?804次閱讀

    請(qǐng)問(wèn)這個(gè)電路作用是什么

    小白 請(qǐng)問(wèn)一下這個(gè)電路是干什么的,是電源切換電路嗎(注:VCC_WL是連接WIFI模塊電源引腳的,WIFI_PWR是RK3566引出的共引腳)
    發(fā)表于 05-09 18:03

    請(qǐng)問(wèn)CUBE中SPI配置的CRC Polynomial多項(xiàng)式是干什么用的?

    初學(xué)STM32,用原子的板子在學(xué),現(xiàn)在學(xué)到SPI,配置的時(shí)候看到這個(gè)東西,請(qǐng)問(wèn)是干什么用的?和傳統(tǒng)庫(kù)中哪個(gè)匹配的? 而且這個(gè)配置沒(méi)有選項(xiàng),貌似全是自己輸入的。
    發(fā)表于 05-07 06:41

    Max Readble Current最大可讀電流的作用?

    想請(qǐng)教一下最大可讀電流是干什么的,通常怎么設(shè)置,它和Nominal Current 、Expected over-current分別是以什么為依據(jù)設(shè)置的,三個(gè)有什么關(guān)系
    發(fā)表于 04-15 06:52

    美國(guó)云服務(wù)器是干什么的

    美國(guó)云服務(wù)器主要用于提供計(jì)算資源、托管網(wǎng)站、應(yīng)用程序以及存儲(chǔ)數(shù)據(jù)等。很多用戶想要了解美國(guó)云服務(wù)器具體是干什么的,rak部落小編為您整理發(fā)布美國(guó)云服務(wù)器是干什么的。 美國(guó)云服務(wù)器是種**基于云
    的頭像 發(fā)表于 04-10 10:16 ?484次閱讀

    認(rèn)識(shí)一下NI SWITCH模塊的組成和特點(diǎn)

    許多自動(dòng)化測(cè)試應(yīng)用都需要通過(guò)部署個(gè)開關(guān)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)儀器儀表和DUT之間的信號(hào)路由。而開關(guān)不僅可用于路由信號(hào),也是增加昂貴儀器儀表的通道數(shù)以及提高測(cè)量靈活性和可重復(fù)性的種低成本方法。
    的頭像 發(fā)表于 03-22 13:41 ?1742次閱讀
    <b class='flag-5'>認(rèn)識(shí)一下</b>NI SWITCH模塊的組成和特點(diǎn)

    英偉達(dá)是干什么的?

    英偉達(dá)(NVIDIA)是家全球知名的圖形處理器(GPU)和人工智能(AI)技術(shù)公司,專門打造面向計(jì)算機(jī)、消費(fèi)電子和移動(dòng)終端,能夠改變整個(gè)行業(yè)的創(chuàng)新產(chǎn)品。
    的頭像 發(fā)表于 03-01 16:41 ?6914次閱讀

    請(qǐng)問(wèn)CYUSB3014芯片的OTG_ID引腳是干什么用的?

    USB3014芯片的OTG_ID引腳是干什么用的??用電阻下拉接地可以嗎? 電阻的大小有要求嗎?
    發(fā)表于 02-29 08:21

    在整個(gè)電路的最末端,有個(gè)4.7K的電阻并在5V和地中間,是干什么用的?

    在整個(gè)電路的最末端,有個(gè)4.7K的電阻并在5V和地中間,是干什么用的?
    發(fā)表于 02-22 07:49

    美國(guó)云服務(wù)器是干什么的

    對(duì)于美國(guó)服務(wù)器是干什么的,相信很多小白用戶不是非常了解,接下來(lái)小編就為您整理發(fā)布美國(guó)云服務(wù)器是干什么的相關(guān)資訊,希望對(duì)您有幫助。
    的頭像 發(fā)表于 02-19 09:53 ?495次閱讀

    云服務(wù)器是干什么的

     云服務(wù)器是干什么的?很多小白用戶會(huì)有疑惑,今天小編為您整理云服務(wù)器是干什么的相關(guān)資料,希望對(duì)您了解云服務(wù)器是干什么的有幫助。
    的頭像 發(fā)表于 02-18 09:58 ?1556次閱讀