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

迅為4412開發板實驗_Makefile編譯(上)

發布者:Yuexin888最新更新時間:2025-03-10 來源: cnblogs關鍵字:4412開發板 手機看文章 掃描二維碼
隨時隨地手機看文章

本章導讀
在前面入門視頻第十期“搭建編譯環境 uboot_linux_Android”中,只介紹了輸入 Make命令就可以編譯出內核,并沒有介紹它是如何運行的。
在向內核中添加驅動的時候要完成 3 項工作,包括:
1)在 Kconfig 中添加新代碼對應項目的編譯條件,這一部分在實驗 3 已經介紹過;
2)將驅動源碼添加到對應的目錄中,這一步比較好理解,在本章實驗中將給大家演示一下;
3)在目錄 Makefile 中文件中增加針對新代碼的編譯條目,這一部分將在本章節介紹到。
4.1.1 工具
4.1.1.1 硬件工具
1)PC 機
4.1.1.2 軟件工具
1)虛擬機 Vmware
2)Ubuntu12.04.2
3)Ubuntu 系統下解壓生成的 Linux 源碼
4.1.2 預備課程
入門視頻“01-燒寫、編譯以及基礎知識視頻”
→“實驗 10-搭建編譯環境 uboot_linux_Android”或者使用手冊“五 Android 開
發環境搭建以及編譯”;
實驗三 Menuconfig_Kconfig
4.1.3 視頻資源
本節配套視頻為“視頻 04_Makefile 編譯”
4.2 學習目標
本章需要學習以下內容:
掌握 Linux 內核編譯命令
掌握編譯器路徑設置的方法
理解環境變量路徑、編譯器、源碼 Makefile 文件中編譯器路徑三者之間的關系
理解 Makefile 文件結構
掌握向 Makefile 文件中添加腳本命令的方法,能夠看懂 Makefile 腳本
4.3 編譯器路徑的設置
在前面入門知識中,只介紹了在什么目錄解壓編譯器,在環境變量文件中添加路徑,就可以編譯出內核,并沒有介紹他們之間是如何對應的。
如下圖所示,按照前面提供的基礎教程,配置好 Ubuntu 中的編譯器和庫文件,輸入命令“#make”,就可以編譯生成內核的二進制鏡像。

如下圖所示,使用命令“#cd”,使用命令“#vim .bashrc”打開環境變量文件“.bashrc”。

如下圖所示,進入最底行,可以看到,在環境變量文件中編譯器路徑設置為“exportPATH=$PATH:/usr/local/arm/arm-2009q3/bin”。

然后使用命令“#cd /usr/local/arm/”,進入解壓編譯器“arm-2009q3.tar.bz2”的文件目錄。

可以明顯的看到,環境變量中設置的路徑和解壓的路徑是對應的。
這里回到內核源碼的目錄,如下圖所示。

如下圖所示,使用命令“#vim Makefile”打開內核目錄下的 Makefile 文件。

這里通過 vim 編輯器查找參數“CROSS_COMPILE”,如下圖所示。

可以查到參數“CROSS_COMPILE”,如下圖所示。

如上圖所示,可以看到這個參數是“/usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-”。
再看一下參數“CROSS_COMPILE”的下一行,可以看出這里有修改過的痕跡。很容易推斷出,原來三星是用的“4.5.1”版本的編譯器,不過這個沒關系,只要能編譯通過就可以了。
一般說來,拿到源碼之后的第一步,是要先要先將源碼編譯通過。
設置上圖中的變量“CROSS_COMPILE”以及環境變量還有編譯器實際解壓路徑三者對應。這三者對應之后,就能確保執行 Make 命令之后,系統能夠找到這個編譯器。
在編譯命令執行的過程中,會提示一些錯誤,然后根據提示的錯誤,挨個去排查修改,去添加庫文件或者修改庫文件。這個過程有長有短,考驗的只是耐心,并沒有太多技巧。由于已經將缺少的庫文件寫成腳本,這樣大家在編譯器執行以下腳本就能夠編譯通過。
針對內核目錄下的 Makefile 文件,提醒大家一下,這個文件中內容很多,除了上面編譯器路徑變量以外的其它部分幾乎不用關注。
另外還有一個地方需要了解一下,如下圖所示,在該文件的第一行,可以看到內核的版本。

4.4 Make 內核編譯命令執行過程簡介
如下圖所示,編譯內核需要執行 make 命令,在執行 make 命令之后,并沒有介紹它是如何執行的。

在 make 命令執行之后,它會首先找到當前目錄下的“Makefile”文件,如下圖所示。

運行 Makefile 文件之后,它會在 Makefile 文件中找到編譯器的路徑“/usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-”如下圖所示。

然后系統根據環境變量找到“export PATH=$PATH:/usr/local/arm/arm-2009q3/bin”編譯器的路徑,如下圖所示。

如下圖所示,使用命令“ls /usr/local/arm/arm-2009q3/bin/”可以查看到 arm2009q3解壓之后有哪些具體編譯器。

如上圖,系統找到編譯器之后,同時基礎的庫文件也是和編譯器在一起的,有時候編譯一個新的內核,還有可能需要修改庫文件。
編譯執行前還需要找到“.config”文件,默認是放在源碼目錄下的。使用命令“ls -a”就可以看到,如下圖所示。

從本章‘實驗 03’的 3.5 小節,學習到這個“.config”是通過 menuconfig 工具生成的,里面只是一些宏定義,如下圖所示,打開這個文件。

查找宏定義”LEDS,”是編譯 led 驅動的宏定義“LEDS_CTL”,如下圖所示。

現在系統找到這個宏定義“LEDS_CTL”,在編譯具體中間文件的時候會用到。
具體是怎么實現的,繼續看下一小節的內容就可以搞清楚這個宏定義有什么用處。

關鍵字:4412開發板 引用地址:迅為4412開發板實驗_Makefile編譯(上)

上一篇:迅為IMX6Q開發板-QtE4.7編譯
下一篇:迅為IMX6ULL開發板Linux RS232/485驅動實驗(上)

推薦閱讀最新更新時間:2025-06-29 09:40

IMX6ULL開發板搭建Web服務器(二)
boa 拷貝到開發板的 bin 目錄下 接下來在開發板根目錄下建立 www 文件夾,如圖 80.15。 然后在開發板上面建立的 www 目錄下面建立文件夾 cgi-bin 目錄,如圖 80.16: 然后在開發的 etc 目錄下用命令 touch group 命令建立 group 文件,如圖 80.17 所示。 然后進到開發板 etc/boa目錄,使用 vi boa.conf命令打開 boa.conf文件(這里改的是開發板的 boa.conf),如下圖所示:打開 boa.conf 文件,找到”Group nogroup”,修改為”Group 0”。 找到“ErrorLog ”和“AccessLog”這兩行,指定 log 文
[單片機]
<font color='red'>迅</font><font color='red'>為</font>IMX6ULL<font color='red'>開發板</font>搭建Web服務器(二)
IMX6Q開發板非設備樹uboot-修改默認環境變量
iTOP-iMX6 開發板燒寫好之后,默認是 android 系統 9.7 寸屏幕的系統參數和屏幕參數。如下圖。本文檔主要介紹如何修改默認啟動參數. ignore_js_op 70.1 重要的環境變量 比較重要的環境變量或者說經常使用的環境變量,已經在上圖中的紅色方框中。主要是:bootsystem、lcdtype 和 bootargs。這些參數都可以在 uboot 源碼中進行設置。具體文件為:“iTOP-iMX6_android4.4.2/bootable/bootloader/uboot-imx/lib_arm/board.c”文件。 70.2 默認啟動系統設置 默認啟動系統參數是:bootsystem。打開“board.c
[單片機]
<font color='red'>迅</font><font color='red'>為</font>IMX6Q<font color='red'>開發板</font>非設備樹uboot-修改默認環境變量
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 依兰县| 屏东县| 句容市| 南雄市| 瑞昌市| 山阴县| 巴彦淖尔市| 定兴县| 蒲江县| 宁夏| 富顺县| 濉溪县| 东方市| 格尔木市| 清水河县| 寿阳县| 哈密市| 黔东| 禄劝| 特克斯县| 美姑县| 专栏| 霍林郭勒市| 嘉兴市| 个旧市| 陆丰市| 罗山县| 饶河县| 丹东市| 石林| 开平市| 林西县| 麦盖提县| 营山县| 岳阳市| 本溪市| 永顺县| 霞浦县| 东乡| 奉新县| 平遥县|