嵌入式系統(tǒng)分為4層,硬件層、驅(qū)動(dòng)層、操作系統(tǒng)層和應(yīng)用層。嵌入式操作系統(tǒng)是負(fù)責(zé)嵌入式系統(tǒng)的全部軟、硬件資源的分配、任務(wù)調(diào)度,控制、協(xié)調(diào)并發(fā)活動(dòng)。它必須體現(xiàn)其所在系統(tǒng)的特征,能夠通過裝卸某些模塊來達(dá)到系統(tǒng)所要求的功能,是一種用途廣泛的系統(tǒng)軟件。
嵌入式開發(fā)基本都會(huì)選擇C語言 這是因?yàn)镃語言有出色的可移植性 能在多種不同體系結(jié)構(gòu)的軟/硬平臺(tái)上運(yùn)行 雖然代碼的復(fù)用性差 代碼的維護(hù)性差 擴(kuò)展性很差 但,C語言簡(jiǎn)潔緊湊 使用靈活的語法機(jī)制 并且,C語言具有很高的運(yùn)行效率 那么如何保證C語言的執(zhí)行效率? 嵌
C語言作為一個(gè)人盡皆知的語言,甚至沒有學(xué)過編程語言的人也知道它的大名。經(jīng)歷滄桑歲月的它,已經(jīng)陪伴我們走過了48個(gè)年頭。回望當(dāng)年,C語言還在襁褓之中…… 貝爾實(shí)驗(yàn)室特別人員獎(jiǎng)、美國計(jì)算機(jī)協(xié)會(huì)(ACM)的圖靈獎(jiǎng)、漢明勛章、計(jì)算機(jī)先驅(qū)獎(jiǎng)、計(jì)算機(jī)歷史博物館
問題 經(jīng)常有同學(xué)問我:老師,我想學(xué)嵌入式,應(yīng)該買哪個(gè)板子? 這個(gè)問題本身就是錯(cuò)的。 如果你去問10個(gè)買過開發(fā)板的人,至少有8個(gè)最終都吃灰了,而且他也沒通過這個(gè)板子以及板子附帶的所謂“教程”真的學(xué)會(huì)。 如果你去問10個(gè)已經(jīng)學(xué)會(huì)成功進(jìn)入嵌入式開發(fā)行業(yè)的
▍進(jìn)程的概念 ·?進(jìn)程是操作系統(tǒng)的概念,每當(dāng)我們執(zhí)行一個(gè)程序時(shí),對(duì)于操作系統(tǒng)來講就創(chuàng)建了一個(gè)進(jìn)程,在這個(gè)過程中,伴隨著資源的分配和釋放??梢哉J(rèn)為進(jìn)程是一個(gè)程序的一次執(zhí)行過程。 ▍進(jìn)程通信的概念 ·?進(jìn)程用戶空間是相互獨(dú)立的,一般而言是不能相互訪問
如何調(diào)整Linux內(nèi)核啟動(dòng)中的驅(qū)動(dòng)初始化順序? 【問題】 此處我要實(shí)現(xiàn)的是將芯片的ID用于網(wǎng)卡MAC地址,網(wǎng)卡驅(qū)動(dòng)是enc28j60_init。 但是,讀取芯片ID的函數(shù),在as352x_afe_init模塊中,所以要先初始化as352x_afe_init。 此處,內(nèi)核編譯完之后,在生成的system.ma
[導(dǎo)讀] 前面的文章有提到linux啟動(dòng)的第一個(gè)進(jìn)程為init,那么該進(jìn)程究竟是如何從內(nèi)核啟動(dòng)入口一步一步運(yùn)行起來的,而該進(jìn)程又有些什么作用呢?做嵌入式Linux開發(fā),有必要對(duì)這些概念了解清楚。本文基于ARM體系的內(nèi)核啟動(dòng)做出解析。 跳轉(zhuǎn)內(nèi)核前基本準(zhǔn)備 參考./Do
01 問題 首先確認(rèn)下,我們這里講的單片機(jī)主要是指51、STM32、MSP430、PIC、LPCxx等各種單片機(jī)開發(fā)工作。而嵌入式主要是指嵌入式linux軟件開發(fā),也就是硬件上基于嵌入式ARM、MIPS等平臺(tái),軟件上基于linux系統(tǒng)的驅(qū)動(dòng)開發(fā)、應(yīng)用開發(fā)等工作。 圍繞單片機(jī)和嵌入式
也許你會(huì)注意到,現(xiàn)在做嵌入式的人中,做linux研究的人遠(yuǎn)比做WinCE的人多,很多產(chǎn)家提供的資料也是以linux為主。我一直很難理解,其實(shí)WinCE的界面比linux的界面好看多了,使用起來也很方便,更為重要的是,WinCE的開發(fā)和Windows下的開發(fā)基本一樣,學(xué)起來簡(jiǎn)單
「本文目錄」 結(jié)構(gòu)體的聲明與定義 聲明 定義 訪問結(jié)構(gòu)體成員 初始化結(jié)構(gòu)體 對(duì)齊 結(jié)構(gòu)體嵌套 結(jié)構(gòu)體數(shù)組 結(jié)構(gòu)體指針 傳遞結(jié)構(gòu)體信息 傳遞結(jié)構(gòu)體變量 傳遞指向結(jié)構(gòu)體變量的指針 動(dòng)態(tài)申請(qǐng)結(jié)構(gòu)體 實(shí)戰(zhàn):建立一個(gè)圖書館數(shù)據(jù)庫 單鏈表 在單鏈表中插入元素 搜索單鏈
1.背景 今天偶然在一個(gè)群里看到有人聊EMMC和Nand,相信很多嵌入式er都用過或者至少聽說過這2種板載存儲(chǔ)芯片,但是很多人不清楚這2種的差異,也不明白什么時(shí)候應(yīng)該用EMMC什么時(shí)候用Nand,如何選擇?今天我們就來聊聊這個(gè)問題。 2.Nand是這樣的 Nand是一種flash
據(jù)外媒報(bào)道,微軟公司正在聯(lián)合制藥公司,共同招募新冠肺炎康復(fù)者捐獻(xiàn)血漿。為了幫助宣傳,微軟推出了一款名為“plasmabot(血漿機(jī)器人)”的聊天機(jī)器人,旨在通過引導(dǎo)人們回答一系列問題來確定他們是否具有資格捐獻(xiàn)血漿。 據(jù)了解,早在130多年以前,醫(yī)生就發(fā)
近日有消息稱,在新冠肺炎疫情的沖擊下,家電行業(yè)受影響較大,海信裁員1萬人,海爾也開始裁員了。 對(duì)此, 海信集團(tuán)4月12日發(fā)布公告稱,受全球疫情影響,家電行業(yè)國內(nèi)外市場(chǎng)均出現(xiàn)較大規(guī)模下滑。海信海外業(yè)務(wù)收入占集團(tuán)整體收入已超過40%,經(jīng)營形勢(shì)更加嚴(yán)峻。
▍進(jìn)程的概念 ·?進(jìn)程是操作系統(tǒng)的概念,每當(dāng)我們執(zhí)行一個(gè)程序時(shí),對(duì)于操作系統(tǒng)來講就創(chuàng)建了一個(gè)進(jìn)程,在這個(gè)過程中,伴隨著資源的分配和釋放。可以認(rèn)為進(jìn)程是一個(gè)程序的一次執(zhí)行過程。 ▍進(jìn)程通信的概念 ·?進(jìn)程用戶空間是相互獨(dú)立的,一般而言是不能相互訪問
谷歌自研處理器并不稀奇,早在幾年前,谷歌就推出了AI人工智能/機(jī)器學(xué)習(xí)專用處理器TPU,引起業(yè)界極大關(guān)注。 但谷歌要做手機(jī)處理器,還是一個(gè)新鮮事兒。畢竟,術(shù)業(yè)有專攻,市場(chǎng)上成熟的商用手機(jī)處理器并不少見,而谷歌手機(jī)也一直使用的是高通的芯片。 最近,據(jù)