學習嵌入式之驅動

一、基礎搭建

1.基礎:

? c語言? ?軟件編程語言
? 數據結構? ?軟件編程思想

2.驅動實現目標

  • ? ? ? ? 如果將Linux系統細致到開發板平臺上?
  • ? ? ? ? Liunx系統與硬件設備的適配

3.自我能力的鍛煉

  • 繼續強化C語言
  • 鍛煉大型代碼閱讀和分析能力
  • 學習大型項目的代碼搭建和管理的能力
  • 大型項目的軟件編程思想
  • 硬件調試能力
  • 軟件代碼的開發和集成能力
  • Linux系統配置能力

4.Linux系統功能

(1)內存管理:虛擬地址和物理地址的映射和管理
(2)多任務的管理:管理多任務的狀態
(3)網絡的管理:網絡的協議棧
(4)多任務間的通信:進程、線程、管道、共享內存
(5)文件系統的管理

5.shell功能(用戶不能直接操作內核原因)

  • 保障Linux內核安全
  • shell命令解釋器

6.移植Linux系統到IMX6ULL平臺需要的文件列表

(1)bootloader:初始化硬件設備,引導內核啟動,為加載內核做準備? ? ? ? u-boot.imx

(2)內核鏡像:Linux內核核心代碼(屏蔽底層不同的硬件,為上層應用提供統一接口,實現5大功能)? ? ? ? ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????zimage

(3)設備樹文件:硬件設備資源信息? ? ? ? ? ????????????????????????????????? ? ? imx6ull-alientek-emmc.dtb
(4)文件系統:與用戶交互的系統? ? ? ? ? ? ? ? ? ????????????????????????????????????????? ? ? rootfs.tar

7.IMX6ULL板子存儲圖

8.啟動方式

(1)USB啟動:上電后從USB連接的設備中讀取系統文件信息并啟動

(2)SD卡啟動:上電后從SD卡設備中讀取系統文件信息并啟動

(3)EMMC啟動:上電后從EMMC設備中讀取系統文件信息并啟動

(4)Nand Flash啟動(無法使用):上電后從Nand Flash設備中讀取系統文件信息并啟動

9.SD燒錄

Windows系統燒錄方法:

????????mfqtool:NXP官方提供的工具,實現系統燒錄,燒錄到SD卡上

二、配置Uboot啟動燒錄

1.燒錄原理

2.燒錄方式(3種)

(1)直接燒錄到emmc

(2)燒錄到SD卡

(3)每次從服務器下載,只把Uboot燒到SD中,Uboot起來之后,需要的文件,從Ubuntu中服務器下載,DDR又文件,通過NFS方式掛載在文件系統下,有點在于,重新修改內核和設備樹,只需要更新Ubuntu的文件,文件系統修改也可同步,Uboot不用更新

3.網絡配置

(1)NAT模式:

  • ? ? ? ? (1)Windows有網,Ubuntu就有網
  • ? ? ? ? (2)Ubuntu的IP地址是虛擬的
  • ? ? ? ? (3)因為(2),所以NAT模式不能作為服務器,(band不了);

(2)橋接模式

  • ? ? ? ? (1)Windows與Ubuntu公用同一個網卡,但網絡是獨立的;
  • ? ? ? ? (2)Ubuntu的IP地址是獨立的
  • ? ? ? ? (3)橋接模式可以作為服務器,上網比較難(網絡擁擠,需要的IP更多);
  • ? ? ? ? (4)學校不得行!學校一個賬號只有一個IP地址;

ping -》 操作開發板(ifconfig)- 》串口線-》安裝minicom工具-》apt-get工具集

4..配置tftp服務器

????????配置tftp的管理目錄:下載從管理目錄中下載,上傳向管理目錄中上傳

5.配置nfs服務器

  • 上電 ->SD卡啟動 ->uboot ->
  • tftp 80800000 zImage
  • tftp 83000000 imx6ull-alientek-emmc.dtb
  • bootz 80800000-83000000
  • ->uboot 設置bootargs 參數:說明文件系統通過nfs掛載到 192.168.1.100:/home/inux/nfs/rootfs 文件夾下

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

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

相關文章

在 Golang 中復用 HTTP 連接

問題提出最近在實現一個轉發大模型調用請求的中轉功能,涉及到要構造client發送請求的內容,一開始我每次都是新建一個client來發送請求,這樣的代碼實現存在一些問題——每次都要構造新的client,并且要重新建立連接。后面了解到在Go…

前端:el-upload文件上傳與FormData 對象

<el-uploadclass"uploadDemo":limit"1"dragaccept".xls,.xlsx" <!-- 只保留Excel格式 -->:on-exceed"handleExceedFileLimit":on-change"handleChangeExcelFile":on-remove"handleRemoveExcelFile":bef…

自然處理語言NLP:One-Hot編碼、TF-IDF、詞向量、NLP特征輸入、EmbeddingLayer實現、word2vec

文章目錄自然語言處理&#xff08;NLP&#xff09;一、什么是自然語言處理&#xff08;NLP&#xff09;&#xff1f;二、NLP 的核心目標三、NLP 的主要應用方向&#xff08;應用場景&#xff09;四、NLP 的基本概念五、NLP 的基本處理流程1. 文本預處理2. 特征表示3. 模型選擇與…

單詞記憶-輕松記憶10個實用英語單詞(13)

1. board含義&#xff1a;板子&#xff1b;董事會&#xff1b;登機 讀音標注&#xff1a;/b??rd/ 例句&#xff1a;Write your name on the board. 譯文&#xff1a;把你的名字寫在板上。 衍生含義&#xff1a;董事會&#xff08;如“board of directors”&#xff09;&#…

Spring循環依賴源碼調試詳解,用兩級緩存代替三級緩存

Spring循環依賴源碼詳解&#xff0c;改用兩級緩存并實驗 背景 最近一直在研究Spring的循環依賴&#xff0c;發現好像兩級緩存也能解決循環依賴。 關于為何使用三級緩存&#xff0c;大致有兩個原因 對于AOP的類型&#xff0c;保證Bean生命周期的順序 對于有AOP代理增強的類型&am…

亞馬遜BALL PIT球池外觀專利侵權指控?不侵權意見書助力4條鏈接申訴成功!

兒童球池作為玩具品類中常見的一款產品&#xff0c;能夠給兒童提供游樂的安全空間&#xff0c;深受亞馬遜平臺用戶的喜愛。然而在近期&#xff0c;賽貝收到了部分亞馬遜賣家的咨詢&#xff0c;原因是他們在售的兒童球池產品鏈接被美國外觀專利USD1009203S&#xff08;下稱203專…

開源,LangExtract-Python庫用LLM從非結構化文本提取結構化信息

摘要&#xff1a; LangExtract是一個Python庫&#xff0c;利用大語言模型&#xff08;LLM&#xff09;根據用戶定義指令從非結構化文本文檔中提取結構化信息。它具備精確源定位、可靠結構化輸出、長文檔優化、交互式可視化、靈活LLM支持、適應任意領域等特點。可通過幾行代碼快…

如何根據團隊技術能力選擇最適合的PHP框架?

作為一名PHP開發者&#xff0c;面對眾多的PHP框架&#xff0c;你是否曾感到選擇困難&#xff1f;Laravel、Symfony、CodeIgniter、ThinkPHP…每個框架都有其特色和優勢&#xff0c;但沒有最好的框架&#xff0c;只有最適合的框架。而選擇合適框架的關鍵因素之一&#xff0c;就是…

多人同時導出 Excel 導致內存溢出

1、問題根因分析多人同時導出Excel導致內存溢出&#xff08;OOM&#xff09;的核心原因是&#xff1a;在短時間內&#xff0c;大量數據被加載到JVM堆內存中&#xff0c;且創建了大量大對象&#xff08;如Apache POI的Cell、Row、Sheet對象&#xff09;&#xff0c;超過了堆內存…

深入 RAG(檢索增強生成)系統架構:如何構建一個能查資料的大語言模型系統

&#x1f407;明明跟你說過&#xff1a;個人主頁 &#x1f3c5;個人專欄&#xff1a;《深度探秘&#xff1a;AI界的007》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目錄 一、前言 1、LLM 的局限&#xff1a;模型知識“封閉” vs 現實知識…

linux tftpboot燒寫地址分析

1&#xff0c;loadaddr 是一個環境變量&#xff0c;用于指定文件&#xff08;如內核鏡像、設備樹等&#xff09;加載到內存的起始地址。setenv loadaddr 0x82000000setenv loadaddr 0x80008000saveenv //.保存配置將 loadaddr 設置為 0x82000000&#xff0c;表示后續文件將加載…

硬件工程師9月實戰項目分享

目錄 簡介 人員情況 實戰項目簡介 功能需求 需求分析 方案設計 電源樹設計 時鐘樹設計 主芯片外圍設計 接口設計 模擬鏈路設計 PCB設計檢查要點 測試方案設計 硬件測試培訓 測試代碼學習 培訓目標 掌握基本的硬件設計流程 掌握以FPGA為核心的硬件設計業務知識 …

力扣刷題——59.螺旋矩陣II

力扣刷題——59.螺旋矩陣II 題目 給你一個正整數 n &#xff0c;生成一個包含 1 到 n2 所有元素&#xff0c;且元素按順時針順序螺旋排列的 n x n 正方形矩陣 matrix 。示例 1&#xff1a;輸入&#xff1a;n 3 輸出&#xff1a;[[1,2,3],[8,9,4],[7,6,5]]示例 2&#xff1a; 輸…

win11系統還原點恢復系統

背景 系統換位bug11后&#xff0c;真的是各種以前的操作和設置找不到&#xff0c;太煩了&#xff0c;我是沒想到&#xff0c;連系統恢復還原點都這么難找。然后搜了一圈都是恢復系統之類的&#xff0c;真的崩潰。只好自己記錄了。 ?內容找到設置—>系統–>系統信息系統信…

DHCP 原理與配置(一)

應用場景隨著網絡規模的不斷擴大&#xff0c;網絡復雜度不斷提升&#xff0c;網絡中的終端設備例如主機、手機、 平板等&#xff0c;位置經常變化。終端設備訪問網絡時需要配置IP地址、網關地址、DNS服務器 地址等。采用手工方式為終端配置這些參數非常低效且不夠靈活。 IETF于…

SARibbon的編譯構建及詳細用法

目錄 1.1 源碼構建 1.2 搭建項目 1.3 詳細用法 1.4 不同風格 1.5 完整代碼 引言:SARibbon是一個專門為Qt框架設計的開源Ribbon風格界面控件庫,它模仿了微軟Office和WPS的Ribbon UI風格,適用于需要復雜菜單和工具欄的大型桌面程序。本文從源碼編譯構建到詳細使用,做了一…

CSS【詳解】性能優化

精簡 CSS移除未使用的 CSS&#xff08;“死代碼”&#xff09;&#xff0c;可借助工具如 PurgeCSS、UnCSS 自動檢測并刪除未被頁面使用的樣式。避免重復樣式&#xff0c;通過提取公共樣式&#xff08;如 mixin 或公共類&#xff09;減少代碼冗余。利用預處理器&#xff08;Sass…

Flutter 線程模型詳解:主線程、異步與 Isolate

一、主線程&#xff1a;默認的執行環境 所有代碼默認運行在主線程。下面的例子展示了一個會阻塞主線程的錯誤示范&#xff1a; import package:flutter/material.dart;void main() {runApp(const MyApp()); }class MyApp extends StatelessWidget {const MyApp({super.key});ov…

ChartDB:可視化數據庫設計工具私有化部署

ChartDB:可視化數據庫設計工具私有化部署一、什么是ChartDB ChartDB 是一款基于 Web 的開源數據庫可視化工具&#xff0c;專為簡化數據庫設計與管理流程而開發。以下是其核心特性與功能概述: 1、核心功能 智能查詢可視化?&#xff1a;通過單條 SQL 查詢即可生成數據庫架構圖&a…

單片機-FreeRTOS(ing)

目錄 一、基礎介紹 1.1 調度策略 1.1.1 調度方式 1.1.2 調度器 1.2 任務以及優先級 1.2.1 任務與協程 1.2.2 任務狀態 1.2.3 任務優先級 1.2.4 任務優先級分配方案 1.3 任務間通信 - 信號量 1.3.1 信號量 1.3.2 任務間計數信號量的實現 1.3.3 中斷方式計數信號量的…