正點原子[第三期]Arm(iMX6U)Linux移植學習筆記-5.1 uboot頂層Makefile分析-VSCode工程創建

?前言:

本文是根據嗶哩嗶哩網站上“Arm(iMX6U)Linux系統移植和根文件系統構鍵篇”視頻的學習筆記,在這里會記錄下正點原子 I.MX6ULL 開發板的配套視頻教程所作的實驗和學習筆記內容。本文大量引用了正點原子教學視頻和鏈接中的內容。

引用:

正點原子IMX6U倉庫 (GuangzhouXingyi) - Gitee.com

《【正點原子】I.MX6U嵌入式Linux驅動開發指南V1.5.2.pdf》

正點原子資料下載中心 — 正點原子資料下載中心 1.0.0 文檔

正點原子imx6ull-mini-Linux驅動之Linux I2C 驅動實驗(21)-CSDN博客

正文:

本文是 “Arm(iMX6U)Linux系統移植和根文件系統構鍵篇--5.1 講uboot頂層Makefile分析創建VSCode工程。本節將參考正點原子的視頻教程和配套的正點原子開發指南文檔進行學習。

0. 概述

先在 Ubuntu 下編譯一下 uboot,然后將編譯后的 uboot 文件夾復制到 windows 下,并創建VScode 工程。打開 VScode,選擇:文件->打開文件夾…,選中 uboot 文件夾,如圖 31.2.1 所

打開 uboot 目錄以后, VSCode 界面如圖 31.2.2 所示:
?

?點擊“文件->將工作區另存為…”,打開保存工作區對話框,將工作區保存到 uboot 源碼根目錄下,設置文件名為“uboot”,如圖 31.2.3 所示:

保存成功以后就會在 uboot 源碼根目錄下存在一個名為 uboot.code-workspace 的文件。這樣一個完整的 VSCode 工程就建立起來了。

但是這個 VSCode 工程包含了 uboot 的所有文件, uboot中有些文件是不需要的,比如 arch 目錄下是各種架構的文件夾,如圖 31.2.4 所示


?在 arch 目錄下,我們只需要 arm 文件夾,所以需要將其它的目錄從 VSCode 中給屏蔽掉,比如將 arch/avr32 這個目錄給屏蔽掉。

在 VSCode 上建名為“.vscode”的文件夾,如圖 31.2.5 所示

輸入新建文件夾的名字,完成以后如圖 31.2.6 所示
?

在.vscode 文件夾中新建一個名為“settings.json”的文件,然后在 settings.json 中輸入如下內容:
?

{"search.exclude": {"**/node_modules": true,"**/bower_components": true,},"files.exclude": {"**/.git": true,"**/.svn": true,"**/.hg": true,"**/CVS": true,"**/.DS_Store": true,}
}
  • 其中"search.exclude"里面是需要在搜索結果中排除的文件或者文件夾,
  • "files.exclude"是左側工程目錄中需要排除的文件或者文件夾。

我們需要將 arch/avr32 文件夾下的所有文件從搜索結果和左側的工程目錄中都排除掉,因此在"search.exclude"和"files.exclude"中輸入如圖 31.2.8 所示內容:


?保存一下 settings.json 文件,然后再看一下左側的工程目錄,發現 arch 目錄下沒有 avr32 這
個文件夾了,說明 avr32 這個文件夾被排除掉了,如圖 31.2.9 所示:

我們只是在"search.exclude"和"files.exclude"中加入了: "arch/avr32": true,冒號前面的是要排除的文件或者文件夾,冒號后面為是否將文件排除, true 表示排除, false 表示不排除。用這種方法即可將不需要的文件,或者文件夾排除掉,對于本章我們分析 uboot 而言,在 "search.exclude"和"files.exclude" 中需要輸入的完成的內容如下:

"**/*.o":true,
"**/*.su":true,
"**/*.cmd":true,
"arch/arc":true,
"arch/avr32":true,
"arch/blackfin":true,
"arch/m68k":true,
"arch/microblaze":true,
"arch/mips":true,
"arch/nds32":true,
"arch/nios2":true,
"arch/openrisc":true,
"arch/powerpc":true,
"arch/sandbox":true,
"arch/sh":true,
"arch/sparc":true,
"arch/x86":true,
"arch/arm/mach*":true,
"arch/arm/cpu/arm11*":true,
"arch/arm/cpu/arm720t":true,
"arch/arm/cpu/arm9*":true,
"arch/arm/cpu/armv7m":true,
"arch/arm/cpu/armv8":true,
"arch/arm/cpu/pxa":true,
"arch/arm/cpu/sa1100":true,
"board/[a-e]*":true,
"board/[g-z]*":true,
"board/[0-9]*":true,
"board/[A-Z]*":true,
"board/fir*":true,
"board/freescale/b*":true,
"board/freescale/l*":true,
"board/freescale/m5*":true,
"board/freescale/mp*":true,
"board/freescale/c29*":true,
"board/freescale/cor*":true,
"board/freescale/mx7*":true,
"board/freescale/mx2*":true,
"board/freescale/mx3*":true,
"board/freescale/mx5*":true,
"board/freescale/p*":true,
"board/freescale/q*":true,
"board/freescale/t*":true,
"board/freescale/v*":true,
"configs/[a-l]*":true,
"configs/[n-z]*":true,
"configs/[A-Z]*":true,
"configs/M[a-z]*":true,
"configs/M[A-Z]*":true,
"configs/M[0-9]*":true,
"configs/m[a-w]*":true,
"configs/m[0-9]*":true,
"configs/[0-9]*":true,
"include/configs/[a-l]*":true,
"include/configs/[n-z]*":true,
"include/configs/[A-Z]*":true,
"include/configs/m[a-w]*":true,

上述代碼用到了通配符“*”,比如“**/*.o”表示所有.o 結尾的文件。“configs/[a-l]*”表示 configs 目錄下所有以‘a’ ~‘l’開頭的文件或者文件夾。 上述配置只是排除了一部分文件夾,大家在實際的使用中可以根據自己的實際需求來選擇將哪些文件或者文件夾排除掉。排除以后我們的工程就會清爽很多,搜索的時候也不會跳出很多文件了。


?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/898257.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/898257.shtml
英文地址,請注明出處:http://en.pswp.cn/news/898257.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java 使用命令創建jar的常用參數整理

在Java中,創建JAR文件的命令是jar。以下是常用參數的表格展示: 參數信息含義使用場景使用示例c創建新的JAR文件用于創建一個新的JAR文件當需要打包類文件和資源文件時jar cf myapp.jar MyClass.classt列出JAR文件內容顯示JAR文件中的內容列表查看JAR文件…

無線頭戴式攝像頭系統:無需標記點攝像頭智能捕捉人臉表情

AH-T無線頭戴式攝像頭系統是一款可以精準捕捉人臉面部細微表情的設備,基于單目無標記點攝像頭智能識別算法,無需在臉上粘貼標記點即可實現真人細微臉部表情的精準捕捉,采用頭盔,面捕攝像頭一體式人性化設計,可以讓使用…

Cursor IDE 入門指南

什么是 Cursor? Cursor 是一款集成了 AI 功能的現代代碼編輯器,基于 VSCode 開發,專為提高開發效率而設計。它內置強大的 AI 助手功能,能夠理解代碼、生成代碼、解決問題,幫助開發者更快、更智能地完成編程任務。 基礎功能 1.…

Tailwind CSS 中的 spacing 詳解

🔍 Tailwind CSS 中的 spacing 詳解 spacing(間距)是 Tailwind CSS 里的一個核心概念,它主要用于控制 padding(內邊距)、margin(外邊距)、width(寬度)、heig…

go語言學習教程推薦,零基礎到做項目

一、基礎入門階段 官方教程(免費) ? A Tour of Go:交互式入門教程,邊學邊練 ? Go by Example:通過300代碼片段學習語法 入門書籍 ? 📘《Go語言圣經》中文版(免費在線閱讀)&#…

STM32---FreeRTOS內存管理實驗

一、簡介 1、FreeRTOS內存管理簡介 2、FreeRTOS提供的內存管理算法 1、heap_1內存管理算法 2、heap_2內存管理算法 4、heap_4內存管理算法 5、heap_5內存管理算法 二、FreeRTOS內存管理相關API函數介紹 三、 FreeRTOS內存管理實驗 1、代碼 main.c #include "st…

常見的前端安全問題

前端安全是 Web 開發中至關重要的一環,以下是常見的前端安全問題及對應的防御措施: 1. XSS(跨站腳本攻擊) 攻擊原理 攻擊者向頁面注入惡意腳本(如 JavaScript),在用戶瀏覽器中執行,…

【VUE】ant design vue實現表格table上下拖拽排序

適合版本&#xff1a;ant design vue 1.7.8 實現效果&#xff1a; 代碼&#xff1a; <template><div class"table-container"><a-table:columns"columns":dataSource"tableData":rowKey"record > record.id":row…

深入解析ES6+新語法:復雜的迭代器與生成器

一、迭代器&#xff08;Iterator&#xff09;&#xff1a;數據遍歷的統一協議 1. 迭代器協議的本質 **迭代器協議&#xff08;Iterator Protocol&#xff09;** 是一種標準化的數據訪問接口&#xff0c;它要求對象實現一個 next() 方法&#xff0c;每次調用返回包含 { valu…

LangChain介紹(開源大語言模型LLM應用構建框架,提供完整工具和組件,使開發者能夠創建復雜、交互式且上下文感知的LLM應用)LangServe

文章目錄 LangChain&#xff1a;構建LLM應用的強大框架引言LangChain核心理念- 超越模型訓練數據的局限性- 訪問最新信息- 與外部系統交互- 執行復雜推理鏈 核心組件體系1. 模型&#xff08;Models&#xff09;- **LLMs**&#xff1a;如OpenAI、Anthropic、Cohere等提供的完成型…

微軟 System Center Configuration Manager(SCCM)的組件文件

微軟 System Center Configuration Manager(SCCM) 或 Microsoft Endpoint Configuration Manager(MECM) 的組件文件,屬于企業級設備管理工具的一部分。以下是具體說明: C:\Windows\CCM\smsswd.exe C:\Windows\CCM\tsmanager.exe smsswd.exe 和 tsmanager.exe 是 Micros…

Java設計模式建模語言面向對象設計原則

設計模式 設計模式的概念 設計模式最初用于建筑領域的設計中。 軟件的設計模式&#xff0c;又稱設計模式&#xff0c;是一套被反復使用&#xff0c;多數人知道的&#xff0c;經過分類編目的&#xff0c;代碼設計經驗的總結。 它描述了在軟件設計過程中的一些不斷重復發生的…

uniapp 實現微信小程序電影選座功能

拖動代碼 /*** 獲取點擊或觸摸事件對應的座位位置* 通過事件對象獲取座位的行列信息* param {Event|TouchEvent} event - 點擊或觸摸事件對象* returns {Object} 返回座位位置對象&#xff0c;包含行(row)和列(col)信息&#xff0c;若未找到有效位置則返回 {row: -1, col: -1}*…

Docker - 切換源 (Linux / macOS)

文章目錄 Linux 系統macOS 系統 Linux 系統 修改配置文件&#xff1a;/etc/docker/daemon.json "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com"]驗證是否修改成功&#xff1a; docker info重啟 …

RocketMQ的安裝及配置(windows)

1. 環境準備 JDK需要先安裝好。 1. RocketMQ是用Java語言寫的&#xff0c;所以需要JDK的支持。2. 下載RocketMQ 建議下載這個低版本的 https://rocketmq.apache.org/release-notes/2020/12/21/4.8.0/ 下載之后解壓即可&#xff0c;目錄結構如下&#xff1a; 3. 配置RocketM…

【運維自動化-標準運維】如何實現一個最簡單的流程編排

流程編排是標準運維最核心的功能&#xff0c;通過將不同功能的原子插件在畫布上可視化的拖拽編排&#xff0c;可以實現各種不同場景的跨系統工作流。標準運維流程 根據實際運維操作場景梳理出來的操作步驟&#xff0c;通過不同的流轉邏輯&#xff08;并行、分支、條件并行&…

性能測試之grafana展示jmeter測試指標與主機監控

性能測試之grafana展示jmeter測試指標與主機監控 背景 ? 公司新的項目準備開展性能測試,之前性能監控主要使用的jmeter的插件jpgc-Transactions per Second 與 jpgc- Response Times Over Time 與 jpgc - Active Threads Over Time等等插件監控性能指標結果,PerfMon Metrics…

1~2 課程簡介+ESP32-IDF環境搭建(虛擬機Linux環境下)

嗶站“宸芯IOT”視頻鏈接 一、課程內容介紹 1.什么是ESP32 ESP32是集成2.4GHz Wi-Fi和藍牙雙模的單芯片方案&#xff0c;具有超高的射頻性能、穩定性、通用性和可靠性&#xff0c;以及超低的功耗&#xff0c;滿足不同的功耗需求&#xff0c;適用于各種應用場景。ESP32是ESP8…

Vue3一個組件綁定多個 v-model,自定義 prop 和 event 名稱

Vue3一個組件綁定多個 v-model&#xff0c;自定義 prop 和 event 名稱 Vue3中v-model默認使用modelValue作為prop&#xff0c;update:modelValue作為事件&#xff0c;而Vue2使用的是value和input。此外&#xff0c;Vue3允許通過參數的方式為組件添加多個v-model綁定&#xff0…

YOLOv11小白的進擊之路(九)創新YOLO11損失函數之NWD損失函數源碼解讀

之前的博客也有對YOLO11的損失函數進行過源碼分析&#xff0c;可以參考&#xff1a;YOLOv11小白的進擊之路&#xff08;六&#xff09;創新YOLO的iou及損失函數時的源碼分析_yolov11的損失函數是什么-CSDN博客最近在做小目標檢測的時候注意到了NWD損失函數&#xff0c;這里對其…