女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

帶大家詳細認識一下固件是干什么的

STM32嵌入式開發 ? 來源:EDA365電子論壇 ? 作者:EDA365電子論壇 ? 2021-10-13 10:28 ? 次閱讀

現如今,軟件和硬件之間的界限已經越來越模糊了,那么處于這個灰色地帶的,就是固件。于是,這就分成了三類工作者:

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

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

當然,我們現在可不會落后到需要到晶體管來制造電腦。 接下來,你可以看一部叫《喬布斯》的電影,劇中就給你展示蘋果公司的第一臺計算機。 嘿嘿,看到那些黑色的芯片沒有?還有兩個大大的變壓器。這說明了在大學玩單片機的時代,就相當于回到蘋果公司的初始時期!是不是很激動人心?

其實你可以用74系列的邏輯IC、單片機等,來搭建一個屬于自己的計算機。這就是說人們把若干個晶體管集成為一塊74系列的IC,如果集成度更高呢?那就是手機或者臺式機用的多核CPU了。 好,介紹了這些古董之后,就讓你有個認識,計算機本質上是N個晶體管的組合,也是數字邏輯芯片的組合,更高級的,就是一塊數模混合的芯片,具體形式是由你的工藝決定的。

現在回到正題,介紹一下數電的基礎知識。 因為CPU主要功能是計算,也就是可以直接運用數學知識來解決問題,這里就舉個例子介紹一下,CPU如何計算加法,也就是用數電里的門電路搭一個加法器。

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

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

這里的控制單元,就把ROM里面的數據取出來,再用選擇器,來調用加法器和乘法器,最終把結果存到寄存器中。 如果ROM里面只存數據,那是無法讓控制單元知道,你要執行加法還是乘法,要解決這個問題,就需要在ROM里面再劃分一個區域,存放指令碼。

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

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

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

說到這里,你至少應該知道,我們只要改變ROM的內容,就可以操作CPU內部的ALU,從而操作CPU的各個硬件單元了。 下面給出相對完整一點的ALU內部結構圖:

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

在這里,你很難表述,這些電荷量是軟件還是硬件,但是CPU的這種結構,導致了兩種不同類型的工作者,我們稱他們為軟件工程師和硬件工程師。而單片機程序員寫的代碼,跟硬件密切相關,而且一旦完成之后,很少需要修改的(不像軟件工程師修改的那么頻繁),我們稱之為固件。

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • pcb
    pcb
    +關注

    關注

    4349

    文章

    23402

    瀏覽量

    406381
  • cpu
    cpu
    +關注

    關注

    68

    文章

    11029

    瀏覽量

    215860
  • ROM
    ROM
    +關注

    關注

    4

    文章

    578

    瀏覽量

    86961
  • 軟件
    +關注

    關注

    69

    文章

    5117

    瀏覽量

    88899
  • C++
    C++
    +關注

    關注

    22

    文章

    2117

    瀏覽量

    74753

原文標題:認識固件是干什么的?

文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    綜合配線柜是干什么的

    綜合配線柜(也稱為綜合布線柜或綜合布線系統配線柜)是種在多個領域中發揮關鍵作用的設備。以下是關于綜合配線柜的詳細介紹: 、主要作用 集中管理與控制: 綜合配線柜能夠集中管理和控制網絡或電力系統中
    的頭像 發表于 03-11 11:08 ?313次閱讀

    gtta光纜是干什么的

    GTTA光纜是種特定類型的通信光纜,主要用于滿足光學、機械或環境的性能規范,并實現光信號的傳輸。以下是對GTTA光纜的詳細解釋: 、主要用途 GTTA光纜作為寬帶接入的物理平臺,在通信網絡中
    的頭像 發表于 03-06 10:21 ?317次閱讀

    您好,認識一下,我叫晶發電子!

    公司介紹深圳市晶發電子有限公司COMPANYINTRODUCTION01公司簡介02產能產量03設備產品04品質保證05未來展望01公司簡介-CompanyIntroduction-1.我是誰WhoAmI深圳市晶發電子有限公司是專業生產、銷售石英晶體諧振器、晶體振蕩器以及從事晶體配套設備生產的高新技術企業。主要生產1.8~80MHZHC-49/S、HC-S/
    的頭像 發表于 03-05 18:18 ?181次閱讀
    您好,<b class='flag-5'>認識一下</b>,我叫晶發電子!

    如果需要使用DMD進行成像控制,需要用到哪些部件?

    我想問一下,如果需要使用DMD進行成像控制,需要用到哪些部件?是只需要控制板和DMD芯片么?那么評估模塊是用來干什么的呢?
    發表于 02-28 06:40

    誰能詳細介紹一下track-and-hold

    在運放和ADC芯片的數據手冊中經常看到track-and-hold,誰能詳細介紹一下track-and-hold?
    發表于 01-20 09:10

    “碰一下”支付背后的4G技術

    不知道你是否有留意,近期,在線下支付場景中,多了個支付寶“碰一下”支付的設備,只需要“解鎖手機—碰一下—確認”即可完成支付,對比打開付款碼支付,步驟確實更加簡潔。
    的頭像 發表于 01-03 16:27 ?1181次閱讀

    PLM項目管理系統主要干什么?制造業企業的PLM應用與效益

    在制造業的數字化轉型浪潮中,PLM(Product Lifecycle Management,產品全生命周期管理)項目管理系統扮演著至關重要的角色。那么,PLM項目管理系統主要干什么呢?簡而言之
    的頭像 發表于 12-04 11:19 ?1194次閱讀
    PLM項目管理系統主要<b class='flag-5'>干什么</b>?制造業企業的PLM應用與效益

    TLC555這個電路的二極管是干什么用的,它是從哪來的?

    就這個電路二極管不知道干什么用的,它是從哪來的? 仿真結果跟官方的不
    發表于 11-08 15:37

    安泰功率放大器是干什么的

    將為您詳細介紹功率放大器的工作原理、類型、特點和應用領域。 工作原理 功率放大器的工作原理基于電子元件的特性,通過放大輸入信號的電壓、電流或功率,從而輸出更大功率的信號。般來說,功率放大器由信號輸入端、放
    的頭像 發表于 10-29 15:46 ?306次閱讀
    安泰功率放大器是<b class='flag-5'>干什么的</b>

    電視上的usb是用來干什么的

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

    負載模擬器是干什么的,負載模擬器需要接電源嗎

    負載模擬器是種用于模擬各種負載條件的設備,它在多個領域都有著廣泛的應用。以下是對負載模擬器的主要功能和用途的詳細解析:
    的頭像 發表于 10-01 15:57 ?1412次閱讀

    VCA821給出的AGC電路,出來的波形奇奇怪怪的,為什么?

    我做的VCA821給出的AGC電路,給的信號50mV,頻率10kHz,出來的波形奇奇怪怪的,有78MHz。請問這是什么原因,自激了嗎?還有,圖中的Vref是干什么的? 以下是我的原理圖和PCB,能否給出些修改意見
    發表于 08-29 08:24

    用TINA仿真LMH6505,TINA-TI如何導入SPICE模型?

    準備用TINA仿真LMH6505,在官網上下載了LMH6505的PSPice Model。但是解壓后是.MOD文件。在網上沒找到如何導入,求大神指教。 1、工具菜單的新建宏是干什么的,生成的TSM文件是用來仿真的嗎? 2、為什么TINA官網下的文件很多都是.LIB文件
    發表于 08-22 08:04

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

    LM318 COMP 管腳是什么引腳,干什么用的,PSPICEFORTI 里面沒有318的COMP管腳在怎么應用
    發表于 07-31 07:45

    音圈電機是用來干什么的

    。本文將詳細介紹音圈電機的工作原理、結構特點、應用領域以及發展趨勢。 、音圈電機的工作原理 音圈電機的工作原理基于法拉第電磁感應定律和洛倫茲力定律。當電流通過線圈時,線圈周圍產生磁場。這個磁場與永磁體產生的磁場相互作用,產生
    的頭像 發表于 06-13 11:03 ?1061次閱讀