bsp驅(qū)動(dòng)開發(fā) 從事嵌入式底層軟件設(shè)計(jì)工作需要學(xué)習(xí)哪些?如何做好軟件設(shè)計(jì)?
從事嵌入式底層軟件設(shè)計(jì)工作需要學(xué)習(xí)哪些?如何做好軟件設(shè)計(jì)?事實(shí)上,嵌入式系統(tǒng)非常廣泛,包括裸機(jī)、RTOS(有幾個(gè)系統(tǒng),但它們是相似的)和Linux。在開發(fā)語言方面,C仍然是主流,C也是。如何做好軟件設(shè)
從事嵌入式底層軟件設(shè)計(jì)工作需要學(xué)習(xí)哪些?如何做好軟件設(shè)計(jì)?
事實(shí)上,嵌入式系統(tǒng)非常廣泛,包括裸機(jī)、RTOS(有幾個(gè)系統(tǒng),但它們是相似的)和Linux。在開發(fā)語言方面,C仍然是主流,C也是。如何做好軟件設(shè)計(jì),關(guān)鍵取決于個(gè)人的邏輯思維能力,以及程序的組織結(jié)構(gòu)。恐怕你的邏輯思維能力與你的教育背景有很大關(guān)系。對(duì)于相同的功能,不同的人會(huì)有不同的認(rèn)識(shí)。雖然可以工作,但有些人的代碼亂七八糟,沒有規(guī)則來定義,反正很難維護(hù);有些人的代碼干凈整潔,一目了然。
在我看來,功能的實(shí)現(xiàn)只是最基本的要求。如何實(shí)現(xiàn)代碼的簡化、整潔、高效和邏輯清晰是一個(gè)難點(diǎn),需要不斷的個(gè)人總結(jié)和改進(jìn)。
AndroidBSP底層驅(qū)動(dòng)工程師是做什么的?
BSP的全稱是board support package,它是主板硬件和操作系統(tǒng)驅(qū)動(dòng)程序?qū)又g的一層。它通常被認(rèn)為是操作系統(tǒng)的一部分。它主要支持操作系統(tǒng),并為上層驅(qū)動(dòng)程序提供訪問硬件設(shè)備寄存器的功能包,以便在mobile和Android的硬件主板都沒有BSP之前,在windows下運(yùn)行得更好。開發(fā)驅(qū)動(dòng)層,使操作系統(tǒng)能夠正常調(diào)用主板的所有功能。一般來說,可能有內(nèi)存驅(qū)動(dòng)程序、顯示驅(qū)動(dòng)程序、藍(lán)牙驅(qū)動(dòng)程序、WiFi驅(qū)動(dòng)程序、通信模塊驅(qū)動(dòng)程序、鍵盤驅(qū)動(dòng)程序、電源管理驅(qū)動(dòng)程序等
這取決于您是在bootrom還是內(nèi)核下運(yùn)行。如果你想要兩者,它通常在img下的sys下。VxWorks不同于Linux。不能將驅(qū)動(dòng)程序編譯成單獨(dú)的Ko或模塊,它是與內(nèi)核一起編譯的。在makefile和驅(qū)動(dòng)程序接口中編譯和注冊(cè)。
vxworks6.7下怎么把驅(qū)動(dòng)程序添加到bsp中?
謝謝。我是建新。我來回答。
作為一名嵌入式初級(jí)從業(yè)者,您需要了解寄存器操作,并知道如何設(shè)置、讀取和清除位。了解模塊的工作原理,能夠根據(jù)原理圖和設(shè)計(jì)方案編寫模塊驅(qū)動(dòng)程序并提供API接口。
在初始階段工作一段時(shí)間后,熟悉每個(gè)模塊后,需要了解模塊的整體架構(gòu)設(shè)計(jì),了解Hal層的底層驅(qū)動(dòng)API,以及應(yīng)用層的SDK打包設(shè)計(jì)原則。
在高級(jí)階段,您需要了解的是arm的核心結(jié)構(gòu)設(shè)計(jì)、AHB和APB的總線設(shè)計(jì)以及時(shí)鐘分頻。對(duì)內(nèi)存管理的LMA和VMA有深入的了解,知道如何加載和運(yùn)行bin文件。
對(duì)FreeRTOS或UCOS等嵌入式操作系統(tǒng)有一定的了解,清楚進(jìn)程和線程,系統(tǒng)和IO外圍工作原理非常清楚。
以上是我個(gè)人對(duì)嵌入式驅(qū)動(dòng)開發(fā)的建議。我希望它能幫助你。