国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

查看: 2947|回復(fù): 0
打印 上一主題 下一主題

新手向!對ARM和嵌入式Linux的認(rèn)識和理解

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2017-10-29 10:32:27 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
嵌入式系統(tǒng)開發(fā)分為硬件部分和軟件部分:


硬件部分:

1、ARM介紹
嵌入式產(chǎn)品硬件,主要是一塊以(ARM、 DSP、 FPGA)為核心的開發(fā)板。根據(jù)不同的需求,配置不同的外設(shè),因為嵌入式產(chǎn)品是為特定應(yīng)用而生的,所以利用這些嵌入式芯片可以開發(fā)出很多產(chǎn)品;ARM是一款嵌入式芯片,往往說到ARM是指內(nèi)核是ARM的,一般內(nèi)核部分會加上cache ram rom等構(gòu)成cpu,在此基礎(chǔ)上其余部分都叫外設(shè),外設(shè)和cpu通過總線連接,常見外設(shè)有:usb,lcd,keyboard,uart,gpio,iic總線等控制器,類似的還有DSP、FPGA都是內(nèi)核+外設(shè)構(gòu)成一個硬件板子。簡單來講,嵌入式硬件就是內(nèi)核+外設(shè)。

2、嵌入式硬件開發(fā)
硬件開發(fā),主要流程是1需求分析:確定要做什么系統(tǒng),系統(tǒng)會涉及到那些模塊,相應(yīng)模塊分別對應(yīng)什么設(shè)備;2選型:選擇合適的芯片和外設(shè),先看有沒有類似的產(chǎn)品,選擇比較成熟的產(chǎn)品作為開發(fā)基礎(chǔ),加快開發(fā)效率;3進(jìn)入開發(fā)階段。

軟件部分:

1、Linux介紹
linux最大特點就是開源,內(nèi)核代碼全部開放,這就可以讓我們自己根據(jù)需求定制自己的操作系統(tǒng),操作系統(tǒng)主要功能就是管理片上所有資源,任務(wù)調(diào)度,為應(yīng)用程序運行服務(wù)的。

2、軟件開發(fā)
嵌入式軟件開發(fā),包括基于操作系統(tǒng)之上的應(yīng)用程序開發(fā),和操作系統(tǒng)內(nèi)核的驅(qū)動開發(fā)(驅(qū)動屬于內(nèi)核的一部分)。嵌入式軟件部分編程,就是在pc機(jī)上編寫代碼,最后下載到板子上執(zhí)行。

嵌入式技能描述:

1、開發(fā)環(huán)境搭建:嵌入式開發(fā)需要交叉開發(fā)環(huán)境,因為我們編碼工作都在pc上完成,運行在pc上的是基于x86體系的,在arm上運行需要編譯成特定代碼,運用交叉編譯器編譯。其中包括1u-boot/vivi(相當(dāng)于BIOS)的移植,這種bootloader是嚴(yán)重依賴于硬件,所以不同板子有不同配置,一般都根據(jù)板子進(jìn)行配置修改;2內(nèi)核裁剪,內(nèi)核是一個很龐大的體系,支持很多服務(wù),而我們需求可能只有幾種,為了減小嵌入式產(chǎn)品資源開銷,內(nèi)核都進(jìn)行裁剪(驅(qū)動加入或者刪除);3根文件系統(tǒng)制作,應(yīng)用程序是基于文件系統(tǒng)之上的,有了內(nèi)核必須要有文件系統(tǒng)才能運行應(yīng)用程序。

2、應(yīng)用程序開發(fā):主要是用C語言或者C++按需求開發(fā)代碼,最后交叉編譯,下載到板子運行。開發(fā)環(huán)境Qt,vim編輯器;交叉編譯器arm-linux-gcc;

3、Makefile編寫:代碼編寫后,要寫一個Makefile來編譯源代碼,Makefile就是按照規(guī)則運行g(shù)cc命令,最終生成可執(zhí)行文件,類似于批處理或者說是批編譯。

4、設(shè)備驅(qū)動開發(fā):驅(qū)動是根據(jù)特定硬件的,要根據(jù)硬件廠商提供的datasheet進(jìn)行編寫,基本上是編寫fileoperation里面的函數(shù)(open、close、read、write、ioctrl等),最后將設(shè)備驅(qū)動加載進(jìn)內(nèi)核(通過建立設(shè)備節(jié)點讓操作系統(tǒng)知道這個設(shè)備)。

5、基于板子外設(shè)的軟件開發(fā):嵌入式ARM最強(qiáng)大的功能是控制能力,類似于早期的單片機(jī),但是比單片機(jī)要有強(qiáng)大的網(wǎng)絡(luò)通信能力,支持操作系統(tǒng),更多外設(shè);

這種軟件開發(fā)就是通過編程,根據(jù)硬件datasheet,讓ARM控制硬件的控制器完成各種硬件的協(xié)調(diào)工作。(比如板子上一個引腳接上lcd,讓這個引腳對應(yīng)地址內(nèi)容為1就可以點亮這個lcd

6、熟悉電子線路基本知識:模電,數(shù)電,高頻電子,信號處理。

7、熟悉基于linux的socket網(wǎng)絡(luò)編程。

以下課程可免費試聽C語言、電子、PCB、STM32、Linux、FPGA、JAVA、安卓等。
想學(xué)習(xí)的你和我聯(lián)系預(yù)約就可以免費聽課了。
宋工企鵝號:3524-6590-88   Tel/WX:173--1795--1908


您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表