精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

IMX6 L3035編譯手冊

電子工程師 ? 2018-03-17 11:59 ? 次閱讀

明遠智睿MY-IMX6L3035編譯手冊

2018年03月15日10:03myzr123

準備源碼包(preparesourcecodepacakge)3.0.35版本代碼(3.0.35versioncode)u-boot源碼(u-bootsourcecode)

文件名:u-boot-2009.08--svn*.tar.xz

nameoffile:u-boot-2009.08--svn*.tar.xz

kernel源碼(kernelsourcecode)

文件名:linux-3.0.35--svn*.tar.xz

nameoffile:linux-3.0.35--svn*.tar.xz

交叉編譯工具(crosscompifertool)

文件名:gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12.tar.bz2

nameoffile:gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12.tar.bz2

配置編譯環境(configurationofcompiferenvironment)準備源碼(preparesourcecode)準備源碼包(preparesourcecodepackage)

1)創建工作目錄

createworkingdirectory

創建~/my-imx6作為工作目錄

create~/my-imx6asworkingdirectory

$mkdir~/my-imx6

創建~/my-imx6/02_source/imx_3.0.35_4.1.0作為源碼目錄

create~/my-imx6/02_source/imx_3.0.35_4.1.0assourcecodedirectory

$mkdir~/my-imx6/02_source/imx_3.0.35_4.1.0-p

創建~/my-imx6/03_tools作為工具目錄

create~/my-imx6/03_toolsastooldirectory

$mkdir~/my-imx6/03_tools-p

2)復制源碼包到開發主機中

copysourcecodepackagetothedevelopmenthost

這一步驟自己采取相應的方式進行。

doitinthisstepinyourownway。

提示:這里將網盤中“02_源碼”復制到Linux開發主機的“~/my-imx6/02_source/imx_3.0.35_4.1.0”,將網盤中“03_工具/toolchain”復制到Linux開發主機的“~/my-imx6/03_tools”。

tip:thisstepistocopy“02_sourcecode”fromnetworkdiskto“~/my-imx6/02_source/imx_3.0.35_4.1.0”indevelopmenthost,andcopy“03_tool/toolchain”to“~/my-imx6/03_tools”。indevelopmenthost

解壓源碼包(decompresssourcecodepackage)

1)解壓u-boot源碼和內核源碼

decompressu-bootsourcecodeandkernelsourcecode

$cd~/my-imx6/02_source/imx_3.0.35_4.1.0

$tarxfu-boot-2009.08--svn*.tar.xz

$tarxflinux-3.0.35--svn*.tar.xz

2)解壓交叉編譯工具

decompresscrosscompilertool

$cd~/my-imx6/03_tools/

$tarjxfgcc-4.6.2-glibc-2.13-linaro-multilib-2011.12.tar.bz2

開發環境配置(developmentenvironmentconfiguration)安裝需要的包(installpackageneeded)

1)更新源列表

listofupdatedsource

$sudoapt-getupdate

更新完成后如下圖所示:

afterupdate,itwilllooklikebelow:

2)安裝aptitude包管理工具和ia32-libs

installaptitudepackagemanagementtoolandia32-libs

提示:如果編譯主機的Linux是32位的,可以跳過此步驟。

tips:ifLinuxofcompilerhostis32bit,youcanskipthisstep。

安裝aptitude包管理工具

installaptitudepackagemanagementtool

$sudoapt-get–yinstallaptitude

使用aptitude安裝ia32-libs

installia32-libswithaptitude

$sudoaptitude–yinstallia32-libs

提示:下圖為安裝過aptitude和ia32-libs后,再次執行安裝命令的截圖。

tips:followingisthescreenshotswithre-executionofinstallationcommandafterinstallationofaptitudeandia32-libsisfinished。

3)安裝mkimage工具

installmkimagetool

$sudoapt-get-yinstalluboot-mkimage

提示:下圖為安裝過mkimage工具后,再次執行安裝命令的截圖。

tips:followingisthescreenshotswithre-executionofinstallationcommandafterinstallationofmkimagetoolisfinished。

4)安裝ncurses-dev

installncurses-dev

說明:makemenuconfig對其具有依賴性質。

instruction:makemenuconfigisdependentonit。

$sudoaptitude-yinstallncurses-dev

提示:下圖為安裝過ncurses-dev工具后,再次執行安裝命令的截圖。

tips:followingisthescreenshotswithre-executionofinstallationcommandafterinstallationofncurses-devtoolisfinished。

配置MY-IMX6編譯的環境變量(configureenvironmentvariablesofMY-IMX6compilation)

1)將平臺信息寫入到一個新的配置文件

writeplatforminformationtoanewconfiguredfile

$echo“exportARCH=arm”》~/my-imx6/03_tools/myimx6_3035_build_env

2)將交叉編譯工具鏈路徑寫入到配置文件

writecompilertoolchainpathtoconfiguredfile

進入交叉編譯工具目錄

entercrosscompilertooldirectory

$cd~/my-imx6/03_tools/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/

將路徑寫入到配置文件

writepathtoconfiguredfile

$sed-i“\$aIMX6_GCC462_PATH=$PWD”~/my-imx6/03_tools/myimx6_3035_build_env

將交叉編譯工具寫入到配置文件

writecrosscompilertooltoconfiguredfile

$sed-i“\$aexportCROSS_COMPILE=\$IMX6_GCC462_PATH/arm-none-linux-gnueabi-”~/my-imx6/03_tools/myimx6_3035_build_env

3)查看配置文件

viewconfiguredfile

$cat~/my-imx6/03_tools/myimx6_3035_build_env

注意:如果在某一步操作錯誤,則需要刪除~/my-imx6/03_tools/myimx6_3035_build_env文件,并重新按照本小節操作。

note:ifanerroroccursinanystep,needtodelect~/my-imx6/03_tools/myimx6_3035_build_env,andoperateagainallstepsofthissegment。

編譯u-boot(compileu-boot)進入u-boot源碼目錄(enteru-bootsourcecodedirectory)

$cd~/my-imx6/02_source/imx_3.0.35_4.1.0/u-boot-2009.08/

使配置文件生效(validateconfiguredfile)

執行source命令

executesourcecommand

$source~/my-imx6/03_tools/myimx6_3035_build_env

查看編譯配置

viewcompilerconfiguration

$echo$ARCH

$echo$CROSS_COMPILE

提示:可看到ARCH和CROSS_COMPILE被設置

tips:youcanseethatARCH和CROSS_COMPILEisconfigured

驗證交叉編譯工具配置

verifycrosscompilertoolconfiguration

$${CROSS_COMPILE}gcc–v

提示:執行命令后可以看到終端顯示出交叉編譯工具的版本信息。如下圖:

tips:youcanseeversioninformationofcrosscompilertoolshownonterminalafterexecutionofcommand.asbelow:

清除u-boot配置(removeu-bootconfiguration)

$makedistclean

u-boot配置(u-bootconfiguration)

評估板及對應的u-boot編譯配置:

evaluationboardanditscorrespondingu-bootcompilerconfiguration:

評估板主型號

(evaluationboardmainmodel)

CPU類型-內存容量

(CPUtype-memorycapacity)

對應的u-boot配置

(correspondingu-bootconfiguration)

MY-IMX6-EK2006Q(四核)-1G

(6Q(quad.core)-1G)myimx6ek200_6q_config

6Q(四核)-2G

(6Q(quadcore)-2G)myimx6ek200_6q_2g_config

6U(雙核簡化)-1G

(6U(dualcoretile)-1G)myimx6ek200_6u_config

6S(單核)-512M

(6S(singlecore)-512M)myimx6ek200_6s_config

MY-IMX6-EK3146Q(四核)-1G

(6Q(quad.core)-1G)myimx6ek314_6q_config

6Q(四核)-2G

(6Q(quad.core)-2G)myimx6ek314_6q_2g_config

6U(雙核簡化)-1G

(6U(dualcoretile)-1G)myimx6ek314_6u_config

6S(單核)-512M

(6S(singlecore)-512M)myimx6ek314_6s_config

MYIMX6EK200-6Qxx-1G配置示例:

MYIMX6EK200-6Qxx-1Gconfigurationexample:

$makemyimx6ek200_6q_config

編譯(compilation)

執行編譯

executecompilation

$make

提示:這里為了提高編譯速度,在make后面加了“-j4”。這里編譯的Linux主機是雙核4線程的,所以“-j”后面用了4,也就是采用4線程編譯。“-j”后面的數字可以根據系統資源分配,但是不應該超過編譯主機最大支持的線程數。

Tips:Tospeedupthecompilation,add“-j4”aftermake.TheLinuxhostusedtocompileisdual-core,4threads.So“-j”isfollowedby4,whichtakes4threadstocompile.Thenumberbehind“-j”isallocatedbasedonsystemresources,butItshouldnotexceedthemaximumthreadsthehostsupport。

編譯完成

completecompilation

提示:u-boot編譯過程大概需要幾分鐘時間。

tips:u-bootcompilationprocesswilltakeafewminustesorso。

目標文件(targetfile)

編譯完成后通過ls命令即可看到編譯得到的目標文件u-boot.bin

youcangetthecompiledfileu-boot.binwithlscommandaftercompilation

$ls

編譯內核(compilekernel)進入內核源碼目錄(enterkernelsourcedirectory)

$cd~/my-imx6/02_source/imx_3.0.35_4.1.0/linux-3.0.35/

使配置文件生效(validateconfiguredfile)

執行source命令

executesourcecommand

$source~/my-imx6/03_tools/myimx6_3035_build_env

查看編譯配置

viewcompilerconfiguration

$echo$ARCH

$echo$CROSS_COMPILE

提示:可看到ARCH和CROSS_COMPILE被設置

tips:youcanseethatARCH和CROSS_COMPILEisconfigured

驗證交叉編譯工具配置

verifycrosscompilertoolconfiguration

$${CROSS_COMPILE}gcc–v

提示:執行命令后可以看到終端顯示出交叉編譯工具的版本信息。如下圖:

tips:youcanseeversioninformationofcrosscompilertoolshownonterminalafterexecutionofcommand.asbelow:

準備配置內核(prepareforkernelconfiguration)

清除內核配置

removekernelconfiguration

$makedistclean

生成.config文件

generated.configfile

說明:MY-IMX6-EK200系列評估板及MY-IMX6-EK314系列評估板使用的配置文件是myimx6_defconfig

instructions:configurationfilesusedforMY-IMX6-EK200seiresofevaluationboardandMY-IMX6-EK314seriesofevaluationboardismyimx6_defconfig

$makemyimx6_defconfig

編譯內核(compilekernel)

編譯uImage

compileuImage

$makeuImage

說明:截圖中使用了4線程編譯。

instruction:4threadscompilationisusedinthescreenshots。

編譯完成

completecompilation

目標文件

targetfile

arch/arm/boot/uImage即為編譯得到的目標文件,使用ls命令可查看文件信息。

arch/arm/boot/uImageisthetargetfilethroughcompilation,youcanviewthefileinformationwithlscommand。

$lsarch/arm/boot/uImage–la

編譯模塊(compilemodule)

編譯

compile

$make

說明:截圖中使用了4線程編譯。

instruction:4threadscompilationisusedinthescreenshots。

編譯完成

completecompilation

目標文件

targetfile

編譯完成后各模塊的.ko文件位于代碼所在的目錄,通過find命令可以找出編譯完成的模塊,參考命令如下:

.kofileofeachmoduleisinthedirectorywherecodeislocatedaftercompilation,youcanfindthemodulecompiledwithfindcommandaftercompilation,referingcommandasbelow:

$find-name*.ko

Linux應用程序編譯(Linuxapplicationcompilation)編寫應用程序(writeapplication)

1)創建應用程序目錄

createapplicationdirectory

$mkdir~/my-imx6/02_source/application/-p

$cd~/my-imx6/02_source/application/

2)編寫應用程序(這里以hello.c為例)

創建hello.c文件寫入以下代碼并保存:

include

intmain(intargc,char**argv)

{

printf(“Hello,MYZR!\n”);

return;

}

3)查看代碼

$cathello.c

使編譯配置文件生效(validatecompilerconfiguredfile)

執行source命令

$source~/my-imx6/03_tools/myimx6_3035_build_env

查看編譯配置

$echo$ARCH

$echo$CROSS_COMPILE

提示:可看到ARCH和CROSS_COMPILE被設置

驗證交叉編譯工具配置

$${CROSS_COMPILE}gcc–v

提示:執行命令后可以看到終端顯示出交叉編譯工具的版本信息。如下圖:

編譯應用程序(compileapplication)

2)編譯

$${CROSS_COMPILE}gcchello.c-ohello.out

注意:上面的命令有包含“$”號,即“${CROSS_COMPILE}gcc”,是引用我們source時產生的環境變量。

3)查看目標文件類型

$filehello.out

可以看到目標文件hello.out的屬性。

文件系統(filesystem)文件系統說明(filesysteminstruction)

文件系統包位于網盤對應的鏡像文件夾中。支持的文件系統類型及下載方式可參照《MY-IMX6燒錄指導》。

解壓文件系統到編譯主機(decompressfilesystemtocompilerhost)

1)創建文件系統的目錄并進入

$mkdir~/my-imx6/04_rootfs/-p

$cd~/my-imx6/04_rootfs/

2)將文件系統復制到~/my-imx6/04_rootfs/目錄

這一步驟自己采取相應的方式進行

3)解壓文件系統到指定目錄

$mkdirrootfs

$sudotarjxfrootfs-linux.tar.bz2-Crootfs

添加應用到文件系統(addapplicationtofilesystem)

$cp~/my-imx6/02_source/application/hello.outrootfs/app_test/

5)重新打包文件系統

$rm-rfrootfs-linux.tar.bz2

$cdrootfs/

$sudotarcjf。。/rootfs-linux.tar.bz2*

添加模塊到文件系統(addmoduletofilesystem)

準備需要模塊的.ko文件,其它請參照“添加應用到文件系統”。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關推薦

    明遠智睿MY-IMX6 L3035編譯手冊(2)

    source command$ source ~/my-imx6/03_tools/myimx6_3035_build_env查看編譯配置view compiler configuration
    發表于 03-09 15:29

    明遠智睿MY-IMX6 L3035編譯手冊

    ; ~/my-imx6/03_tools/myimx6_3035_build_env將交叉編譯工具寫入到配置文件write cross compiler tool to configured file
    發表于 03-15 09:05

    MY-IMX6 L3035編譯手冊

    linux-3.0.35--svn*.tar.xz2)解壓交叉編譯工具decompress cross compiler tool$ cd ~/my-imx6/03_tools/$ tar jxf gcc-4.6.2-glibc-2.13-linaro-multilib
    發表于 03-16 15:53

    明遠智睿MY-IMX6 L3035編譯手冊

    MY-IMX6 L3035編譯手冊3.0.35版本代碼(3.0.35 version code)u-boot源碼(u-boot source code)文件名:u-boot-2009.
    發表于 03-27 13:49

    IMX6 Linux-4.1.15編譯參考手冊

    MY-IMX6 Linux-4.1.15 編譯參考手冊[size=0.87em]目錄 [隱藏] 1下載相關文件1.1A7系列交叉編譯工具鏈1.2A9系列交叉
    發表于 11-29 17:24

    明遠智睿MY-IMX6-EK200 L3035測試手冊(3)

    `【接上一章節明遠智睿MY-IMX6-EK200 L3035測試手冊(1)】2.7 串口測試  MY-I.MX6評估板有5個串口,其中4個為用戶串口(位于底板正面“J1”位置,絲印名稱
    發表于 12-13 09:42

    IMX6 L3035編譯手冊

    MY-IMX6 L3035編譯手冊目錄 [隱藏] 1準備源碼包1.13.0.35版本代碼1.1.1u-boot源碼1.1.2kernel源碼1.1.3交叉
    發表于 12-29 15:25

    IMX6掛載exFAT移動硬盤

    ://github.com/rxrz/exfat-nofuse.git2.編譯源碼cd exfat-nofuse/修改makefile:KDIR ?= /home/linyn/imx6/4.1/linux-4.1.15
    發表于 03-04 10:31

    iMX6常見 Android系統問題

    方法修改后重新編譯鏡像后,將新編譯的鏡像燒寫到imx6開發板上: 修改/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
    發表于 08-29 10:32

    基于IMX6的MCIMX6U8DVM10AB開發板圖紙

    本文檔中內容包含了IMX6的MCIMX6U8DVM10AB開發板圖紙,希望為各位網友提供幫助。
    發表于 09-01 11:32 ?95次下載

    iMX6雷克斯開發板詳細介紹

    iMX6雷克斯開發板詳細介紹
    發表于 01-19 09:10 ?8次下載

    iMX6 Rex開發板詳解介紹

    iMX6 Rex開發板詳解介紹
    發表于 01-18 17:27 ?55次下載

    IMX6 MfgTool燒錄指導手冊

    Linux-3.14.52 Linux-4.1.15 MY-IMX6-EK140 √ √ MY-IMX6-EK140P √ √ MY-IMX6-EK200 √ √ √ MY-IMX6
    的頭像 發表于 03-17 11:54 ?8340次閱讀

    ARM核心板iMX6智能設備系統的電路原理圖免費下載

    本文檔的主要內容詳細介紹的是iMX6智能設備系統的電路原理圖免費下載。
    發表于 06-24 08:00 ?12次下載
    ARM核心板<b class='flag-5'>iMX6</b>智能設備系統的電路原理圖免費下載

    iMX6系列-iMX6Q 開發板 Python 移植

    本文基于飛凌OKMX6Q/DL開發板為基礎講解,主要使用平臺是imx6系列,linux3.0.35操作系統,其他平臺也可以參考,不同平臺之間會存在差異,需自行修改適應自己的使用iMX6 Python移植
    的頭像 發表于 10-28 18:24 ?1059次閱讀
    <b class='flag-5'>iMX6</b>系列-<b class='flag-5'>iMX6</b>Q 開發板 Python 移植