RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

i.MX6ULL嵌入式Linux開發(fā)4-根文件系統(tǒng)構(gòu)建

碼農(nóng)愛學(xué)習(xí) ? 來源:碼農(nóng)愛學(xué)習(xí) ? 作者:碼農(nóng)愛學(xué)習(xí) ? 2022-03-14 08:41 ? 次閱讀

前面幾篇介紹了uboot的移植與內(nèi)核的移植,本篇進(jìn)行根文件系統(tǒng)的構(gòu)建,這是Linux移植三大組成部分的最后一步,根文件系統(tǒng)構(gòu)建好后,就構(gòu)成了一個(gè)基礎(chǔ)的、可以運(yùn)行的嵌入式Linux最小系統(tǒng)。

1 根文件系統(tǒng)簡介

Linux的根文件系統(tǒng)一般也叫做 rootfs,Linux的根文件系統(tǒng)更像是一個(gè)文件夾或者叫做目錄,在這個(gè)目錄里面會(huì)有很多的子目錄。根目錄下和子目錄中會(huì)有很多的文件,這些文件是Linux運(yùn)行所必須的,比如庫、常用的軟件和命令、設(shè)備文件、配置文件等等。

根文件系統(tǒng)的這個(gè)“根”字就說明了這個(gè)文件系統(tǒng)的重要性,它是其他文件系統(tǒng)的根,沒有這個(gè)“根” ,其他的文件系統(tǒng)或者軟件就別想工作。比如我們常用的 ls、mv、ifconfig 等命令其實(shí)就是一個(gè)個(gè)小軟件,只是這些軟件沒有圖形界面,而且需要輸入命令來運(yùn)行。這些小軟件就保存在根文件系統(tǒng)中。

在構(gòu)建根文件系統(tǒng)之前,先來看一下根文件系統(tǒng)里面都有些什么內(nèi)容,根文件系統(tǒng)的目錄名字為‘/’ ,就是一個(gè)斜杠:

pYYBAGIuAkyAaiJ0AAEuzUwKHZE460.png

根文件系統(tǒng)的各個(gè)文件夾的作用如下:

目錄 描述
/bin 此目錄下存放著系統(tǒng)需要的可執(zhí)行文件,一般都是一些命令,比如 ls、mv 等命令
/dev dev 是 device 的縮寫,所以此目錄下的文件都是和設(shè)備有關(guān)的。在Linux下一切皆文件,即使是硬件設(shè)備,也是以文件的形式存在的,比如/dev/ttymxc0就表示串口0
/etc 此目錄下存放著各種配置文件
/lib lib是library的簡稱,也就是庫的意思,因此此目錄下存放著Linux所必須的庫文件
/mnt 臨時(shí)掛載目錄,一般是空目錄,可以在此目錄下創(chuàng)建空的子目錄,比如/mnt/sd、/mnt/usb,這樣就可以將SD卡或者U盤掛載到/mnt/sd 或者/mnt/usb 目錄中
/proc 此目錄一般是空的,當(dāng)Linux系統(tǒng)啟動(dòng)以后會(huì)將此目錄作為proc文件系統(tǒng)的掛載點(diǎn),proc是個(gè)虛擬文件系統(tǒng),沒有實(shí)際的存儲(chǔ)設(shè)備。proc里面的文件都是臨時(shí)存在的,一般用來存儲(chǔ)系統(tǒng)運(yùn)行信息文件
/usr 注意,usr不是user的縮寫,而是Unix Software Resource的縮寫,即Unix操作系統(tǒng)軟件資源目錄。Linux 一般被稱為類Unix操作系統(tǒng)。既然是軟件資源目錄,因此/usr 目錄下也存放著很多軟件,一般系統(tǒng)安裝完成以后此目錄占用的空間最多
/var 此目錄存放一些可以改變的數(shù)據(jù)
/sbin 此目錄頁用戶存放一些可執(zhí)行文件, 但是此目錄下的文件或者說命令只有管理員才能使用,主要用于系統(tǒng)管理
/sys 系統(tǒng)啟動(dòng)以后此目錄作為 sysfs 文件系統(tǒng)的掛載點(diǎn),sysfs是一個(gè)類似于 proc文件系統(tǒng)的特殊文件系統(tǒng),sysfs也是基于RAM的文件系統(tǒng),也就是說它也沒有實(shí)際的存儲(chǔ)設(shè)備。此目錄是系統(tǒng)設(shè)備管理的重要目錄
/opt 可選的文件、軟件存放區(qū),由用戶選擇將哪些文件或軟件放到此目錄中

2 BusyBox構(gòu)建根文件系統(tǒng)

2.1 BusyBox簡介

BusyBox是一個(gè)集成了大量的Linux命令(如ls、mv、ifconfig 等命令)和工具的軟件。借助BusyBox,進(jìn)行配置和編譯,就可以方便的構(gòu)建一個(gè)嵌入Linux平臺(tái)所需要的根文件系統(tǒng)。

課程BusyBox官網(wǎng)https://busybox.net/下載源碼,如下圖。

poYBAGIuAl2AR7PQAAJsvpruogw085.png

左側(cè)的“Get BusyBox”欄有一行“Download Source” ,點(diǎn)擊“Download Source”即可打開 BusyBox 的下載頁。

pYYBAGIuAmSAfu6-AABhwM2BF80510.png

目前最新的 BusyBox 版本是1.33.1,但這里使用正點(diǎn)原子提供的1.29.0版本的BusyBox(busybox-1.29.0.tar.bz2)

2.2 搭建NFS服務(wù)

一般在Linux驅(qū)動(dòng)開發(fā)的時(shí)候都是通過NFS掛載根文件系統(tǒng)的,當(dāng)調(diào)試好之后再將根文件系統(tǒng)燒寫到 EMMC或者NAND中,因此需要先在ubuntu虛擬機(jī)中構(gòu)建NFS服務(wù):

sudo apt-get install nfs-kernel-server rpcbind

等待安裝完成,在合適的地方新建一個(gè)名為“nfs”的文件夾,供NFS服務(wù)器使用。

如我的創(chuàng)建目錄為:/home/xxpcb/myTest/nfs

在使用NFS之前,還需要先配置NFS,修改配置文件/etc/exports,在后面添加如下所示內(nèi)容:

/home/xxpcb/myTest/nfs *(rw,sync,no_root_squash) 
poYBAGIuAm2AVQYVAACEqI4hBak521.png

最后重啟NFS服務(wù)即可:

sudo /etc/init.d/nfs-kernel-server restart

正常情況會(huì)出現(xiàn)如下圖,表示設(shè)置成功:

pYYBAGIuAnOAXaO_AABV2ZOehBk586.png

注:我第一次設(shè)置時(shí),文件路徑中的一個(gè)大小寫字母搞錯(cuò)了,導(dǎo)致重啟NFS時(shí)提示失?。ㄈ缦聢D),所以在設(shè)置時(shí)要注意細(xì)節(jié)!

pYYBAGIuAnqADM1mAAFYX-Uf4-c814.png

2.3 修改配置BusyBox

在nfs服務(wù)器目錄中創(chuàng)建一個(gè)名為rootfs的子目錄,用來存放我們的根文件系統(tǒng)。

busybox-1.29.0.tar.bz2發(fā)送到Ubuntu中的合適位置(我存放在 /home/xxpcb/myTest/imx6ull/dts)并解壓:

tar -vxjf busybox-1.29.0.tar.bz2 

解壓后的文件如下:

poYBAGIuAoOAL9vsAAHuAK6Hfmw489.png

2.3.1 修改Makefile添加編譯器

注:這一步可以不修改,這里修改Makefile的目的是為了在編譯時(shí),可以不用在指定編譯器的架構(gòu),從而可以縮短手動(dòng)輸入指令的長度。但我此次測試時(shí),修改Makefile后,輸入make指令的命令進(jìn)行編譯時(shí),不指定編譯器,還是會(huì)提示編譯器找不到之類的問題。所以,此次的測試,我就沒有修改這個(gè)Makefile。

如果堅(jiān)持要修改Makefile,就是修改如下的地方,指定編譯器與架構(gòu)(本篇進(jìn)行實(shí)驗(yàn)時(shí)沒有修改)。

pYYBAGIuAoqAMoCwAAGcI_QoPZM532.png

2.3.2 busybox中文字符支持

現(xiàn)在如果直接編譯busybox的,在使用串口工具的時(shí)候是不支持中文顯示的,中文字符會(huì)顯示為“?” 。可以通過busybox源碼,來取消 busybox對(duì)中文顯示的限制。

打開文件busybox-1.29.0/libbb/printable_string.c,找到函數(shù)printable_string,吧某些程序注釋掉,修改后的函數(shù)內(nèi)容如下:

pYYBAGIuApCAOjDqAADnEiH6dIY864.png

主要就是禁止字符大于0X7F以后 break 和輸出‘?’

接著打開文件busybox-1.29.0/libbb/unicode.c,修改如下內(nèi)容:

poYBAGIuApaAXGOCAAFmkhaWZgE563.png

2.3.3 配置busybox

有以下幾種配置選項(xiàng):

defconfig:缺省配置,也就是默認(rèn)配置選項(xiàng)

allyesconfi:全選配置,也就是選中 busybox 的所有功能

allnoconfig:最小配置

一般使用默認(rèn)配置即可,因此使用如下命令先使用默認(rèn)配置來配置一下 busybox:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- defconfig 
pYYBAGIuAqeARAJlAALQvpkQdLs771.png

busybox也支持圖形化配置,通過圖形化配置我們可以進(jìn)一步選擇自己想要的功能,輸入如下命令打開圖形化配置界面:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
pYYBAGIuAq6AJBkeAAEMTRxIHz4304.png

(1) 設(shè)置Settings -> Build static binary (no shared libs)

選項(xiàng)“Build static binary (no shared libs)”用來決定是靜態(tài)編譯還是動(dòng)態(tài)編譯,靜態(tài)編譯的話就不需要庫文件,但是編譯出來的庫會(huì)很大。動(dòng)態(tài)編譯的話要求根文件系統(tǒng)中有庫文件,但是編譯出來的 busybox 會(huì)小很多。這里我們不使用靜態(tài)編譯,所以保持默認(rèn)不選即可。

poYBAGIuArWABDyVAAEA2S1Jpx0254.png

(2) 設(shè)置Settings -> vi-style line editing commands

這個(gè)要勾選,通過按鍵“y”實(shí)現(xiàn)勾選,使得方括號(hào)內(nèi)出現(xiàn)星號(hào)

pYYBAGIuAruAOt_0AAEOrvuhy8Y300.png

(3) 配置Linux Module Utilities -> Simplified modutils

默認(rèn)會(huì)選中“Simplified modutils” ,這里我們要取消勾選! 使用鍵盤上的“n”鍵取消方括號(hào)中的星號(hào)。

pYYBAGIuAsGAGCn0AAEHKkm78PY359.png

(4) 配置Linux System Utilities -> mdev (16 kb)

確保下面的全部選中,默認(rèn)都是選中

pYYBAGIuAsmAQIAPAAFgvkUB1T0620.png

(5) 設(shè)置Settings -> Support Unicode

要將默認(rèn)沒有勾選的Check $LC_ALL項(xiàng)選中!

poYBAGIuAs2AVOiIAAEhdJ-GsLU062.png

最后按兩下ESC退出設(shè)置,并選擇YES保持存。

2.4 編譯busybox構(gòu)建根文件系統(tǒng)

輸入如下指令進(jìn)行編譯:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- install CONFIG_PREFIX=/home/xxpcb/myTest/nfs/rootfs

編譯完成以后, busybox的所有工具和文件就會(huì)被安裝到rootfs目錄中,如下圖:

poYBAGIuAtWAYl-6AAI1L5t-jzU221.png

rootfs目錄下有bin、sbin和usr三個(gè)目錄,以及l(fā)inuxrc文件。Linux內(nèi)核linit進(jìn)程最后會(huì)查找用戶空間的init程序,找到以后就會(huì)運(yùn)行這個(gè)用戶空間的init程序,從而切換到用戶態(tài)。如果bootargs設(shè)置init=/linuxrc,那么linuxrc就是可以作為用戶空間的init程序。

2.5 向根文件系統(tǒng)添加lib庫

busybox編譯完成后,此時(shí)的根文件系統(tǒng)還不能使用, 還需要一些其他的文件。

2.5.1 向rootfs/lib中添加

上面的busybox使用的是動(dòng)態(tài)庫編譯,所以還需要向根文件系統(tǒng)中添加動(dòng)態(tài)庫

先在rootfs中創(chuàng)建一個(gè)名為“l(fā)ib”的文件夾。lib庫文件從交叉編譯器中獲取,之前搭建交叉編譯環(huán)境的時(shí)候?qū)⒔徊婢幾g器存放到了“/usr/local/arm/”目錄中,進(jìn)入對(duì)應(yīng)的目錄:

cd /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/lib 
pYYBAGIuAtyARsNKAALxaRm4duI003.png

此目錄下有很多的so和.a 文件,這些就是庫文件,將此目錄下所有的so和.a文件都拷貝到 rootfs/lib 目錄中:

cp *so* *.a /home/xxpcb/myTest/nfs/rootfs/lib/ -d 

后面的“-d”表示拷貝符號(hào)鏈接,這里有個(gè)比較特殊的庫文件:ld-linux-armhf.so.3,此庫文件也是個(gè)符號(hào)鏈接,相當(dāng)于 Windows 下的快捷方式。會(huì)鏈接到庫 ld-2.19-2014.08-1-git.so 上,輸入命令如下指令查看此文件詳細(xì)信息:

ls ld-linux-armhf.so.3 -l
poYBAGIuAuKAciG5AAHiz4nlKaA107.png

ld-linux-armhf.so.3 后面有個(gè)“->” ,表示其是個(gè)軟連接文件,鏈接到文件ld-2.19-2014.08-1-git.so,因?yàn)槠涫且粋€(gè)“快捷方式” ,因此大小只有 24B。但是,ld-linux-armhf.so.3不能作為符號(hào)鏈接,否則的話在根文件系統(tǒng)中執(zhí)行程序無法執(zhí)行!所以我們需要重新復(fù)制ld-linux- armhf.so.3,替換掉這個(gè)軟鏈接。

先刪除這個(gè)軟連接文件:

rm ld-linux-armhf.so.3

然后重新進(jìn)入到 /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm- linux-gnueabihf/libc/lib 目錄中,重新拷貝ld-linux-armhf.so.3,命令如下:

cp ld-linux-armhf.so.3 /home/xxpcb/myTest/nfs/rootfs/lib/

拷貝完成以后再到 rootfs/lib 目錄下查看ld-linux-armhf.so.3文件詳細(xì)信息,此時(shí)ld-linux-armhf.so.3 已經(jīng)不是軟連接了,而是實(shí)實(shí)在在的一個(gè)庫文件,而且文件大小為 724392B。

pYYBAGIuAuiAUWyFAAIBaYbRMmM039.png

繼續(xù)進(jìn)入如下目錄中:

cd /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/lib
poYBAGIuAu-Aely8AAFXIcan8z0929.png

此目錄下也有很多的的so和.a 庫文件,我們將其也拷貝到 rootfs/lib 目錄中,命令如下:

cp *so* *.a /home/xxpcb/myTest/nfs/rootfs/lib/ -d 

rootfs/lib 目錄的庫文件就這些了,完成以后的rootfs/lib目錄如圖:

pYYBAGIuAvaAf7r7AAKq75mvV3w590.png

2.5.2 向rootfs/usr/lib中添加

rootfs/usr目錄下創(chuàng)建一個(gè)名為lib的目錄, 將如下目錄中的庫文件拷貝到rootfs/usr/lib目錄下:

/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/lib

將此目錄下的so和.a 庫文件都拷貝到rootfs/usr/lib目錄中:

cp *so* *.a /home/xxpcb/myTest/nfs/rootfs/usr/lib/ -d

完成以后的rootfs/usr/lib目錄為:

pYYBAGIuAvyAJbb4AAF5fYVgKkM898.png

至此,根文件系統(tǒng)的庫文件就全部添加好了,可以在rootfs目錄下使用“du”命令來查看一下/lib和/usr/lib 這兩個(gè)目錄的大?。?/p>

du ./lib ./usr/lib/ -sh  
poYBAGIuAwSAfhY5AAC85qio4W0088.png

2.6 創(chuàng)建其他文件夾

在根文件系統(tǒng)中創(chuàng)建其他文件夾,如 dev、proc、mnt、sys、tmp 和 root 等,創(chuàng)建完后的效果:

poYBAGIuA2OAf33nAAEHNhz5jWw752.png

3 根文件系統(tǒng)初步測試

3.1 bootargs環(huán)境變量設(shè)置

使用NFS掛載的方式來測試上面創(chuàng)建好的根文件系統(tǒng)rootfs。

uboot里面的bootargs環(huán)境變量會(huì)設(shè)置root的值,需要將root的值改為NFS掛載,設(shè)置格式如為:

root=/dev/nfs nfsroot=[:][,] ip=::::::::

:服務(wù)器IP,存放根文件系統(tǒng)的Ubuntu的IP地址,比如我的192.168.5.105。

:根文件系統(tǒng)的存放路徑,比如我的就是/home/xxpcb/myTest/nfs/rootfs。

:NFS 的其他可選選項(xiàng),一般不設(shè)置。

:客戶端IP ,開發(fā)板的IP地址,Linux內(nèi)核啟動(dòng)以后就會(huì)使用此IP地址來配置開發(fā)板。我的為92.168.5.102。

:網(wǎng)關(guān)地址,我的就是 192.168.5.1。

:子網(wǎng)掩碼,我的就是 255.255.255.0。

:客戶機(jī)的名字,一般不設(shè)置,此值可以空著。

:設(shè)備名,也就是網(wǎng)卡名,一般是 eth0,eth1….,正點(diǎn)原子與野火的開發(fā)板均為ENET2為eth0,ENET1為eth1。這里我們使用ENET2,所以網(wǎng)卡名就是 eth0。

:自動(dòng)配置,一般不使用,所以設(shè)置為 off。

:DNS0 服務(wù)器 IP 地址,不使用。

:DNS1 服務(wù)器 IP 地址,不使用。

根據(jù)上面的格式bootargs環(huán)境變量的root值如下:

root=/dev/nfs nfsroot=192.168.5.105:/home/xxpcb/myTest/nfs/rootfs,proto=tcp rw ip=192.168.5.102:192.168.5.105:192.168.5.1:255.255.255.0::eth1:off

啟動(dòng)開發(fā)板,串口連接開發(fā)板,進(jìn)入uboot命令行模式,然后設(shè)置bootargs環(huán)境變量,命令如下:

setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.5.105:/home/xxpcb/myTest/nfs/rootfs,proto=tcp rw ip=192.168.5.102:192.168.5.105:192.168.5.1:255.255.255.0::eth1:off' 
saveenv  

設(shè)置好以后使用“boot”命令啟動(dòng)Linux內(nèi)核

Linux內(nèi)核的啟動(dòng)還是按照上一篇介紹的,使用tftp將zImage和設(shè)備樹傳輸?shù)介_發(fā)板中運(yùn)行

這里注意一下,因?yàn)榇舜螠y試,我將zImage和dtb文件移入了tftp目錄中的nxp文件夾中,所以傳輸指令需要修改一下:

setenv bootcmd 'tftp 80800000 nxp/zImage; tftp 83000000 nxp/imx6ull-myboard.dtb; bootz 80800000 - 83000000' 
saveenv

然后就可以使用boot命令來進(jìn)行tftp傳輸了。

3.2 NFS掛載錯(cuò)誤與解決方法

3.2.1 錯(cuò)誤提示

在使用boot命令來進(jìn)行tftp傳輸了,啟動(dòng)內(nèi)核時(shí),出現(xiàn)了NFS根文件系統(tǒng)不能掛載的錯(cuò)誤:

VFS: Unable to mount root fs via NFS, trying floppy.

VFS: Cannot open root device "nfs" or unknown-block(2,0): error -6
poYBAGIuA3eAEi-NAAHRT0Gn6AM139.png

3.2.2 無效的解決方法

先是嘗試了多種方法,都不能解決問題,這些無效的方法包括:

嘗試修改配置,將Linux System Utilities ->Support mounting NFS file選中(無效)

pYYBAGIuA4OAQC-uAAEY1ZqfbOE579.png

嘗試將nfs目錄的下的rootfs文件夾賦予777的權(quán)限(無效)

poYBAGIuA4mAAksHAABvDlOwypw069.png

嘗試換用其它的串口軟件(SecureCRT)來操作(無效)

3.2.3 有效的解決方法

最后,參考這篇博文:https://blog.csdn.net/InFoport/article/details/90317697

通過在bootargs添加中添加nfsvers=4,這個(gè)選項(xiàng),就可以正常掛載nfs的文件系統(tǒng)了:

setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.5.105:/home/xxpcb/myTest/nfs/rootfs,proto=tcp,nfsvers=4 rw ip=192.168.5.102:192.168.5.105:192.168.5.1:255.255.255.0::eth1:off' 
poYBAGIuA46AQvdIAADWUVDuFT0990.png

注:無效方法中的Linux System Utilities ->Support mounting NFS file,因開啟后也不起作用,后續(xù)測試就將其改為默認(rèn)的不勾選。

3.3 文件系統(tǒng)使用測試

按下回車鍵,就進(jìn)入了文件系統(tǒng),使用ls命令就可以看到了系統(tǒng)文件。

再使用touch命令來新建一個(gè)中文名稱的文件,也是OK的。

pYYBAGIuA5SAQNaBAACjyeie_NM112.png

4 總結(jié)

本篇使用BusyBox來構(gòu)建根文件系統(tǒng),并通過NFS網(wǎng)絡(luò)調(diào)試的方式實(shí)現(xiàn)根文件系統(tǒng)掛載測試,實(shí)測時(shí)解決了NFS根文件系統(tǒng)不能掛載的問題,最終根文件系統(tǒng)基本功能測試正常。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5082

    文章

    19104

    瀏覽量

    304791
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11292

    瀏覽量

    209322
  • 移植
    +關(guān)注

    關(guān)注

    1

    文章

    379

    瀏覽量

    28124
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【迅為電子】i.MX6UL和i.MX6ULL芯片區(qū)別與開發(fā)板對(duì)比

    【迅為電子】i.MX6UL和i.MX6ULL芯片區(qū)別與開發(fā)板對(duì)比
    的頭像 發(fā)表于 11-28 14:31 ?317次閱讀
    【迅為電子】<b class='flag-5'>i.MX6</b>UL和<b class='flag-5'>i.MX6ULL</b>芯片區(qū)別與<b class='flag-5'>開發(fā)</b>板對(duì)比

    【新品】i.MX6ULL工業(yè)嵌入式核心板!NXP低功耗MPU,LCD顯示

    核心板新品上市ECK20-6Y2XA系列核心板是億佰特基于NXPCortex-A7內(nèi)核i.MX6ULL處理器精心設(shè)計(jì)的,采用郵票孔連接的低成本、低功耗、高性價(jià)比、高可靠性的嵌入式核心板??蓮V泛應(yīng)用于工業(yè)控制、HMI、IoT等領(lǐng)域
    的頭像 發(fā)表于 11-15 01:04 ?177次閱讀
    【新品】<b class='flag-5'>i.MX6ULL</b>工業(yè)<b class='flag-5'>嵌入式</b>核心板!NXP低功耗MPU,LCD顯示

    【北京迅為】i.mx8mm嵌入式linux開發(fā)指南第四篇 嵌入式Linux系統(tǒng)移植篇第六十九章uboot移植

    【北京迅為】i.mx8mm嵌入式linux開發(fā)指南第四篇 嵌入式Linux
    的頭像 發(fā)表于 10-22 14:46 ?588次閱讀
    【北京迅為】<b class='flag-5'>i.mx</b>8mm<b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b><b class='flag-5'>開發(fā)</b>指南第四篇 <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b><b class='flag-5'>系統(tǒng)</b>移植篇第六十九章uboot移植

    Linux文件系統(tǒng)的掛載過程

    Linux文件系統(tǒng)(rootfs)是Linux系統(tǒng)中所有其他文件系統(tǒng)和目錄的起點(diǎn),它是內(nèi)核啟動(dòng)
    的頭像 發(fā)表于 10-05 16:50 ?401次閱讀

    如何構(gòu)建Linux文件系統(tǒng)

    構(gòu)建Linux文件系統(tǒng)是一個(gè)涉及多個(gè)步驟和概念的過程,它對(duì)于Linux系統(tǒng)的啟動(dòng)和運(yùn)行至關(guān)重要
    的頭像 發(fā)表于 10-05 16:47 ?292次閱讀

    嵌入式linux開發(fā)的基本步驟有哪些?

    嵌入式Linux開發(fā)是一個(gè)復(fù)雜的過程,涉及到硬件選擇、操作系統(tǒng)移植、驅(qū)動(dòng)開發(fā)、應(yīng)用程序開發(fā)等多個(gè)
    的頭像 發(fā)表于 09-02 09:11 ?478次閱讀

    嵌入式linux開發(fā)板怎么操作

    嵌入式Linux開發(fā)板是一種基于Linux操作系統(tǒng)嵌入式
    的頭像 發(fā)表于 09-02 09:09 ?371次閱讀

    嵌入式linux開發(fā)板芯片的工作原理

    嵌入式Linux開發(fā)板是一種基于Linux操作系統(tǒng)嵌入式
    的頭像 發(fā)表于 09-02 09:07 ?374次閱讀

    STM32MP157D使用buildroot生成文件系統(tǒng)時(shí)就無法正常顯示,為什么?

    我在使用最新OpenSTLinux(5.1.0)Linux版本:6.1.28,使用官方的文件系統(tǒng)(st-image-weston-openstlinux-weston-stm32mp1.ext
    發(fā)表于 07-26 06:21

    專家力薦|《嵌入式系統(tǒng)原理與開發(fā)——基于RISC-V和Linux系統(tǒng)》新書發(fā)售

    當(dāng)前,嵌入式系統(tǒng)已成為智能設(shè)備的核心之一,RISC-V+Linux的開源力量為嵌入式系統(tǒng)注入強(qiáng)大的創(chuàng)新動(dòng)力。作為中國RISC-V軟硬件生態(tài)領(lǐng)
    的頭像 發(fā)表于 07-24 08:20 ?598次閱讀
    專家力薦|《<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>原理與<b class='flag-5'>開發(fā)</b>——基于RISC-V和<b class='flag-5'>Linux</b><b class='flag-5'>系統(tǒng)</b>》新書發(fā)售

    淺析在NXP I.MX6ULL+Linux平臺(tái)下進(jìn)行WM8960音頻芯片移植的過程

    本文詳細(xì)記錄在NXP I.MX6ULL+Linux平臺(tái)下進(jìn)行WM8960音頻芯片移植的過程,其他平臺(tái)操作方法類似,希望為大家提供幫助。
    的頭像 發(fā)表于 05-17 11:33 ?1270次閱讀
    淺析在NXP <b class='flag-5'>I.MX6ULL+Linux</b>平臺(tái)下進(jìn)行WM8960音頻芯片移植的過程

    基于飛凌嵌入式i.MX6ULL核心板的電梯智能物聯(lián)網(wǎng)關(guān)方案

    使用飛凌嵌入式FETMX6ULL-S核心板作為智能電梯物聯(lián)網(wǎng)關(guān)的主控平臺(tái),為智能電梯的變革提供了強(qiáng)有力的技術(shù)支持。
    的頭像 發(fā)表于 03-22 10:45 ?1489次閱讀
    基于飛凌<b class='flag-5'>嵌入式</b><b class='flag-5'>i.MX6ULL</b>核心板的電梯智能物聯(lián)網(wǎng)關(guān)方案

    嵌入式SD NAND】基于FATFS/Littlefs文件系統(tǒng)的日志框架實(shí)現(xiàn)

    文章目錄【嵌入式】基于FATFS/Littlefs文件系統(tǒng)的日志框架實(shí)現(xiàn)1.概述2.設(shè)計(jì)概要3.設(shè)計(jì)實(shí)現(xiàn)3.1初始化`init`3.2日志寫入`write`3.3日志讀取`read`3.4注銷
    的頭像 發(fā)表于 03-14 18:12 ?1155次閱讀
    【<b class='flag-5'>嵌入式</b>SD NAND】基于FATFS/Littlefs<b class='flag-5'>文件系統(tǒng)</b>的日志框架實(shí)現(xiàn)

    嵌入式學(xué)習(xí)-ElfBoard ELF 1-gpio模擬i2c的方法

    /linux-4.1.15-elf1$ make zImage 二、設(shè)備樹修改設(shè)備樹路徑:linux-4.1.15-elf1/arch/arm/boot/dts/imx6ull-elf1-emmc.dts(1)將
    發(fā)表于 02-22 15:17

    嵌入式軟件開發(fā)應(yīng)該掌握哪些知識(shí)?

    知識(shí)點(diǎn)學(xué)習(xí) 熟悉 Linux 的基本使用對(duì)于嵌入式軟件開發(fā)至關(guān)重要。包括文件系統(tǒng)的管理、用戶權(quán)限的控制、軟件包管理等。嵌入式開發(fā)人員需要能夠
    發(fā)表于 02-19 11:23
    RM新时代网站-首页