色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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
    +關注

    關注

    4319

    文章

    23109

    瀏覽量

    398221
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10872

    瀏覽量

    211991
  • ROM
    ROM
    +關注

    關注

    4

    文章

    572

    瀏覽量

    85797
  • 軟件
    +關注

    關注

    69

    文章

    4956

    瀏覽量

    87597
  • C++
    C++
    +關注

    關注

    22

    文章

    2110

    瀏覽量

    73685

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

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

收藏 人收藏

    評論

    相關推薦

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

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

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

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

    請問這個電路作用是什么

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

    請問CUBE中SPI配置的CRC Polynomial多項式是干什么用的?

    初學STM32,用原子的板子在學,現在學到SPI,配置的時候看到這個東西,請問是干什么用的?和傳統庫中哪個匹配的? 而且這個配置沒有選項,貌似全是自己輸入的。
    發表于 05-07 06:41

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

    想請教一下最大可讀電流是干什么的,通常怎么設置,它和Nominal Current 、Expected over-current分別是以什么為依據設置的,三個有什么關系
    發表于 04-15 06:52

    美國云服務器是干什么的

    美國云服務器主要用于提供計算資源、托管網站、應用程序以及存儲數據等。很多用戶想要了解美國云服務器具體是干什么的,rak部落小編為您整理發布美國云服務器是干什么的。 美國云服務器是種**基于云
    的頭像 發表于 04-10 10:16 ?434次閱讀

    認識一下NI SWITCH模塊的組成和特點

    許多自動化測試應用都需要通過部署個開關網絡來實現儀器儀表和DUT之間的信號路由。而開關不僅可用于路由信號,也是增加昂貴儀器儀表的通道數以及提高測量靈活性和可重復性的種低成本方法。
    的頭像 發表于 03-22 13:41 ?1615次閱讀
    <b class='flag-5'>認識一下</b>NI SWITCH模塊的組成和特點

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

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

    美國云服務器是干什么的

    對于美國服務器是干什么的,相信很多小白用戶不是非常了解,接下來小編就為您整理發布美國云服務器是干什么的相關資訊,希望對您有幫助。
    的頭像 發表于 02-19 09:53 ?447次閱讀

    云服務器是干什么的

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

    電磁爐工作原理 電磁爐板上有個可調電位器的作用是干什么的

    電磁爐工作原理 電磁爐板上有個可調電位器的作用是干什么的? 電磁爐是種利用電磁感應原理來加熱食物的廚房電器。其工作原理是通過電路中的電感線圈產生高頻交變電磁場,使鐵制的鑲嵌在爐板下方的發熱盤產生
    的頭像 發表于 02-05 10:29 ?2439次閱讀

    法拉電容是干什么用的?

    法拉電容是干什么用的? 法拉電容是種用于儲存和釋放電荷的電子元件。它是電容器的種,與傳統的微型電容器相比,法拉電容能夠儲存更多的電能,并且能夠更快速地釋放電能。它的容量單位是法拉(F)。在本文
    的頭像 發表于 02-02 10:51 ?3594次閱讀

    gpu服務器是干什么的 gpu服務器與cpu服務器的區別有哪些

    gpu服務器是干什么的 gpu服務器與cpu服務器的區別 GPU服務器是種專門用于處理圖形運算的服務器,而CPU服務器則是種處理通用計算任務的服務器。它們之間的主要區別在于服務器所搭載的主要
    的頭像 發表于 01-30 15:31 ?886次閱讀

    什么是溫補晶振?溫補晶振是干什么的?

    什么是溫補晶振?溫補晶振是干什么的?? 溫補晶振是指對晶體振蕩器進行溫度補償的種技術。晶體振蕩器是種電子設備,通過驅動晶體諧振頻率上的機械振動來產生穩定的電信號。它在現代電子設備中廣泛應用,如
    的頭像 發表于 01-23 16:42 ?1142次閱讀

    云服務器是干什么的?服務器的主要功能有哪些?

    云服務器是干什么的,主要功能是什么?相信很多技術人員已經很了解,但是對于其他行業的人群云服務器又有什么用呢?擁有云服務器有什么用處呢,RAKsmart小編今天來為您做詳細的解答。
    的頭像 發表于 01-09 09:48 ?732次閱讀
    主站蜘蛛池模板: 挺进老师的紧窄小肉六电影完整版 | 午夜DJ国产精华日本无码| 闺蜜扒开我尿口使劲揉| 无限资源在线看影院免费观看 | 秋霞伦理高清视频在线| 成人免费在线视频| 亚洲乱码国产乱码精品精98| 久久热这里面只有精品| 成年人国产视频| 亚洲精品在线看| 欧美成人中文字幕在线视频| 国产精品婷婷久青青原| 最近中文字幕完整版高清| 日日夜夜噜噜| 久久机热免费视频| 俄罗斯6一9泑女网站| 野花日本免费完整版高清版动漫| 美女诱点第6季| 国产精品视频成人| 97SE亚洲国产综合自在线不卡 | 亚洲免费网站在线观看| 内射白嫩少妇超碰| 国产一区二区在线免费观看| 98久久无码一区人妻A片蜜| 无人区日本电影在线观看高清| 快乐激情网| 国产精品无码亚洲精品| 99精品网站| 亚洲精品一二三| 日韩一区二区三区四区区区 | 亚洲AV无码偷拍在线观看| 欧美片第1页 综合| 九九国产精品成人AV麻豆| 达达兔午夜一级毛片| 2020久久精品永久免费| 性盈盈剧场| 日韩欧美精品有码在线播放免费| 两个人的视频免费| 精品国产三级a| 国产精品久久久久秋霞影视| mxgs-877痉挛媚药按摩|