娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

arm linux 移植 mtd-utils 1.x

發(fā)布者:快樂家庭最新更新時間:2024-11-08 來源: cnblogs關(guān)鍵字:arm  linux  移植 手機(jī)看文章 掃描二維碼
隨時隨地手機(jī)看文章

背景

關(guān)于在公司的生產(chǎn)環(huán)境有關(guān)。不希望每次都在uboot下面做nand flash 的燒寫;也覺得使用U盤升級的方法比較慢,而且有關(guān)的驅(qū)動不是我寫的,不希望受制于人。還是希望在Linux下面比較通用。

有關(guān)文章:《mtd-utils 的 使用》、《使用 mtd-utils 燒寫Arm Linux 系統(tǒng)各個部分》

要求: 根據(jù)本文進(jìn)行操作時,需要明確清楚各個部分的燒寫地址和大小。

host平臺   :Ubuntu 16.04
arm平臺   : 3531d

mtd-utils   :1.4.8

zlib     :1.2.11

lzo     :2.08

e2fsprogs  : 1.41.14

arm-gcc   :4.9.4

編譯

一個腳本解決所有的事情

bash

##

#    Copyright By Schips, All Rights Reserved

# 自定義變量


OUTPUT_PATH=`pwd`/install

BUILD_HOST=arm-linux

ARM_GCC=${BUILD_HOST}-gcc

BASE=`pwd`

ZLIB=zlib-1.2.11

MTD_UTILS=mtd-utils-1.4.8

LZO=lzo-2.08

E2FSPROGS=e2fsprogs-1.41.14


make_dirs () {

    #為了方便管理,創(chuàng)建有關(guān)的目錄

    cd ${BASE} && mkdir compressed install source -p

}


tget () { #try wget

    filename=`basename $1`

    echo 'Downloading [${filename}]...'

    if [ ! -f ${filename} ];then

        wget $1

    fi


    echo '[OK] Downloaded [${filename}] '

}



download_package () {

    cd ${BASE}/compressed


    tget https://www.zlib.net/${ZLIB}.tar.gz 

    tget http://www.oberhumer.com/opensource/lzo/download/${LZO}.tar.gz

    # 注意下面這行的網(wǎng)址

    tget https://jaist.dl.sourceforge.net/project/e2fsprogs/e2fsprogs/1.41.14/${E2FSPROGS}.tar.gz

    tget ftp://ftp.infradead.org/pub/mtd-utils/${MTD_UTILS}.tar.bz2


}


tar_package () {

    cd ${BASE}/compressed

    ls * > /tmp/list.txt

    for TAR in `cat /tmp/list.txt`

    do

        tar -xf $TAR -C  ../source

    done

    rm -rf /tmp/list.txt

}



make_zlib () {

    # 編譯安裝 zlib

    cd ${BASE}/source/${ZLIB}

    echo 'ZLIB ABOUT'

    CC=${ARM_GCC} ./configure --prefix=${OUTPUT_PATH}/${ZLIB}

    make && make install

}


make_lzo () {

    # 編譯安裝 lzo

    cd ${BASE}/source/${LZO}

    echo 'LZO ABOUT'

    CC=${ARM_GCC} ./configure --host=arm-linux  --prefix=${OUTPUT_PATH}/${LZO}

    make && make install

}


make_e2fsprogs () {

    # 編譯安裝 e2fsprogs

    cd ${BASE}/source/${E2FSPROGS}

    echo 'E2FSPROGS ABOUT'

    CC=${ARM_GCC} ./configure --host=arm-linux --enable-elf-shlibs --prefix=${OUTPUT_PATH}/${E2FSPROGS}

    make && make install-libs

    mkdir ${OUTPUT_PATH}/${E2FSPROGS}/include/uuid -p

    cp lib/uuid/uuid.h ${OUTPUT_PATH}/${E2FSPROGS}/include/uuid

}


make_mtd_utils () {

   # 編譯安裝 mtd-utils

    cd ${BASE}/source/${MTD_UTILS}

    echo 'MTD ABOUT'

    # 下面4行修復(fù)了mtd編譯的一些問題

    sed -r -i '/LDLIBS_mkfs.ubifs = -lz -llzo2 -lm -luuid/ s/.*/LDLIBS_mkfs.ubifs = -lz -llzo2 -lm -luuid $(ZLIBLDFLAGS) $(LZOLDFLAGS) $(UUIDLDLIBS)/g' Makefile

    sed -r -i '/#include / s/.*/#include 'uuid/uuid.h'/g' mkfs.ubifs/mkfs.ubifs.h

    mkdir mkfs.ubifs/uuid -p

    cp ${BASE}/source/${E2FSPROGS}/lib/uuid/uuid.h mkfs.ubifs/uuid/uuid.h


    export CROSS=${BUILD_HOST}-

    export DESTDIR=${OUTPUT_PATH}/mtd-utils

    export ZLIBCPPFLAGS=-I${OUTPUT_PATH}/${ZLIB}/include

    export  LZOCPPFLAGS='-I${OUTPUT_PATH}/${LZO}/include -I{$OUTPUT_PATH}/${E2FSPROGS}/include/'

    export  ZLIBLDFLAGS=-L${OUTPUT_PATH}/${ZLIB}/lib

    export   LZOLDFLAGS=-L${OUTPUT_PATH}/${LZO}/lib

    export   UUIDLDLIBS=-L${OUTPUT_PATH}/${E2FSPROGS}/lib


    make WITHOUT_XATTR=1

}


make_dirs

#download_package

tar_package

make_zlib

make_lzo

make_e2fsprogs

make_mtd_utils


mtd-utils:

make 后     :mtd-utils工具鏈將會在當(dāng)前目錄下$CROSS目錄生成

make install后  :make生成的結(jié)果將安裝到DESTDIR目錄下

如果 make install 失敗,手動在 $CROSS 文件名的目錄下就可以找到編譯的結(jié)果

img

img

 

拷貝需要的程序和庫即可

mtd-utils 2.0版本的編譯: https://blog.csdn.net/liyangzmx/article/details/93901411

(注:本人嘗試過2.x版本的編譯,但是失敗了。)


關(guān)鍵字:arm  linux  移植 引用地址:arm linux 移植 mtd-utils 1.x

上一篇:基于ARM7(LPC2131)平臺的μC/OS-Ⅱ的移植
下一篇:ARM40-A5應(yīng)用——fbset與液晶屏參數(shù)的適配

推薦閱讀最新更新時間:2025-05-15 10:50

基于ARM的嵌入式Linux移植真實(shí)體驗(yàn)(2)――BootLoader
BootLoader指系統(tǒng)啟動后,在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序。通過BootLoader,我們可以初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。通常,BootLoader是嚴(yán)重地依賴于硬件而實(shí)現(xiàn)的,特別是在嵌入式世界。因此,在嵌入式世界里建立一個通用的 BootLoader 幾乎是不可能的。盡管如此,我們?nèi)匀豢梢詫ootLoader歸納出一些通用的概念來,以指導(dǎo)用戶特定的BootLoader設(shè)計與實(shí)現(xiàn)。 BootLoader 的實(shí)現(xiàn)依賴于CPU的體系結(jié)構(gòu),因此大多數(shù) BootLoader 都分為stage1 和stage2 兩大部分。依賴于CP
[單片機(jī)]
opencv在armx86移植
一個、開發(fā)環(huán)境 操作系統(tǒng):fedora14 Opencv版本號:2.0 Qt版本號:4.7 arm:mini6410 交叉編譯工具:arm-linux-gcc-4.5.1 二、安裝與配置 Linux系統(tǒng)的安裝,交叉Qt-creator的安裝還有交叉編譯工具的安裝,網(wǎng)上說的基本都沒什么問題,測試后都能夠用。 這里安裝Qt-Creator遇到了一點(diǎn)小問題,依照網(wǎng)上的和mini6410開發(fā)手冊上的安裝方法太復(fù)雜了。用QtSdk-offline-linux-x86-v1.2.1.run安裝方便又準(zhǔn)確。 這篇文章重點(diǎn)還是將怎樣安裝Opencv到linux下,而且配置Opencv到QT中。并實(shí)如今x86和arm平臺上可以順利執(zhí)行qt+Op
[單片機(jī)]
opencv在<font color='red'>arm</font>和<font color='red'>x</font>86<font color='red'>移植</font>
OK6410A 開發(fā)板 (八) 1 linux-5.11 OK6410A ethernet dm9000 移植
代碼 : https://github.com/lisider/linux/tree/ok6410a-linux-5.11 提交id : 4459e78a4d845f08286623b98546bcefbb45ddb9 defconfig : arch/arm/configs/ok6410A_sdboot_mini_net_defconfig 配置 CONFIG_DM9000=y driver drivers/net/ethernet/davicom/dm9000.c device $ git diff arch/arm/mach-s3c/mach-smdk6410.c diff --git a/arch/arm/m
[單片機(jī)]
linuxx264庫ARM交叉編譯
一、準(zhǔn)備工作 1、x264庫源碼下載地址:http://www.videolan.org/develope rs /x264.html 作者目前的版本是x264-snapshot-20160511-2245 2、編譯器arm-none-Linux-gnueabi-gcc 二、編譯步驟 1、解壓安裝包 tar -xzvf last_x264.tar.bz2 cd x264-snapshot-20160511-2245 2、修改配置文件 ./configure --disbale-asm 注意:這里加了--disable-asm選項(xiàng)是因?yàn)閍rm-none-linux-gnuabi工具鏈?zhǔn)菦]有匯編器,所以禁止此選
[單片機(jī)]
基于s5pv210嵌入式linux系統(tǒng)sqlite3數(shù)據(jù)庫移植
1、下載源碼 http://www.sqlite.org/download.html 最新源碼為3080100 2、解壓 tar xvf XXXXX 3、配置編譯環(huán)境 運(yùn)行 ./configure –host=你的交叉編譯工具的前綴 –prefix=你想編譯安裝的位置 我的host為arm-none-linux-gnueabi,prefix為/home/linux/sqlit3-arm 運(yùn)行后會生成Makefile文件。 4、編譯并安裝 編譯:make 安裝:make install 安裝完成后會在你設(shè)定的目錄下生成安裝好的文件: bin、include、lib、share bin:為編譯完成的sqlite3可執(zhí)行文件
[單片機(jī)]
基于s5pv210嵌入式<font color='red'>linux</font>系統(tǒng)sqlite3數(shù)據(jù)庫<font color='red'>移植</font>
linux2.6.32.2 mini2440平臺移植--移植DM9000網(wǎng)卡驅(qū)動
1.1.1 設(shè)備資源初始化 Linux-2..6.32.2已經(jīng)自帶了完善的DM9000網(wǎng)卡驅(qū)動驅(qū)動(源代碼位置:linux-2.6.32.2/ drivers/net/dm9000.c),它也是一個平臺設(shè)備,因此在目標(biāo)平臺初始化代碼中,只要填寫好相應(yīng)的結(jié)構(gòu)表即可(在mach-mini2440.c里面),具體步驟如下: 首先添加驅(qū)動所需的頭文件dm9000.h: #include linux/dm9000.h 再定義DM9000網(wǎng)卡設(shè)備的物理基地址,以便后面用到: /* DM9000AEP 10/100 ethernet controller */ #define MACH_MINI2440_DM9K_BAS
[單片機(jī)]
Linux-4.9.2內(nèi)核在mini2440上的移植(三)——編譯環(huán)境測試
3.1 linux-4.9.2源碼獲取 為什么選擇4.9.2移植呢? 因?yàn)樘碌膌inux源碼yaffs文件系統(tǒng)跟不上,編譯過程會導(dǎo)致大量錯誤無法使用,所以選擇比較新的源碼就可以了。具體的說明到移植yaffs文件系統(tǒng)時再說。 我們的工作目錄定在/root下面,進(jìn)入到目錄 root@ubuntu:/home/ubuntu# cd /root (1)下載linux4.9.2源碼 root@ubuntu:~# wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.2.tar.gz (2)解壓源碼 root@ubuntu:~ # tar -zx
[單片機(jī)]
<font color='red'>Linux</font>-4.9.2內(nèi)核在mini2440上的<font color='red'>移植</font>(三)——編譯環(huán)境測試
Linux-2.6.32.2內(nèi)核在mini2440上的移植(十)---配置USB外設(shè)
移植環(huán)境 1,主機(jī)環(huán)境:VMare下CentOS 5.5 ,1G內(nèi)存。 2,集成開發(fā)環(huán)境:Elipse IDE 3,編譯編譯環(huán)境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。 4,開發(fā)板:mini2440,2M nor flash,128M nand flash。 5,u-boot版本:u-boot-2009.08 6,linux 版本:linux-2.6.32.2 7,參考文章: 嵌入式linux應(yīng)用開發(fā)完全手冊,韋東山,編著。 Mini2440 之Linux 移植開發(fā)實(shí)戰(zhàn)指南 【1】在內(nèi)核中配置USB鍵盤和鼠標(biāo)等hci設(shè)備驅(qū)動程序 Linux-2.6.32.2
[單片機(jī)]
小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 德化县| 石台县| 龙游县| 汕头市| 棋牌| 湛江市| 台湾省| 东方市| 永仁县| 东海县| 驻马店市| 霍城县| 怀柔区| 宁安市| 沙坪坝区| 永兴县| 德格县| 尖扎县| 中西区| 社旗县| 盐亭县| 兴仁县| 萨嘎县| 堆龙德庆县| 青阳县| 铁岭市| 遂昌县| 珲春市| 利辛县| 青冈县| 石泉县| 宁南县| 永川市| 庆元县| 玛多县| 万安县| 牡丹江市| 昂仁县| 常山县| 工布江达县| 余庆县|