欧美麻豆久久久久久中文_成年免费观看_男人天堂亚洲成人_中国一级片_动漫黄网站免费永久在线观看_国产精品自产av一区二区三区

中培偉業(yè)IT資訊頻道
您現(xiàn)在的位置:首頁 > IT資訊 > IT運維 > 嵌入式linux系統(tǒng)是什么?

嵌入式linux系統(tǒng)是什么?

2020-07-27 14:48:08 | 來源:中培企業(yè)IT培訓(xùn)網(wǎng)

在我們?nèi)粘I钪校容^常見的就是關(guān)于嵌入式。因為嵌入式的范圍真的很廣發(fā),它是一種軟硬件可裁剪,對于以應(yīng)用程序為中心的專用系統(tǒng),硬件平臺可以是單片機或ARM系列處理器。SCM通常運行裸程序,但是現(xiàn)在有許多基于SCM的系統(tǒng)中。比較流行的開源系統(tǒng)RT-Thread做得很好,因此大多數(shù)基于ARM體系結(jié)構(gòu)的處理器都使用Linux系統(tǒng)作為軟件平臺,而某些設(shè)備則使用Android系統(tǒng)(內(nèi)核也是linux)。那么到底嵌入式linux系統(tǒng)是什么呢?

  嵌入式linux系統(tǒng)應(yīng)用開發(fā)

  一.簡介

嵌入式系統(tǒng)開發(fā)包括內(nèi)核、驅(qū)動、應(yīng)用三大部分,今天主要說應(yīng)用開發(fā),內(nèi)核與驅(qū)動就不多說了。嵌入式linux系統(tǒng)就是移植的linux內(nèi)核,使用對應(yīng)的編譯器,把linux內(nèi)核編譯后下載到存儲芯片,然后還需要做一個基本的根文件系統(tǒng),這樣系統(tǒng)就可以跑起來了,相對于PC上的系統(tǒng),還是比較簡單的。

  二.應(yīng)用開發(fā)環(huán)境

現(xiàn)在網(wǎng)上有好多視頻教程,一般第一節(jié)課都會教你怎么搭建開發(fā)環(huán)境。我這里簡單羅列一下:

1.安裝一個linux系統(tǒng)的虛擬機,我用的是Ubuntu。

2.然后給虛擬機安裝對應(yīng)的交叉編譯工具。

3.安裝常用工具,并配置:nfs、tftp、ftp、ssh服務(wù)、samba服務(wù)、vi必要的配置。

4.在板子上面使用nfs,還需要給板子的linux內(nèi)核配置上nfs-client和nfs文件系統(tǒng)支持。

5.我喜歡在板子上移植一些好用的工具,比如:ftp、ssh服務(wù)(終端登錄和傳文件用)、crontab等。

虛擬機登錄:安裝ssh服務(wù), 后可以用一些終端軟件通過ssh登錄,這樣不用在虛擬機的桌面里使用terminal了。

共享文件:我喜歡通過samba與windows共享目錄, 在windows下把共享目錄映射為網(wǎng)盤,使用起來也比較方便;我覺得這種共享很方便,比使用一些共享軟件要方便。掛載為網(wǎng)盤后和操作本地磁盤一樣,比較直觀。

  三.一般開發(fā)流程

在一些視頻教程中,一般介紹的開發(fā)流程是這樣的:在windows下編輯好代碼,在虛擬機里使用交叉編譯器對代碼進行交叉編譯,然后通過tftp/ftp下載到板子里,或者nfs掛載后運行測試; 入門時是這樣,但是如果是在公司做實際的產(chǎn)品開發(fā),這樣效率就會很低的。

下面是我常用的流程:

1.在windows下或者虛擬機里編輯代碼,代碼編輯器一般用sourceInsight、VSCode、Eclipse等。

2.代碼在寫的時候,注意把與底層硬件交互的地方加編譯選項,這樣是通過編譯開關(guān)控制硬件訪問的代碼是否啟用。

3.第二步所做的工作,在這一步就起到了作用,在Makefile里,會寫上根據(jù)不同的編譯選項,選擇不同的編譯器,如果是使用Ubuntu里的編譯器,那么就把硬件相關(guān)的交互屏蔽,這樣編譯出來的程序,可以直接在Ubuntu上運行了,這樣一來,我們可以在Ubuntu上做代碼單元測試、程序的邏輯驗證、運行性能測試等。80%的問題可以在Ubuntu里解決。

4.在Ubuntu里測試沒問題后,在交叉編譯,通過nfs共享目錄,在板子里運行調(diào)試。

這樣其實是減少下載程序到板子上這個過程,把邏輯驗證、代碼單元功能驗證放在Ubuntu里來驗證測試,而且Ubuntu里使用GDB調(diào)試也比較板子上方便。

  四.調(diào)試

最常用,也是最有效的方式就是加打印信息,記日志!基本上可以解決80%的問題。如果遇到程序異常掛掉(比如段錯誤等),程序掛掉一般沒有任何提示信息,也不確定是在那里掛掉的,這種問題一般使用GDB跟蹤,或者在代碼里加入backtrace信息輸出的代碼。

嵌入式linux系統(tǒng)應(yīng)用開發(fā),相對于內(nèi)核、驅(qū)動開發(fā),入門可能是比較容易的,畢竟應(yīng)用層的開發(fā),沒有那么多高深的東西。應(yīng)用層與具體業(yè)務(wù)關(guān)聯(lián)比較大,因此也就導(dǎo)致應(yīng)用開發(fā)的工作量比較大,需求也會有經(jīng)常變更風(fēng)險,但是應(yīng)用開發(fā)里會有好多技巧,可以大大提高工作效率;linux應(yīng)用可以使用C++進行開發(fā),利用C++的面向?qū)ο笏枷耄约艾F(xiàn)在C++11之后的新特性功能,提供了好多類似于Java里的一些好用的功能,可以大大提高應(yīng)用的開發(fā)效率。

綜上所述,嵌入式linux系統(tǒng)是什么相信大家已經(jīng)知曉了吧,想了解更多關(guān)于linux的信息,請繼續(xù)關(guān)注中培偉業(yè)。

標(biāo)簽: Linux IT運維
主站蜘蛛池模板: 亚洲精品成人网线在线播放va | 国产精品视频露脸 | 亚洲成a人片在线不卡一二三区 | 男人女人双性人人妖太监 | 欧美狂野另类xxxxoooo | 欧洲无码一区二区三区在线观看 | 久久久久久久久福利 | 亚洲精品不卡AV在线播放 | 大量国产私密保健视频 | 日韩精品精品 | 国内精品久久久久久久久齐齐 | 国产精品av久久久久久网站 | 真实嫖妓大龄熟妇 | 亚洲精品久久无码av片动漫网站 | 久久精品国产亚洲av不卡 | 国产午夜亚洲精品区 | 中文字幕日韩精品欧美一区 | 超碰97人人做人人爱网站 | 特级做a爰片毛片免费看 | 日本视频免费 | 欧美日韩国产激情 | 色情视频天天干 | 在线视频观看免费视频18 | 88久久精品无码一区二区毛片 | 亚洲中文久久精品无码照片 | 亚洲色爱图小说专区 | 亚洲欧洲日产国码无码网站 | 在线免费观看高清 | 一个人看的www片免费高清视频 | 久久高清内射无套 | 日韩人妻中文无码一区二区 | 人妻少妇精品中文字幕av蜜桃 | 最新啪啪网站 | 国色精品卡一卡2卡3卡4卡免费 | 日韩美女一区二区三区在线观看 | 国产成人av在线影院无毒 | 亚洲中日韩欧美高清在线 | 成人看片黄A免费看那个网址 | 亚洲熟妇色XXXXX欧美老妇Y | 成年午夜无码AV片在线观看 | 成人无码精品1区2区3区免费看 |