那曲檬骨新材料有限公司

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

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

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

【北京迅為】《i.MX8MM嵌入式Linux開發(fā)指南》-第四篇 嵌入式Linux系統(tǒng)移植篇-第六十七章 Uboot編譯及移植

北京迅為電子 ? 2024-08-07 15:08 ? 次閱讀

i.MX8MM處理器采用了先進(jìn)的14LPCFinFET工藝,提供更快的速度和更高的電源效率;四核Cortex-A53,單核Cortex-M4,多達(dá)五個(gè)內(nèi)核 ,主頻高達(dá)1.8GHz,2G DDR4內(nèi)存、8G EMMC存儲(chǔ)。千兆工業(yè)級(jí)以太網(wǎng)、MIPI-DSIUSB HOST、WIFI/BT、4G模塊CANRS485接口一應(yīng)俱全。H264、VP8視頻硬編碼,H.264、H.265、VP8、VP9視頻硬解碼,并提供相關(guān)歷程,支持8路PDM接口、5路SAI接口、2路Speaker。系統(tǒng)支持Android9.0(支持獲取root限)Linux4.14.78+Qt5.10.1、Yocto、Ubuntu20、Debian9系統(tǒng)。適用于智能充電樁物聯(lián)網(wǎng)工業(yè)控制,醫(yī)療,智能交通等,可用于任何通用工業(yè)和物聯(lián)網(wǎng)應(yīng)用。

第四篇 嵌入式Linux系統(tǒng)移植篇

第六十七章 Uboot編譯及移植

在之前學(xué)習(xí)開發(fā)板燒寫的章節(jié)中,我們用到uboot和內(nèi)核的鏡像是怎么做出來的呢,我們?cè)趯W(xué)習(xí)移植uboot之前先使用迅為電子移植好的uboot鏡像來學(xué)習(xí)一下uboot的相關(guān)知識(shí),本章節(jié)我們來學(xué)習(xí)下基礎(chǔ)的知識(shí)“什么是uboot”和“uboot中的常用命令”,并且我們下載NXP官方的源碼。

67.1 U-Boot介紹

67.1.1 什么是u-boot

uboot是一段裸機(jī)代碼,它的實(shí)現(xiàn)非常復(fù)雜,主要是初始化一些硬件,部署整個(gè)計(jì)算機(jī)系統(tǒng),然后將Linux內(nèi)核從flash(NAND,NOR FLASH,SD,MMC 等)拷貝到 DDR 中,根據(jù)環(huán)境變量去啟動(dòng)內(nèi)核,并向內(nèi)核傳遞參數(shù)。它的目標(biāo)就是啟動(dòng)內(nèi)核,內(nèi)核啟動(dòng)后它的生命也隨之結(jié)束。

u-boot是SourceForge上的開源項(xiàng)目,由一個(gè)人發(fā)起,然后由整個(gè)世界所有感興趣的人共同維護(hù)發(fā)展而來的一個(gè)bootloader,bootloader是用來引導(dǎo)和加載內(nèi)核,向內(nèi)核傳遞參數(shù)的,是內(nèi)核引導(dǎo)程序的統(tǒng)稱,bootloader除了u-boot還有bios,LilO,redboot,vivi等。

uboot 的全稱是 Universal Boot Loader,uboot 是一個(gè)遵循 GPL 協(xié)議的開源軟件,uboot 是一個(gè)裸機(jī)代碼,可以看作是一個(gè)裸機(jī)綜合例程。現(xiàn)在的 uboot 已經(jīng)支持液晶屏、網(wǎng)絡(luò)、USB 等高級(jí)功能。uboot 官網(wǎng)為 http://www.denx.de/wiki/U-Boot/,

可以在 uboot 官網(wǎng)下載 uboot 源碼,點(diǎn)擊圖中左側(cè) Topics 中的“Source Code”,

進(jìn)入其 FTP 服務(wù)器即可看到 uboot 源碼

wKgaomazHPGAHrSUAAGk04JdyRA648.png

我們可以在uboot官網(wǎng)下載最原始的uboot源碼,也就是沒有經(jīng)過修改的,原汁原味的uboot的,但是在實(shí)際工作中,我們并不會(huì)直接在uboot官網(wǎng)下載uboot源碼來移植uboot。為什么呢?因?yàn)槲覀円趯?duì)應(yīng)的平臺(tái)上來運(yùn)行uboot,那么這個(gè)uboot是不是就要對(duì)這個(gè)平臺(tái)支持的非常全面呢,因?yàn)閡boot本身就是裸機(jī)代碼,所以想要對(duì)某一個(gè)平臺(tái)支持的非常全面,就要對(duì)這個(gè)平臺(tái)非常熟悉,比如i.MX 8M Mini,那就要對(duì)i.MX 8M Mini這個(gè)芯片非常熟悉,那誰對(duì)這個(gè)芯片非常熟悉呢,當(dāng)然是半導(dǎo)體廠家呀,所以,uboot官網(wǎng)里面的原汁原味的uboot是給半導(dǎo)體廠家準(zhǔn)備的,比如RK,NXP等等。NXP官方的 uboot 基本支持了 NXP 當(dāng)前所有可以跑 Linux 的芯片,而且支持各種啟動(dòng)方式,比如 EMMC、NAND、NOR FLASH 等等,這些都是 uboot 官方所不支持的。我們?nèi)绻浦矊?duì)芯片支持最全面,最好的uboot的,我們一般是在半導(dǎo)體廠家維護(hù)uboot版本的基礎(chǔ)上來二次開發(fā)自己的uboot,而不是直接在uboot官網(wǎng)下載源碼來移植。

在迅為提供的資料里面有兩個(gè)Linux的BSP源碼包,一個(gè)是半導(dǎo)體廠商提供的源碼包,里面的uboot是未經(jīng)修改的,一個(gè)是迅為提供的BSP源碼包,里面的uboot是經(jīng)過迅為修改后的uboot,可以直接編譯在開發(fā)板上來運(yùn)行。當(dāng)然了,你也可以在購買了第三方開發(fā)板以后使用半導(dǎo)體廠商提供的 uboot,只不過有些外設(shè)驅(qū)動(dòng)可能不支持,需要自己移植,這個(gè)就是我們常說的 uboot 移植。

67.1.2 常用命令

我們先燒迅為做好的uboot(flash.bin)到開發(fā)板上,我們先了解與uboot相關(guān)的命令。

uboot啟動(dòng)如下圖所示:

wKgaomazHPmAYSSCAAB8mUfpGbQ001.png

上電以后,出現(xiàn) Hit any key to stop autoboot: 0就按下任意鍵,進(jìn)入uboot命令行,輸入?查看幫助信息,會(huì)彈出很多命令和介紹,

上面的那些命令并不是 uboot 所支持的所有命令,前面說過 uboot 是可配置的,需要什么命令就使能什么命令。這些命令后面都跟有命令說明,用于描述此命令的作用,但是命令具體怎么用呢?我們輸入“help(或?) 命令名”既可以查看命令的詳細(xì)用法,以“bootz”這個(gè)命令為例,我們輸入如下命令即可查看“bootz”這個(gè)命令的用法:

=> ? bootz

bootz - boot Linux zImage image from memory

Usage:

bootz [addr [initrd[:size]] [fdt]]

- boot Linux zImage stored in memory

The argument 'initrd' is optional and specifies the address

of the initrd in memory. The optional argument ':size' allows

specifying the size of RAW initrd.

When booting a Linux kernel which requires a flat device-tree

a third argument is required which is the address of the

device-tree blob. To boot that kernel without an initrd image,

use a '-' for the second argument. If you do not pass a third

a bd_info struct will be passed instead

常用的和信息查詢有關(guān)的命令有 3 個(gè):

bdinfo

printenv

version

先來看一下 bdinfo 命令,此命令用于查看板子信息,直接輸入“bdinfo”即可,

從上面中可以得出 DRAM 的起始地址和大小、啟動(dòng)參數(shù)保存起始地址、波特率、sp(堆棧指針)起始地址等信息。

命令“printenv”用于輸出環(huán)境變量信息,uboot 也支持 TAB 鍵自動(dòng)補(bǔ)全功能,輸入“print”然后按下 TAB 鍵就會(huì)自動(dòng)補(bǔ)全命令,直接輸入“print”也可以。輸入“print”,然后按下回車鍵,環(huán)境變量如下面所示:

wKgZomazHSeAI7m6AAFqiOn4TMM019.png

u-boot=> pri

baudrate=115200

boot_fdt=try

bootcmd=mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; else booti ${loadaddr} - ${fdt_addr}; fi

bootcmd_mfg=run mfgtool_args;if iminfo ${initrd_addr}; then if test ${tee} = yes; then bootm ${tee_addr} ${initrd_addr} ${fdt_addr}; else booti ${loadaddr} ${initrd_addr} ${fdt_addr}; fi; else echo "Run fastboot ..."; fastboot 0; fi;

bootdelay=2

bootscript=echo Running bootscript from mmc ...; source

console=ttymxc1,115200 earlycon=ec_imx6q,0x30890000,115200

emmc_dev=1

ethprime=FEC

fastboot_dev=mmc1

fdt_addr=0x43000000

fdt_file=itop8mm-evk-7.0.dtb

fdt_high=0xffffffffffffffff

fdtcontroladdr=be8f5860

image=Image

initrd_addr=0x43800000

initrd_high=0xffffffffffffffff

jh_clk=

jh_mmcboot=setenv fdt_file fsl-imx8mm-evk-root.dtb;setenv jh_clk clk_ignore_unused; if run loadimage; then run mmcboot; else run jh_netboot; fi;

jh_netboot=setenv fdt_file fsl-imx8mm-evk-root.dtb; setenv jh_clk clk_ignore_unused; run netboot;

kboot=booti

loadaddr=0x40480000

loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};

loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}

loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}

mfgtool_args=setenv bootargs console=${console},${baudrate} rdinit=/linuxrc clk_ignore_unused

mmcargs=setenv bootargs ${jh_clk} console=${console} root=${mmcroot}

mmcautodetect=yes

mmcboot=echo Booting from mmc ...; run mmcargs; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then booti ${loadaddr} - ${fdt_addr}; else echo WARN: Cannot load the DT; fi; else echo wait for boot; fi;

mmcdev=1

mmcpart=1

mmcroot=/dev/mmcblk2p2 rootwait rw

netargs=setenv bootargs ${jh_clk} console=${console} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp

netboot=echo Booting from net ...; run netargs; if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; ${get_cmd} ${loadaddr} ${image}; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if ${get_cmd} ${fdt_addr} ${fdt_file}; then booti ${loadaddr} - ${fdt_addr}; else echo WARN: Cannot load the DT; fi; else booti; fi;

script=boot.scr

sd_dev=0

soc_type=imx8mm

Environment size: 2333/4092 bytes

有很多的環(huán)境變量,比如 baudrate、board_name、board_rec、boot_fdt、bootcmd等等。uboot 中的環(huán)境變量都是字符串,既然叫做環(huán)境變量,那么它的作用就和“變量”一樣。

比如 bootdelay 這個(gè)環(huán)境變量就表示 uboot 啟動(dòng)延時(shí)時(shí)間,默認(rèn)bootdelay=3,也就默認(rèn)延時(shí) 3秒。前面說的 3 秒倒計(jì)時(shí)就是由 bootdelay 定義的,如果將 bootdelay 改為 5 的話就會(huì)倒計(jì)時(shí) 5s了。uboot 中的環(huán)境變量是可以修改的,有專門的命令來修改環(huán)境變量的值。

setenv:修改環(huán)境變量:setenv 環(huán)境變量名 環(huán)境變量值

刪除環(huán)境變量:setenv 環(huán)境變量名

例如設(shè)置自啟動(dòng)倒計(jì)時(shí)環(huán)境變量bootdelay,設(shè)置為5秒,默認(rèn)是2秒,

輸入命令setenv bootdelay 10,然后輸入printenv查看環(huán)境變量,發(fā)現(xiàn)環(huán)境變量已經(jīng)改變。

刪除環(huán)境變量也是使用命令 setenv,要?jiǎng)h除一個(gè)環(huán)境變量只要給這個(gè)環(huán)境變量賦空值即可,比如我們刪除掉上面新建的bootdelay 環(huán)境變量,使用命令 setenv bootdelay刪除環(huán)境變量,

實(shí)驗(yàn)完成后,重新啟動(dòng)開發(fā)板恢復(fù)環(huán)境變量使設(shè)置的環(huán)境失效,因?yàn)榄h(huán)境變量沒有保存到flash。

reset:重新啟動(dòng)

在uboot命令行輸入reset即可重啟開發(fā)板,

實(shí)驗(yàn)完成后,重新啟動(dòng)開發(fā)板恢復(fù)環(huán)境變量使設(shè)置的環(huán)境失效,因?yàn)榄h(huán)境變量沒有保存到flash。

reset:重新啟動(dòng)

在uboot命令行輸入reset即可重啟開發(fā)板,

1.mmc: 在uboot命令行,輸入mmc可以查看跟mmc相關(guān)的命令

由上圖我們可以發(fā)現(xiàn),mmc后面的參數(shù)不同,mmc的功能就不一樣,例如:

mmc info:打印mmc的信息

mmc list :查看mmc設(shè)備

mmc read addr blk# cnt:從eMMC讀cnt個(gè)塊數(shù)據(jù)到內(nèi)存addr處;

mmc write addr blk# cnt:把內(nèi)存addr處的cnt個(gè)塊數(shù)據(jù)寫到eMMC。

mmc erase blk# cnt:擦除blk#開始的cnt個(gè)數(shù)據(jù)塊

其中,addr為內(nèi)存地址,blk#是mmc的塊號(hào),cnt是設(shè)備塊的個(gè)數(shù),塊的單位是512字節(jié)。

(1)mmc info命令

mmc info命令可以查看設(shè)備信息,

通過上圖我們可以看出,當(dāng)前的設(shè)備是emmc設(shè)備,也就是圖中MMC version所表示的信息為emmc的版本為5.1,Capacity所表示的信息為容量大小為14.6 Gib,Bus Width表示帶寬為8-bit,Bus Speed表示速度為52000000Hz。

(2)mmc list命令

mmc list查看mmc設(shè)備,直接輸入mmc list即可,

(3)mmc rescan命令

mmc rescan可以掃描開發(fā)板上的emmc設(shè)備,直接輸入mmc rescan命令即可

(4)mmc dev命令

mmc dev命令可以切換mmc設(shè)備,命令格式:mmc dev mmc dev [dev] [part],其中dev是我們要切換到的mmc設(shè)備號(hào),part可以不寫,不寫的話默認(rèn)分區(qū)為0。

我們找一張F(tuán)AT32的TF卡,查到開發(fā)板上的TF卡座子上,一般我們把TF卡也認(rèn)為是mmc設(shè)備。所以也可以用mmc命令來操作。連接好TF卡以后,使用以下命令切換到TF卡

mmc dev 0

其中0為sd卡,1為emmc。

然后我們使用mmc info命令查看是否切換成功,

從上圖我們可以看到,sd卡的版本信息為3.0,容量為14.6 GiB,位寬為4-bit。

(5)mmc part命令

mmc part可以用來查看mmc設(shè)備的分區(qū),比如我們要查看emmc的分區(qū),我們先切換到emmc設(shè)備(如果當(dāng)前已經(jīng)是emmc設(shè)備則不用切換),命令如下:

mmc dev 1

切換成功如下圖所示:

wKgZomazHUKASusVAAAMFRSyuf0695.png

使用命令mmc part查看emmc的分區(qū),

從上圖我們可以看出,emmc一共有2個(gè)分區(qū),類型為DOS,其中第一個(gè)分區(qū)用來存放uboot鏡像和內(nèi)核鏡像,第二個(gè)分區(qū)用來存放文件系統(tǒng)

(6)mmc read命令

使用mmc read命令可以讀取mmc設(shè)備的數(shù)據(jù)信息,格式為mmc read addr blk# cnt,其中addr是讀取到內(nèi)存中的地址,blk為起始的塊地址,一般為十六進(jìn)制,一塊是512字節(jié),cnt是要讀取的塊的數(shù)量。

例如:mmc read 0xa0000000 10 10 ,表示mmc設(shè)備的第10塊開始,讀取10塊到內(nèi)存的0xa0000000地址當(dāng)中去。結(jié)果如下:

5 go命令

go命令可以指定跳到地址處運(yùn)行,命令格式為 go addr ,其中addr是應(yīng)用在內(nèi)存中的首地址。

6 run命令

可以執(zhí)行環(huán)境變量中的命令,這個(gè)命令一般用于用戶運(yùn)行自定義的環(huán)境變量。

7 ls命令,默認(rèn)uboot沒有這個(gè)命令,可以配置上使用。

ls命令可以列出文件的目錄,命令格式ls [ [directory]]:

例如,查看emmc分區(qū)5的信息。分區(qū)5為文件系統(tǒng)分區(qū)

ls mmc 1:5

其中,1為emmc,5為emmc里面的分區(qū)5

查看emmc分區(qū)5里面的etc信息,也就是文件系統(tǒng)里面的etc信息,命令如下

ls mmc 1:5 etc

67.2設(shè)置交叉編譯器

輸入以下命令設(shè)置交叉編譯器,只有設(shè)置了交叉編譯器,才可以編譯源碼,否則會(huì)報(bào)錯(cuò)。

. /opt/fsl-imx-xwayland/4.14-sumo/environment-setup-aarch64-poky-linux

export ARCH=arm64

export CROSS_COMPILE=aarch64-poky-linux-

67.3 獲取u-boot-imx 源碼并編譯

輸入以下命令下載u-boot-imx 源碼。

git clone https://source.codeaurora.org/external/imx/uboot-imx

進(jìn)入uboot-imx目錄,

cd uboot-imx

查看git分支,

git branch -a

切換分支,輸入以下命令:

git checkout imx_v2018.03_4.14.78_1.0.0_ga

同步到當(dāng)前倉庫,輸入以下命令:

git pull origin

輸入以下命令,開始編譯。

make distclean

make imx8mm_ddr4_evk_defconfig

輸入以下命令,開始編譯。

. /opt/fsl-imx-xwayland/4.14-sumo/environment-setup-aarch64-poky-linux

make -j 8

編譯成功后會(huì)產(chǎn)生所需的文件:

u-boot-nodtb.bin

spl/u-boot-spl.bin

arch/arm/dts/fsl-imx8mm-ddr4-evk.dtb

67.4 獲取 imx-mkimage源碼并編譯

下載 imx-mkimage源碼,輸入以下命令:

git clone https://source.codeaurora.org/external/imx/imx-mkimage/ && cd imx-mkimage

查看遠(yuǎn)程分支,輸入以下命令:

git branch -a

切換到與imx_4.14.78_1.0.0_ga版本對(duì)應(yīng)的分支上,輸入以下命令:

git checkout imx_4.14.78_1.0.0_ga

同步到當(dāng)前倉庫,輸入以下命令:

git pull origin

67.5獲取imx-atf源碼并編譯

退回上一級(jí)目錄,下載 imx-atf,并同樣切換分支

cd ..

git clone https://source.codeaurora.org/external/imx/imx-atf/ && cd imx-atf

切換到與imx_4.14.78_1.0.0_ga版本對(duì)應(yīng)的分支上,輸入以下命令:

git checkout imx_4.14.78_1.0.0_ga

同步到當(dāng)前倉庫,輸入以下命令:

git pull origin

編譯 imx-atf,輸入以下命令:

make clean PLAT=imx8mm

LDFLAGS="" make PLAT=imx8mm

編譯完成會(huì)生成build/imx8mm/release/bl31.bin文件,

67.6 獲得firmware-imx源碼

返回上一級(jí)目錄,輸入以下命令獲得firmware-imx源碼

cd .. && mkdir firmware-imx-8.10

cd firmware-imx-8.10

wget http://www.freescale.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.1.bin

解壓輸入以下命令:

./firmware-imx-8.1.bin --auto-accept

67.7生成flash.bin

使用 imx-mkimage 鏈接合成所有文件生成最后二進(jìn)制文件

輸入以下命令拷貝uboot-imx中的文件到imx-mkimage目錄。

cp uboot-imx/tools/mkimage ./imx-mkimage/iMX8M/mkimage_uboot

cp uboot-imx/arch/arm/dts/fsl-imx8mm-ddr4-evk.dtb ./imx-mkimage/iMX8M/fsl-imx8mm-ddr4-evk.dtb

cp uboot-imx/spl/u-boot-spl.bin ./imx-mkimage/iMX8M/

cp uboot-imx/u-boot-nodtb.bin ./imx-mkimage/iMX8M/

cpfirmware-imx-8.10/firmware-imx-8.1/firmware/ddr/synopsys/ddr4_dmem_1d.bin ./imx-mkimage/iMX8M/

cpfirmware-imx-8.10/firmware-imx-8.1/firmware/ddr/synopsys/ddr4_dmem_2d.bin ./imx-mkimage/iMX8M/

cp firmware-imx-8.10/firmware-imx-8.1/firmware/ddr/synopsys/ddr4_imem_1d.bin ./imx-mkimage/iMX8M/

cp firmware-imx-8.10/firmware-imx-8.1/firmware/ddr/synopsys/ddr4_imem_2d.bin ./imx-mkimage/iMX8M/

cp imx-atf/build/imx8mm/release/bl31.bin ./imx-mkimage/iMX8M/

cd imx-mkimage

make SOC=iMX8MM clean

make SOC=iMX8MM flash_ddr4_evk

編譯完會(huì)生成flash.bin鏡像,

然后我們可以使用TF卡啟動(dòng)uboot,但是不能使用UUU工具燒寫,接下來進(jìn)一步優(yōu)化源碼,請(qǐng)查看第二章。

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

    關(guān)注

    5092

    文章

    19177

    瀏覽量

    307679
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11345

    瀏覽量

    210395
  • Uboot
    +關(guān)注

    關(guān)注

    4

    文章

    125

    瀏覽量

    28349
  • RK3568
    +關(guān)注

    關(guān)注

    4

    文章

    525

    瀏覽量

    5235
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    i.MX6ULL嵌入式Linux開發(fā)1-uboot移植初探

    本系列教程以i.MX6ULL處理器的ARM開發(fā)實(shí)驗(yàn)基礎(chǔ),學(xué)習(xí)記錄嵌入式Linux開發(fā)的各種知
    的頭像 發(fā)表于 03-07 08:57 ?3932次閱讀
    <b class='flag-5'>i.MX</b>6ULL<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b><b class='flag-5'>開發(fā)</b>1-<b class='flag-5'>uboot</b><b class='flag-5'>移植</b>初探

    韋東山嵌入式Linux應(yīng)用開發(fā)完全手冊(cè).pdf電子版

    驅(qū)動(dòng)程序移植第5 嵌入式Linux系統(tǒng)應(yīng)用開發(fā)
    發(fā)表于 09-18 17:08

    ARM嵌入式Linux系統(tǒng)開發(fā)詳解

    GUI程序開發(fā)第12軟件項(xiàng)目管理第3Linux系統(tǒng)第13
    發(fā)表于 09-14 08:57

    嵌入式Linux開發(fā)流程中的各個(gè)步驟

    基礎(chǔ)第三 ARM體系架構(gòu)第四章 嵌入式編程開發(fā)入門第五 軟硬件
    發(fā)表于 11-04 07:37

    RK3399開發(fā)嵌入式linux開發(fā)流程

    RK3399開發(fā)嵌入式linux開發(fā)指南
    發(fā)表于 11-04 08:08

    iMX6ULL開發(fā)板使用手冊(cè)資料下載

    開發(fā)板使用手冊(cè)》第一部分 開發(fā)板入門第二部分 開發(fā)環(huán)境搭建第三部分 Linux系統(tǒng)編譯第四
    發(fā)表于 12-02 14:13

    【傾心力作!】i.MX8MM嵌入式linux開發(fā)指南+全覆蓋開發(fā)資料

    第六十三章 輸入子系統(tǒng)實(shí)驗(yàn)第六十四章 Linux 12C驅(qū)動(dòng)第六十五章 Linux 12C驅(qū)動(dòng)實(shí)
    發(fā)表于 02-11 10:27

    資料上新】iTOP-3568開發(fā)指南手冊(cè)!

    很多零基礎(chǔ)的同學(xué)在剛開始學(xué)習(xí)嵌入式的時(shí)候,都會(huì)不知道應(yīng)該怎么做,精心編寫了適配iTOP-rk3568開發(fā)板的嵌入式教程-《【
    發(fā)表于 04-26 15:03

    Linux嵌入式Linux系統(tǒng)移植(上篇:交叉編譯器、連接方式)

    移植要點(diǎn)搭建交叉開發(fā)環(huán)境bootloader的選擇與移植kernel的設(shè)置、編譯移植和調(diào)試根文件系統(tǒng)
    發(fā)表于 11-01 16:57 ?14次下載
    【<b class='flag-5'>Linux</b>】<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b><b class='flag-5'>系統(tǒng)</b>的<b class='flag-5'>移植</b>(上篇:交叉<b class='flag-5'>編譯</b>器、連接方式)

    RK3399開發(fā)嵌入式linux開發(fā)指南

    RK3399開發(fā)嵌入式linux開發(fā)指南
    發(fā)表于 11-01 16:58 ?77次下載
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>RK3399<b class='flag-5'>開發(fā)</b>板<b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b><b class='flag-5'>開發(fā)指南</b>

    [深度理解嵌入式linux系統(tǒng)移植]深度理解嵌入式linux系統(tǒng)移植

    第一-嵌入式系統(tǒng)架構(gòu)與移植環(huán)境搭建第二-uboot工程與
    發(fā)表于 11-02 13:21 ?17次下載
    [深度理解<b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>移植</b>]深度理解<b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>移植</b>

    【正點(diǎn)原子Linux連載】第十二官方SDK移植試驗(yàn)-摘自【正點(diǎn)原子】I.MX6U嵌入式Linux驅(qū)動(dòng)開發(fā)指南V1.0

    【正點(diǎn)原子Linux連載】第十二官方SDK移植試驗(yàn)-摘自【正點(diǎn)原子】I.MX6U嵌入式Linux
    發(fā)表于 11-23 17:51 ?11次下載
    【正點(diǎn)原子<b class='flag-5'>Linux</b>連載】第十二<b class='flag-5'>章</b>官方SDK<b class='flag-5'>移植</b>試驗(yàn)-摘自【正點(diǎn)原子】<b class='flag-5'>I.MX</b>6U<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>驅(qū)動(dòng)<b class='flag-5'>開發(fā)指南</b>V1.0

    【正點(diǎn)原子Linux連載】第六十七章 Linux USB驅(qū)動(dòng)實(shí)驗(yàn) -摘自【正點(diǎn)原子】I.MX6U嵌入式Linux驅(qū)動(dòng)開發(fā)指南V1.0

    :http://www.openedv.com/thread-300792-1-1.html3)對(duì)正點(diǎn)原子Linux感興趣的同學(xué)可以加群討論:9354467414)關(guān)注正點(diǎn)原子公眾號(hào),獲取最新資料更新第六十七章 Linux US
    發(fā)表于 12-22 18:56 ?10次下載
    【正點(diǎn)原子<b class='flag-5'>Linux</b>連載】<b class='flag-5'>第六十七章</b> <b class='flag-5'>Linux</b> USB驅(qū)動(dòng)實(shí)驗(yàn) -摘自【正點(diǎn)原子】<b class='flag-5'>I.MX</b>6U<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>驅(qū)動(dòng)<b class='flag-5'>開發(fā)指南</b>V1.0

    北京】《stm32mp157開發(fā)嵌入式linux開發(fā)指南》第五 Ubuntu使用apt-get下載

    北京】《stm32mp157開發(fā)嵌入式linux開發(fā)
    的頭像 發(fā)表于 09-03 16:26 ?871次閱讀
    【<b class='flag-5'>北京</b><b class='flag-5'>迅</b><b class='flag-5'>為</b>】《stm32mp157<b class='flag-5'>開發(fā)</b>板<b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b><b class='flag-5'>開發(fā)指南</b>》第五<b class='flag-5'>章</b> Ubuntu使用apt-get下載

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

    北京i.mx8mm嵌入式linux開發(fā)指南
    的頭像 發(fā)表于 10-22 14:46 ?751次閱讀
    【<b class='flag-5'>北京</b><b class='flag-5'>迅</b><b class='flag-5'>為</b>】<b class='flag-5'>i.mx8mm</b><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'>嵌入式</b><b class='flag-5'>Linux</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>移植</b><b class='flag-5'>篇</b><b class='flag-5'>第六十</b>九章<b class='flag-5'>uboot</b><b class='flag-5'>移植</b>
    爱拼网| 赌场百家乐实战| 大发888登陆网页| 百家乐官网龙虎台布价格| 荷规则百家乐的玩法技巧和规则 | 金狮国际| 百家乐官网园蒙特卡罗| k7娱乐城开户| 百家乐游戏| 金沙百家乐官网的玩法技巧和规则| 一起pk棋牌游戏大厅| 伯爵百家乐娱乐城| 百家乐官网注册平台排名| 皇冠足球投注| 百家乐蓝盾有赢钱的吗| 百家乐官网大赢家客户端| 十六浦娱乐城信誉| 百家乐太阳城 | 大发888娱乐游戏平台| 百家乐官网策略网络游戏信誉怎么样| 333娱乐场| 百家乐破解仪恒达| 百家乐图表分析| 噢门百家乐官网注码技巧| 威尼斯人娱乐平台开户| 速博百家乐官网的玩法技巧和规则| 破解百家乐| 六合彩报| 百家乐操作技巧| 澳门百家乐的玩法技巧和规则| 择日自学24| 百家乐官网路纸下| 百家乐官网怎么打啊| 百家乐一邱大师打法| 做生意摆放什么会招财| 百家乐官网资深| 百家乐官网大转轮| 仲巴县| 大发888娱乐城 df888ylc3403| 百家乐小游戏单机版| 帝王百家乐全讯网2|