硬件產(chǎn)品經(jīng)理技術(shù)知識(shí)(一)嵌入式系統(tǒng)

4 評(píng)論 10319 瀏覽 56 收藏 12 分鐘

編輯導(dǎo)語(yǔ):硬件產(chǎn)品經(jīng)理在面對(duì)產(chǎn)品研發(fā)的時(shí)候,除了執(zhí)行溝通以及跟進(jìn)流程以外,更是要對(duì)技術(shù)方面有著一定的了解;因?yàn)橛布袠I(yè)的很多專業(yè)類內(nèi)容,如果什么都不懂的話,在日常業(yè)務(wù)中可能也會(huì)有所阻礙;本文作者分享了關(guān)于硬件產(chǎn)品經(jīng)理的技術(shù)知識(shí),我們一起來了解一下。

作為一個(gè)兩年經(jīng)驗(yàn)的硬件產(chǎn)品經(jīng)理,經(jīng)歷了一款產(chǎn)品從零到上市的過程,積累了一點(diǎn)經(jīng)驗(yàn),我也想通過輸出積累下來;想在硬件PM這一行長(zhǎng)遠(yuǎn)的做下去,產(chǎn)品管理、市場(chǎng)能力以及成本控制這三方面的能力要不斷精進(jìn)。

我認(rèn)為硬件PM懂技術(shù)是有必要的。作為初級(jí)產(chǎn)品經(jīng)理,執(zhí)行的工作,硬件基礎(chǔ)知識(shí)是溝通的基礎(chǔ),和研發(fā)溝通需求,和供應(yīng)商做后續(xù)的對(duì)接都離不開技術(shù)知識(shí);進(jìn)階到中高級(jí)產(chǎn)品經(jīng)理,市場(chǎng)以及供應(yīng)鏈管理工作中技術(shù)是橋梁,與供應(yīng)商,客戶的溝通離不開技術(shù)知識(shí)。

硬件行業(yè)縮略語(yǔ),定義詞特別多。回想自己剛?cè)胄锌吹絉X TX IPC SPI Flash eMMC…一頭霧水。看書,上網(wǎng)搜索硬件相關(guān)的內(nèi)容,其內(nèi)容的主要受眾是工程師,而作為硬件PM需要對(duì)其歸類并知道邊界,對(duì)實(shí)現(xiàn)了解即可。

這也算是我發(fā)現(xiàn)的入行硬件PM的痛點(diǎn)吧!網(wǎng)上并沒有完全針對(duì)硬件PM技術(shù)知識(shí)的內(nèi)容。硬件PM涉及的面非常廣,嵌入式硬件、軟件、算法、結(jié)構(gòu)、制造以及ID都需要了解。對(duì)于從軟件PM轉(zhuǎn)型或直接入行硬件PM的同學(xué)是一個(gè)門檻。

一、首先列一個(gè)嵌入式系統(tǒng)的知識(shí)框架

做一款硬件產(chǎn)品,硬件技術(shù)方面少不了這些內(nèi)容。

二、嵌入式系統(tǒng)

嵌入式系統(tǒng)是專用于某個(gè)應(yīng)用或者產(chǎn)品的系統(tǒng)。它可以自成一個(gè)系統(tǒng)、也可以是大系統(tǒng)的一部分。

嵌入式系統(tǒng)之間的關(guān)系如下圖所示。

三、嵌入式硬件

嵌入式硬件包括處理器、存儲(chǔ)器、微控制器、I/O、DAC ADC、電源、總線、定時(shí)器 計(jì)數(shù)器等等。此外根據(jù)不同的應(yīng)用場(chǎng)景,嵌入式硬件會(huì)集成不同的傳感器,例如攝像頭、雷達(dá)、GPS等等。

本文主要介紹嵌入式系統(tǒng),其它分內(nèi)容后面會(huì)詳細(xì)介紹。

四、嵌入式軟件

嵌入式軟件是嵌入式系統(tǒng)的核心。產(chǎn)品設(shè)計(jì)的落地,性能指標(biāo)的滿足都是通過軟件來實(shí)現(xiàn)的,作為硬件PM我們需要了解嵌入式軟件的架構(gòu),更好的與工程師溝通。

我們是硬件PM,但是在研發(fā)工作中打交道最多的是軟件工程師。作為PM我們要知道工程師的分工。提需求的時(shí)候要找到對(duì)應(yīng)的人,拉通協(xié)作時(shí)找到對(duì)應(yīng)的人。

嵌入式系統(tǒng)可以分為硬件層,驅(qū)動(dòng)層、操作系統(tǒng)層、應(yīng)用接口層、應(yīng)用層。除了硬件層,其他都屬于軟件工程師的工作范圍。在大多數(shù)公司中,軟件工程師會(huì)單獨(dú)負(fù)責(zé)其中的一塊。

  • 硬件接口層:這一層提供了與嵌入式硬件交互的接口,以設(shè)備驅(qū)動(dòng)程序?yàn)橹?。例如網(wǎng)絡(luò)、USB、LCD、顯示屏、RX、TX、鍵盤等等硬件的驅(qū)動(dòng);驅(qū)動(dòng)層的內(nèi)容也會(huì)與應(yīng)用層有交互,例如WiFi賬號(hào)密碼的設(shè)置,RX相關(guān)顯示參數(shù)的設(shè)置;
  • 核心層:操作系統(tǒng)的內(nèi)核,包括系統(tǒng)運(yùn)行最基本的模塊,這一層會(huì)涉及到系統(tǒng)時(shí)鐘、電源管理、文件管理,內(nèi)存管理等內(nèi)容;
  • 系統(tǒng)層:它提供面向?qū)ο蟮南到y(tǒng)資源管理功能,具有模塊化和對(duì)象化的特點(diǎn),例如文件管理、設(shè)備管理、網(wǎng)絡(luò)協(xié)議。每個(gè)系統(tǒng)模塊提供標(biāo)準(zhǔn)的API接口,向用戶開放,有利于系統(tǒng)功能的擴(kuò)展;
  • 應(yīng)用服務(wù)層:這一層是在實(shí)現(xiàn)具體的業(yè)務(wù)功能提供基于系統(tǒng)功能、面向應(yīng)用的系統(tǒng)功能調(diào)用服務(wù)接口。

嵌入式軟件包括嵌入式操作系統(tǒng)以及應(yīng)用程序

1. 嵌入式操作系統(tǒng)

說到嵌入式操作系統(tǒng)之前,先介紹一下操作系統(tǒng)。操作系統(tǒng)是硬件與用戶之間的中介,用來管理系統(tǒng)資源和控制應(yīng)用程序運(yùn)行的計(jì)算機(jī)程序。

1)嵌入式系統(tǒng)的特點(diǎn)

相對(duì)于操作系統(tǒng),嵌入式操作系統(tǒng)不要求全能,但必須能夠有效率的發(fā)揮硬件最大的能力,使產(chǎn)品獲得最高的性價(jià)比,嵌入式操作系統(tǒng)的特點(diǎn)如下:

  • 代碼量小,能夠在嵌入式系統(tǒng)有效的存儲(chǔ)空間內(nèi)運(yùn)行;
  • 統(tǒng)一的API;
  • 模塊間解耦,可拆卸;
  • 強(qiáng)實(shí)時(shí)性,可應(yīng)用于各種實(shí)時(shí)控制;
  • 可靠性高,無需人工干預(yù)獨(dú)立運(yùn)行,并能及時(shí)處理各類事件和故障。

2)內(nèi)核

嵌入式系統(tǒng)分為宏內(nèi)核與微內(nèi)核:

  • 典型的微內(nèi)核有μCOS、Uitron這些內(nèi)核小很多,只有最基本的進(jìn)程管理、進(jìn)程通信、內(nèi)存管理組成,其他部分和內(nèi)核分開。內(nèi)核本身只負(fù)責(zé)客戶進(jìn)程和服務(wù)進(jìn)程之間的消息傳遞;
  • 典型的宏內(nèi)核有Linux、Unix,這些內(nèi)核相對(duì)比較龐大,內(nèi)核設(shè)計(jì)者從效率的角度把基本的操作系統(tǒng)內(nèi)核和設(shè)備驅(qū)動(dòng)、文件系統(tǒng)、網(wǎng)絡(luò)等統(tǒng)一安排編譯,它的移植能力較弱。

3)操作系統(tǒng)基本組件

無論是宏內(nèi)核還是微內(nèi)核都有進(jìn)程管理、內(nèi)存管理、中斷管理以及API。

  • 進(jìn)程管理:操作系統(tǒng)為進(jìn)程分配資源,實(shí)現(xiàn)進(jìn)程間共享和交換信息,保護(hù)進(jìn)程資源以及實(shí)現(xiàn)進(jìn)程間同步。在多線程系統(tǒng)中,進(jìn)程變成了資源管理器,線程成為了程序的基本執(zhí)行單元。進(jìn)程管理包括進(jìn)程的創(chuàng)建與維護(hù)、進(jìn)程的調(diào)度切換、多處理器的進(jìn)程管理;
  • 內(nèi)存管理:虛存管理技術(shù)廣泛應(yīng)用于系統(tǒng)管理。它可以使每個(gè)程序都有一個(gè)獨(dú)立的虛擬存儲(chǔ)空間,使應(yīng)用程序獲得比實(shí)際內(nèi)存更大的編址空間;
  • 中斷管理:中斷管理為了提高系統(tǒng)效率,確保關(guān)鍵的功能及時(shí)執(zhí)行;
  • API:包括人機(jī)界面以及操作系統(tǒng)提供給用戶開發(fā)的應(yīng)用程序API函數(shù)。

4)嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)

在介紹之前先介紹個(gè)概念:任務(wù)調(diào)度方式。

5)任務(wù)調(diào)度

在嵌入式操作系統(tǒng)中,任務(wù)調(diào)度方式有三種:不可搶占式調(diào)度、可搶占調(diào)度、時(shí)間片輪轉(zhuǎn)調(diào)度

  • 不可搶占式調(diào)度:一個(gè)任務(wù)一旦或者處理器資源就獨(dú)占處理器運(yùn)行,直至該任務(wù)結(jié)束進(jìn)入等待狀態(tài);
  • 可搶占調(diào)度:基于任務(wù)優(yōu)先級(jí),當(dāng)前任務(wù)必須隨時(shí)讓位于優(yōu)先級(jí)更高且處于就緒狀態(tài)的任務(wù);
  • 時(shí)間片輪轉(zhuǎn)調(diào)度:當(dāng)兩個(gè)或兩個(gè)以上任務(wù)有相同優(yōu)先級(jí)時(shí),某個(gè)任務(wù)運(yùn)行事先規(guī)定的時(shí)間,然后切換時(shí)另外的任務(wù)。

嵌入式操作系統(tǒng)分為嵌入式操作系統(tǒng)和嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS),兩者的主要區(qū)別是任務(wù)調(diào)度方式不同。

嵌入式實(shí)時(shí)操作系統(tǒng)的任務(wù)調(diào)度方法基于可搶占調(diào)度法,它真的具有實(shí)時(shí)性。

6)實(shí)時(shí)性

實(shí)時(shí)也就是操作系統(tǒng)的計(jì)算結(jié)果不僅依賴于計(jì)算的邏輯結(jié)果,也依賴于結(jié)果產(chǎn)生的時(shí)間,RTOS不見要求產(chǎn)生正確的結(jié)果,還要求結(jié)果產(chǎn)生的足夠快?!翱臁笔且粋€(gè)相對(duì)的概念,性能很強(qiáng)大的操作系統(tǒng)不一定是實(shí)時(shí)系統(tǒng)。

而實(shí)時(shí)性又分為硬實(shí)時(shí)和軟實(shí)時(shí):

  • 硬實(shí)時(shí):必須在恰當(dāng)?shù)臅r(shí)間里完成相應(yīng)的任務(wù);
  • 軟實(shí)時(shí):要求系統(tǒng)以最快的速度執(zhí)行,運(yùn)行時(shí)間超時(shí)是可以容忍的。

7)嵌入式實(shí)時(shí)操作系統(tǒng)

RTOS是一段嵌入在目標(biāo)代碼中的程序,系統(tǒng)復(fù)位后首先執(zhí)行,相當(dāng)于用戶的主程序,用戶的其他程序都建立在RTOS之上;此外RTOS是一個(gè)標(biāo)準(zhǔn)的內(nèi)核,CPU將時(shí)間、中斷、IO、定時(shí)器等資源都包裝起來,留給用戶一個(gè)標(biāo)準(zhǔn)API,并根據(jù)各個(gè)任務(wù)的優(yōu)先級(jí),合理的在不同任務(wù)之間分配CPU時(shí)間。

此外RTOS最關(guān)鍵的部分就是實(shí)時(shí)多任務(wù)內(nèi)核,包括任務(wù)管理、消息管理、存儲(chǔ)管理、事件管理;這些管理功能是通過RTOS的API給用戶調(diào)用的,跨平臺(tái)移植程序修改的很少。

8)嵌入式實(shí)時(shí)操作系統(tǒng)特點(diǎn)

  • 微內(nèi)核設(shè)計(jì);
  • 系統(tǒng)能夠快速進(jìn)行任務(wù)切換、保證任務(wù)搶先和dedline的完成;
  • 盡量減少禁止中斷的時(shí)間;
  • 提供固定或者可變的內(nèi)存管理機(jī)制;
  • 提供一個(gè)能夠滿足應(yīng)用要求的實(shí)時(shí)時(shí)鐘;
  • 必須提供合適的進(jìn)程任務(wù)調(diào)度方法;
  • 允許應(yīng)用程序自己修改內(nèi)核。

9)常見的RTOS

  • VxWorks;
  • μC/os-II;
  • eCOS。

 

本文由 @無腳鳥 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。

題圖來自Unsplash,基于CC0協(xié)議。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 哥,沒下篇了?連公眾號(hào)都不留下?

    來自廣東 回復(fù)
  2. 有的是軟件發(fā)指令給plc去執(zhí)行吧 ,嵌入式也是一種

    回復(fù)
  3. 有的是軟件

    回復(fù)
  4. 根本看不懂,絕了

    來自中國(guó) 回復(fù)