chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

STM32嵌入式開發(fā) ? 來源:EDA365電子論壇 ? 作者:EDA365電子論壇 ? 2021-10-13 10:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

編輯:jq

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

    關(guān)注

    4405

    文章

    23878

    瀏覽量

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

    關(guān)注

    68

    文章

    11279

    瀏覽量

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

    關(guān)注

    4

    文章

    579

    瀏覽量

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

    關(guān)注

    69

    文章

    5332

    瀏覽量

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

    關(guān)注

    22

    文章

    2124

    瀏覽量

    77125

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    不間斷電源是干什么用的?優(yōu)比施文講透

    ……這些令人懊惱甚至帶來損失的瞬間,都與個詞有關(guān)——電力中斷。而不間斷電源,正是為解決這些問題而生。今天,優(yōu)比施電源用最通俗易懂的方式,為您講清楚不間斷電源到底是干什
    的頭像 發(fā)表于 03-03 08:48 ?72次閱讀
    不間斷電源是<b class='flag-5'>干什么</b>用的?優(yōu)比施<b class='flag-5'>一</b>文講透

    lora無線數(shù)傳電臺能干什么?5KM數(shù)據(jù)傳輸,代替有線485

    雙向通信,是工業(yè)物聯(lián)網(wǎng)、智慧農(nóng)業(yè)、智慧城市等場景的“無線串口線”。 、核心功能(能干什么) 1. 基礎(chǔ)通信能力 - 點對點透明傳輸:兩個電臺配對,串口數(shù)據(jù)原樣無線轉(zhuǎn)發(fā),替代長距離RS485/232線纜,無需改協(xié)議。 - 點對多點/主從組網(wǎng):
    的頭像 發(fā)表于 02-28 16:37 ?546次閱讀

    保姆級教程!RK3588 Linux6.1?固件簽名完整實現(xiàn)方案(不含rootfs)

    內(nèi)核)上實操固件簽名時,踩了不少官方文檔的坑,經(jīng)過反復(fù)調(diào)試終于打通全流程。今天就把這份實戰(zhàn)經(jīng)驗整理成保姆級教程,從配置到問題排查,步步帶大家搞定 RK3588 的固件簽名!
    的頭像 發(fā)表于 01-14 17:21 ?1843次閱讀
    保姆級教程!RK3588 Linux6.1?<b class='flag-5'>固件</b>簽名完整實現(xiàn)方案(不含rootfs)

    劃片機是干什么用的

    劃片機是干什么用的?在晶圓加工場景中,它也常被稱為晶圓切割機,是半導(dǎo)體制造后道工藝中的核心設(shè)備,其核心用途是將完成前道電路制造(如光刻、刻蝕、沉積等)的整片晶圓,沿預(yù)設(shè)的空白切割道
    的頭像 發(fā)表于 01-12 16:33 ?603次閱讀
    劃片機是<b class='flag-5'>干什么</b>用的

    能否詳細(xì)介紹一下MOSFET在電機控制中的作用是什么?

    能否詳細(xì)介紹一下MOSFET在電機控制中的作用?
    發(fā)表于 12-22 13:11

    請教大家一下DP致性測試問題

    請教大家一下,DP的Vbios中已經(jīng)固定了預(yù)加重和Swing的值,DP的TX信號致性測試項中Non Pre-Emphasis Level Test(Swing2/Swing0)-PLTPAT,這個測試項意思是Swing2與Sw
    發(fā)表于 11-12 15:57

    閃燈程序的構(gòu)建與調(diào)試

    在上篇文章中我們成功了搭建了環(huán)境,那么接下來就用閃燈程序來認(rèn)識一下編譯和調(diào)試工具吧!
    的頭像 發(fā)表于 11-05 14:52 ?4315次閱讀
    閃燈程序的構(gòu)建與調(diào)試

    RT1180 FlexSPI Follower模塊簡介

    該模塊在外部SPI主設(shè)備和RT1180芯片之間架起了座通信的橋梁。今天就來正式認(rèn)識一下吧!
    的頭像 發(fā)表于 10-07 11:09 ?1527次閱讀
    RT1180 FlexSPI Follower模塊簡介

    大家幫忙看一下這個電路圖哪里有問題??謝謝

    大家幫忙看一下這個電路哪里有問題
    發(fā)表于 09-26 15:56

    加固計算機是用來干什么的?

    加固計算機是種專門為復(fù)雜環(huán)境和特殊行業(yè)應(yīng)用設(shè)計的高性能設(shè)備。它不僅具備常規(guī)電腦的數(shù)據(jù)處理和運算功能,更在結(jié)構(gòu)設(shè)計、防護等級和硬件配置方面做了全面優(yōu)化。例如,它的外殼通常采用鎂鋁合金或高強度復(fù)合材料
    的頭像 發(fā)表于 08-22 09:55 ?556次閱讀

    “碰一下”支付終端應(yīng)用在酒店:智能無卡入住與客房控制

    “碰一下”支付終端和“碰一下”支付機具今年已在各種餐飲零售門店推廣應(yīng)用。就連天波小編家附近的村口小超市也用上了“碰一下”支付終端。近日,鹵味龍頭企業(yè)絕味食品宣布,全國門店將接入“支付寶碰一下
    的頭像 發(fā)表于 07-04 09:57 ?833次閱讀
    “碰<b class='flag-5'>一下</b>”支付終端應(yīng)用在酒店:智能無卡入住與客房控制

    鉗形表是干什么用的?點開看看就知道了

    在電工領(lǐng)域和電氣設(shè)備維護中,難免會用到各種各樣的工具,其中之就是鉗形表。對于普通人而言,可能都不知道鉗形表到底是什么。更不知道它的用處。實際上,鉗形表的作用很大,今天就來帶大家探究竟。鉗形表,從
    發(fā)表于 05-06 15:34

    個過零檢測電路,但有部分電路沒看明白,有大神可以詳細(xì)解釋一下

    個過零檢測電路,但是沒明白粉色框部分有什么作用,有大神可以詳細(xì)解釋一下
    發(fā)表于 03-20 00:40

    【干貨】什么是Node-RED?文帶你了解!

    什么是Node-RED?首先我們來認(rèn)識一下什么是Node-RED。Node-RED是個基于Node.js的開源可視化編程工具,于2013年由IBM公司推出。它可以通過瀏覽器的圖形化界面進行編程
    的頭像 發(fā)表于 03-13 19:32 ?1965次閱讀
    【干貨】什么是Node-RED?<b class='flag-5'>一</b>文帶你了解!

    綜合配線柜是干什么的

    綜合配線柜(也稱為綜合布線柜或綜合布線系統(tǒng)配線柜)是種在多個領(lǐng)域中發(fā)揮關(guān)鍵作用的設(shè)備。以下是關(guān)于綜合配線柜的詳細(xì)介紹: 、主要作用 集中管理與控制: 綜合配線柜能夠集中管理和控制網(wǎng)絡(luò)或電力系統(tǒng)中
    的頭像 發(fā)表于 03-11 11:08 ?1295次閱讀