u-boot學習筆記(一):基礎概念

来源:http://www.cnblogs.com/Forever-LJX/archive/2016/08/30/5823143.html
-Advertisement-
Play Games

1.U-Boot,全稱 Universal Boot Loader,是遵循GPL條款的開放源碼項目。U-Boot的作用是系統引導。U-Boot從FADSROM、8xxROM、PPCBOOT逐步發展演化而來。其源碼目錄、編譯形式與Linux內核很相似,事實上,不少U-Boot源碼就是根據相應的Linu ...


1.U-Boot,全稱 Universal Boot Loader,是遵循GPL條款的開放源碼項目。U-Boot的作用是系統引導。U-Boot從FADSROM、8xxROM、PPCBOOT逐步發展演化而來。其源碼目錄、編譯形式與Linux內核很相似,事實上,不少U-Boot源碼就是根據相應的Linux內核源程式進行簡化而形成的,尤其是一些設備的驅動程式,這從U-Boot源碼的註釋中能體現這一點。

 

2.U-Boot不僅僅支持嵌入式Linux系統的引導,它還支持NetBS

D, VxWorks, QNX, RTEMS, ARTOS, LynxOS, android嵌入式操作系統。其目前要支持的目標操作系統是OpenBSD, NetBSD, FreeBSD,4.4BSD, Linux, SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks, LynxOS, pSOS, QNX, RTEMS, ARTOS, android。這是U-Boot中Universal的一層含義,另外一層含義則是U-Boot除了支持PowerPC系列的處理器外,還能支持MIPS、 x86、ARM、NIOS、XScale等諸多常用系列的處理器。這兩個特點正是U-Boot項目的開發目標,即支持儘可能多的嵌入式處理器嵌入式操作系統。就目前來看,U-Boot對PowerPC系列處理器支持最為豐富,對Linux的支持最完善。

 

3.優勢:

選擇U-Boot的理由: ① 開放源碼; ② 支持多種嵌入式操作系統內核,如Linux、NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS, android; ③ 支持多個處理器系列,如PowerPC、ARM、x86、MIPS; ④ 較高的可靠性和穩定性; ⑤ 高度靈活的功能設置,適合U-Boot調試、操作系統不同引導要求、產品發佈等; ⑥ 豐富的設備驅動源碼,如串口、乙太網、SDRAM、FLASH、LCD、NVRAM、EEPROM、RTC、鍵盤等; ⑦ 較為豐富的開發調試文檔與強大的網路技術支持;   4.目錄結構: * board 目標板相關文件,主要包含SDRAM、FLASH驅動; * common 獨立於處理器體繫結構的通用代碼,如記憶體大小探測與故障檢測; * cpu 與處理器相關的文件。如mpc8xx子目錄下含串口、網口、LCD驅動及中斷初始化等文件; * driver 通用設備驅動,如CFI FLASH驅動(目前對INTEL FLASH支持較好) * doc U-Boot的說明文檔; * examples可在U-Boot下運行的示常式序;如hello_world.c,timer.c; * include U-Boot頭文件;尤其configs子目錄下與目標板相關的配置頭文件是移植過程中經常要修改的文件; * lib_xxx 處理器體系相關的文件,如lib_ppc, lib_arm目錄分別包含與PowerPC、ARM體繫結構相關的文件; * net 與網路功能相關的文件目錄,如bootp,nfs,tftp; * post 上電自檢文件目錄。尚有待於進一步完善; * rtc RTC驅動程式; * tools 用於創建U-Boot S-RECORD和BIN鏡像文件的工具;   5.工作模式 U-Boot的工作模式有啟動載入模式和下載模式。啟動載入模式是Bootloader的正常工作模式,嵌入式產品發佈時,Bootloader必須工作在這種模式下,Bootloader將嵌入式操作系統從FLASH中載入到SDRAM中運行,整個過程是自動的。下載模式就是Bootloader通過某些通信手段將內核映像或根文件系統映像等從PC機中下載到目標板的FLASH中。用戶可以利用Bootloader提供的一些命令介面來完成自己想要的操作。   下麵分析下makefile文件
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 總結了27條機器學習相關的Awesome系列,如有遺漏敬請指出。 ...
  • 在SQL Server資料庫或OACLE資料庫當中,通常一個會話持有某個資源的鎖,而另一個會話在請求這個資源,就會出現阻塞(blocking)。這是DBA經常會遇到的情況。當出現SQL語句的阻塞時,很多人想查看阻塞的源頭(哪個SQL語句阻塞了哪個SQL),這樣方便直觀、簡潔明瞭的定位問題。但是很多時... ...
  • 介紹 接下來幾篇文章會詳細介紹幾種常用的存儲引擎及適合場景。這篇文章就先來大概瞭解一下mysql的存儲引擎。 參考說明:mysql5.7 查看支持的存儲引擎 mysql> show engines \G; *************************** 1. row ************ ...
  • 利用HAProxy代理SQL Server的AlwaysOn輔助副本 公司最近資料庫升級到SQL Server2014 ,並部署了alwayson高可用集群 機房內有三套程式需要讀取資料庫 第一套:主程式,讀寫資料庫,連接主副本 第二套:報表程式,讀報表,連接輔助副本 第三套:歷史庫程式,讀歷史庫, ...
  • 1. sql語句查詢某位數字或者某幾位數字開頭的數據,欄位類型為數字類: 2. sql搜索以4開頭和含有李字的數據: ...
  • 在一些複雜的Linux維護工作中,大量重覆的輸入和交互操作不但費時費力,容易出錯.這時候就需要用到腳本。 編寫腳本的好處: 批量的處理,自動化的完成維護,減輕管理員的負擔。 linux的shell腳本是一種特殊的應用程式,常見的shell解釋器有很多種,使用不同的shell時期內部指令:cat /e ...
  • LVS介紹 lvs 核心ipvs Ipvs(IP Virtual Server)是整個負載均衡的基礎,如果沒有這個基礎,故障隔離與失敗切換就毫無意義了。Ipvs 具體實現是由ipvsadm 這個程式來完成,因此判斷一個系統是否具備ipvs 功能,只需要察看ipvsadm 程式是否被安裝。察看ipvs ...
  • 1. 安裝libevent 2. 安裝memcached 3. 安裝memagent 3-1。修改Makefile 3-2。修改ketama.h 3-3.安裝memagent 1 make 2 ln -i /usr/local/magent/magent /usr/bin/magent 4. 使用m ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...