0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

從概念到實(shí)際操作對(duì)嵌入式Linux的總體認(rèn)識(shí)

電子設(shè)計(jì) ? 來(lái)源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2020-10-30 11:36 ? 次閱讀

本文簡(jiǎn)明扼要的介紹了嵌入式 Linux 的引導(dǎo)過(guò)程,X86 體系的引導(dǎo)過(guò)程以及幾種常見嵌入式處理器的引導(dǎo)過(guò)程,U-Boot 的移植的基本步驟、常用命令如何使用。通過(guò)本文可以對(duì)嵌入式 Linux 的引導(dǎo)從概念到實(shí)際操作有一個(gè)總體清晰的認(rèn)識(shí)

1. 啟動(dòng)順序
1.1 Bootloader

Bootloader(引導(dǎo)加載程序)本質(zhì)上是一小段程序,其基本功能在于:

基本的硬件初始化

從閃存存儲(chǔ),網(wǎng)絡(luò)或其他類型的非易失性存儲(chǔ)中加載應(yīng)用程序二進(jìn)制文件(通常是操作系統(tǒng)內(nèi)核)。

可能會(huì)對(duì)應(yīng)用程序二進(jìn)制文件進(jìn)行解壓縮

執(zhí)行申請(qǐng)

除此基本功能之外,大多數(shù) Bootloader(引導(dǎo)加載程序)實(shí)現(xiàn)了 Shell 命令集以執(zhí)行不同操作。

從存儲(chǔ)或網(wǎng)絡(luò)中加載數(shù)據(jù),內(nèi)存檢查,硬件診斷和測(cè)試等

1.2 基于 BIOS-X86 的引導(dǎo)

x86 處理器通常安裝在在一塊包含 BIOS 程序的非易失性存儲(chǔ)器主板上。

在基于 BIOS 的舊 x86 平臺(tái)上:BIOS 負(fù)責(zé)基本的硬件初始化和從非易失性存儲(chǔ)中加載一小段代碼。

這段代碼通常是第一階段的引導(dǎo)程序 bootloader,它將加載完整的引導(dǎo)程序 bootloader 本身。

bootloader 可以解析文件系統(tǒng),因此內(nèi)核映象可以直接從普通文件系統(tǒng)中加載。

此順序與現(xiàn)代基于 EFI 的系統(tǒng)不同。

用于 X86 體系 Linux 的 bootloader 常用的有以下兩種:

GNU GRUB(GRand UnifiedBootloader 簡(jiǎn)稱“GRUB”)是一個(gè)來(lái)自 GNU 項(xiàng)目的多操作系統(tǒng)啟動(dòng)程序。GRUB 是多啟動(dòng)規(guī)范的實(shí)現(xiàn),它允許用戶可以在計(jì)算機(jī)內(nèi)同時(shí)擁有多個(gè)操作系統(tǒng),并在計(jì)算機(jī)啟動(dòng)時(shí)選擇希望運(yùn)行的操作系統(tǒng)。GRUB 可用于選擇操作系統(tǒng)分區(qū)上的不同內(nèi)核,也可用于向這些內(nèi)核傳遞啟動(dòng)參數(shù)

在 X86 架構(gòu)的機(jī)器中,Linux、BSD 或其它 Unix 類的操作系統(tǒng)中 GRUB、LILO 是大家最為常用,應(yīng)該說(shuō)是主流。

詳細(xì)信息請(qǐng)參考:http://www.gnu.org/software/grub/

syslinux 是一個(gè)功能強(qiáng)大的引導(dǎo)加載程序,而且兼容各種介質(zhì)。它的目的是簡(jiǎn)化首次安裝 Linux 的時(shí)間,并建立修護(hù)或其它特殊用途的啟動(dòng)盤。它的安裝很簡(jiǎn)單,一旦安裝 syslinux 好之后,sysLinux 啟動(dòng)盤就可以引導(dǎo)各種基于 DOS 的工具,以及 MS-DOS/Windows 或者任何其它操作系統(tǒng)。不僅支持采用 BIOS 結(jié)構(gòu)的主板,而且從 6.0 版也開始支持采用 EFI 結(jié)構(gòu)的新型主板。

Syslinux 常被用于自網(wǎng)絡(luò)或者可移動(dòng)存儲(chǔ)介質(zhì)(如 USB/CD-ROM)引導(dǎo) Linux

詳細(xì)信息請(qǐng)參考:https://kernel.org/pub/linux/utils/boot/syslinux/

1.3 嵌入式 CPU 的引導(dǎo)

Case 1:CPU 內(nèi)部無(wú)引導(dǎo)代碼

CPU 上電后,CPU 開始在固定地址入口執(zhí)行代碼

CPU 沒(méi)有提供其他引導(dǎo)機(jī)制

硬件設(shè)計(jì)必須確保已連接存儲(chǔ)芯片(如 NOR 閃存芯片)這樣就可以在 CPU 啟動(dòng)的地址訪問(wèn)它并執(zhí)行指令

第一級(jí)引導(dǎo)程序必須在此地址編程在該存儲(chǔ)芯片中(如 NOR)

NOR 是強(qiáng)制性的,因?yàn)樗试S隨機(jī)訪問(wèn),NAND 不允許

注:這種方案已不常用,因?yàn)樾枰?NOR FLASH

Case2:CPU 內(nèi)具有引導(dǎo)代碼

CPU 在 ROM 中具有集成的引導(dǎo)代碼。如:AT91 CPU 上的 BootROM,OMAP 上的“ ROM 代碼”,等等。具體細(xì)節(jié)取決于 CPU 體系結(jié)構(gòu)

此引導(dǎo)代碼能夠?qū)⒌谝患?jí)引導(dǎo)加載程序從存儲(chǔ)設(shè)備加載到內(nèi)部 SRAM(因?yàn)?DRAM 尚未初始化)。 存儲(chǔ)設(shè)備通??梢允牵篗MC,NAND,SPI 閃存,UART(通過(guò)串行線傳輸數(shù)據(jù))等等。

第一階段的引導(dǎo)程序: 由于硬件限制,尺寸有限(SRAM 比較貴), 由 CPU 供應(yīng)商或社區(qū)項(xiàng)目提供

此第一階段引導(dǎo)程序必須初始化 DRAM 和其他硬件設(shè)備,并將第二階段的引導(dǎo)程序加載到 RAM

因?yàn)楸疚膶W⑶度胧筋I(lǐng)域,故接下來(lái)將描述幾種常見的嵌入式處理器的引導(dǎo)過(guò)程。

1.2.1 ARM Microchip AT91 的引導(dǎo)

RomBoot:嘗試從各種設(shè)備中找到有效的引導(dǎo)映像存儲(chǔ)源,然后將其加載到 SRAM 中(DRAM 還未初始化)。大小限制為 4 KB,無(wú)法進(jìn)行用戶互動(dòng)標(biāo)準(zhǔn)啟動(dòng)模式。

AT91Bootstrap:從 SRAM 運(yùn)行。初始化 DRAM,NAND 或 SPI 控制器,并將輔助引導(dǎo)程序加載到 RAM 并啟動(dòng)它,此階段沒(méi)有用戶互動(dòng)的可能。

U-Boot:從 RAM 運(yùn)行。初始化其他一些硬件設(shè)備(網(wǎng)絡(luò),USB 等)。從存儲(chǔ)或加載內(nèi)核映像網(wǎng)絡(luò)到 RAM 并啟動(dòng)它。此階段 Shell 命令可以使用。

Linux 內(nèi)核:從 RAM 運(yùn)行。完全接管系統(tǒng)(引導(dǎo)加載程序 bootloader 不再存在)。

1.2.2 ARM TI OMAP2+/AM33xx 的引導(dǎo)

ROM 代碼:嘗試從各種方法中找到有效的引導(dǎo)映像存儲(chǔ)源,并將其加載到 SRAM 或 RAM 中(RAM 可以是由 ROM 代碼通過(guò)配置標(biāo)頭初始化)。尺寸限制為《64 KB。沒(méi)有用戶互動(dòng)的可能。

X-Loader 或 U-Boot SPL:從 SRAM 運(yùn)行。初始化 DRAM,NAND 或 MMC 控制器,并加載輔助將引導(dǎo)程序加載到 RAM 中并啟動(dòng)它。沒(méi)有用戶互動(dòng)的可能。文件名為 MLO。

U-Boot:從 RAM 運(yùn)行。初始化其他一些硬件設(shè)備(網(wǎng)絡(luò),USB 等)。從存儲(chǔ)或加載內(nèi)核映像網(wǎng)絡(luò)到 RAM 并啟動(dòng)它。具有提供的命令的 Shell。該文件一般名為 u-boot.bin 或 u-boot.img。

Linux 內(nèi)核:從 RAM 運(yùn)行。完全接管系統(tǒng)(引導(dǎo)程序不再存在)。

1.2.3 MarvellSoCs 的引導(dǎo)

ROM 代碼:嘗試從各種方法中找到有效的引導(dǎo)影像

存儲(chǔ)源,并將其加載到 RAM 中。RAM 配置為在特定于 CPU 的標(biāo)頭中進(jìn)行了描述,該標(biāo)頭已添加到引導(dǎo)加載程序中圖片。

U-Boot:從 RAM 運(yùn)行。初始化其他一些硬件設(shè)備(網(wǎng)絡(luò),USB 等)。從存儲(chǔ)或加載內(nèi)核映像網(wǎng)絡(luò)到 RAM 并啟動(dòng)它。具有提供的命令的 Shell。文件名為 u-boot.kwb。

Linux 內(nèi)核:從 RAM 運(yùn)行。完全接管系統(tǒng)(引導(dǎo)程序不再存在)。

1.2.4 常見嵌入式處理器的 bootloader

本文將重點(diǎn)介紹通用部分,即主要的引導(dǎo)加載程序重要功能。有幾種開源的通用引導(dǎo)加載程序。以下是最受歡迎的:

U-Boot,Denx 的通用引導(dǎo)程序

最常用于 ARM,也可用于 PPC,MIPS,x86,m68k,NIOS 等。

如今已成為事實(shí)上的標(biāo)準(zhǔn)。我們將詳細(xì)研究它。

http://www.denx.de/wiki/U-Boot

Barebox,與體系結(jié)構(gòu)無(wú)關(guān)的引導(dǎo)程序,是 U-Boot 的后繼產(chǎn)品。它尚不具備 U-Boot 的硬件支持。U-Boot 改善了非常感謝這位競(jìng)爭(zhēng)對(duì)手。

http://www.barebox.org

還有很多其他開源或?qū)S械囊龑?dǎo)程序,通常特定于架構(gòu)。如 RedBoot,Yaboot,PMON 等

2. U-Boot

2.1 介紹

U-Boot 是一個(gè)典型的免費(fèi)軟件項(xiàng)目

許可證:GPLv2(與 Linux 相同)

可從 http://www.denx.de/wiki/U-Boot 免費(fèi)獲得

可從 http://www.denx.de/wiki/U-Boot/DocumentaTIon 獲得文檔

Git 存儲(chǔ)庫(kù)中提供了最新的開發(fā)源代碼:

http://git.denx.de/?p=u-boot.git;a=摘要

圍繞開放的郵件列表進(jìn)行開發(fā)和討論,http://lists.denx.de/pipermail/u-boot/ 自 2008 年底開始,它遵循固定間隔的發(fā)布時(shí)間表。兩個(gè)幾個(gè)月,發(fā)布了新版本。版本名為 YYYY.MM。

2.2 配置文件

從網(wǎng)站獲取源代碼并解壓縮。configs/ 目錄為每個(gè)受支持的板包含一個(gè)配置文件,定義 CPU 類型,外圍設(shè)備及其配置,存儲(chǔ)器映射,應(yīng)在其中編譯的 U-Boot 功能等。

注意:U-Boot 正在從頭文件中定義的主板配置遷移(include/configs/)改為 defconfig,就像在 Linux 內(nèi)核(configs/)中一樣

并非所有電路板都已轉(zhuǎn)換為新的配置系統(tǒng)。硬件供應(yīng)商提供的較舊的 U-Boot 版本可能尚未使用此新版本配置系統(tǒng)。

U-BOOT 配置文件 CHIP_defconfig 舉例如下:

CONFIG_ARM=y

CONFIG_ARCH_SUNXI=y

CONFIG_MACH_SUN5I=y

CONFIG_DRAM_TIMINGS_DDR3_800E_1066G_1333J=y

# CONFIG_MMC is not set

CONFIG_USB0_VBUS_PIN=“PB10”

CONFIG_VIDEO_COMPOSITE=y

CONFIG_DEFAULT_DEVICE_TREE=“sun5i-r8-chip”

CONFIG_SPL=y

CONFIG_SYS_EXTRA_OPTIONS=“CONS_INDEX=2”

# CONFIG_CMD_IMLS is not set

CONFIG_CMD_DFU=y

CONFIG_CMD_USB_MASS_STORAGE=y

CONFIG_AXP_ALDO3_VOLT=3300

CONFIG_AXP_ALDO4_VOLT=3300

CONFIG_USB_MUSB_GADGET=y

CONFIG_USB_GADGET=y

CONFIG_USB_GADGET_DOWNLOAD=y

CONFIG_G_DNL_MANUFACTURER=“Allwinner Technology”

CONFIG_G_DNL_VENDOR_NUM=0x1f3a

CONFIG_G_DNL_PRODUCT_NUM=0x1010

CONFIG_USB_EHCI_HCD=y

2.3 配置并編譯

必須先配置 U-Boot,然后再進(jìn)行編譯

1. 制作 BOARDNAME_defconfig

2. 其中 BOARDNAME 是配置名稱,如 configs/ 目錄。

3. 然后,您可以運(yùn)行 make menuconfig 進(jìn)一步自定義 U-Boot 的配置!

確保交叉編譯器在 PATH 中可用

通過(guò)指定交叉編譯器首選項(xiàng)來(lái)編譯 U-Boot。例如,如果交叉編譯器可執(zhí)行文件是 arm-linux-gcc:CROSS_COMPILE= arm-linux-

主要結(jié)果是一個(gè) u-boot.bin 文件,它是 U-Boot 映像。取決于您的特定平臺(tái)上,可能還有其他專用映像:u-boot.img

2.4 安裝 U-Boot

通常必須將 U-Boot 安裝在閃存中才能由硬件執(zhí)行。取決于硬件,U-Boot 的安裝以不同的方式完成:

CPU 提供了某種特定的引導(dǎo)監(jiān)視器,您可以使用特定的協(xié)議通過(guò)串行端口或 USB 與之進(jìn)行通信

從固定媒體(NAND)引導(dǎo)之前,CPU 首先在可移動(dòng)媒體(MMC)上引導(dǎo)。在這種情況下,請(qǐng)從 MMC 引導(dǎo)以刷新新版本

U-Boot 已經(jīng)安裝,可以用來(lái)發(fā)布新版本的 U-Boot。但是請(qǐng)注意:如果新版本的 U-Boot 無(wú)法正常工作,則該主板將無(wú)法使用

該評(píng)估板提供了一個(gè) JTAG 接口,該接口允許遠(yuǎn)程寫入閃存,而無(wú)需在該評(píng)估板上運(yùn)行任何系統(tǒng)。如果引導(dǎo)加載程序不起作用,它還可以挽救一塊板。

2.5 U-boot 啟動(dòng)提示信息

通過(guò)串行控制臺(tái)將目標(biāo)連接到主機(jī)。接通電路板電源。在串行控制臺(tái)上,您將看到類似以下內(nèi)容:

U-Boot Shell 提供了一組命令。本文將研究最重要的內(nèi)容,請(qǐng)參閱文檔以獲取完整參考或 help 命令。

2.5.1 基本信息命令

2.5.2 重要命令

具體的命令集取決于 U-Boot 配置

help 命令,將列出該配置的所有命令,help command,將列出具體命令的使用幫助

ext2load,將文件從 ext2 文件系統(tǒng)加載到 RAM,還有 ext2ls 列出文件,ext2info 以獲得信息

fatload,將文件從 FAT 文件系統(tǒng)加載到 RAM,還有 fatls 和 fatinfo

tftp,將文件從網(wǎng)絡(luò)加載到 RAM

ping,用于測(cè)試網(wǎng)絡(luò)的物理連通性

boot,運(yùn)行默認(rèn)的啟動(dòng)命令,存儲(chǔ)在 bootcmd 中

bootz 《address》,啟動(dòng)加載到 RAM 中給定地址的內(nèi)核映像

loadb,加載,加載,將文件從串行線加載到 RAM

usb,用于初始化和控制 USB 子系統(tǒng),主要用于 USB 存儲(chǔ) USB 鑰匙等設(shè)備

mmc,用于初始化和控制 MMC 子系統(tǒng),用于 SD 和 microSD 卡

nand,以擦除,讀取和寫入 NAND 閃存中的內(nèi)容

erase, protect, cp,用于擦除,修改保護(hù)以及寫入 NOR 閃存

md,用于顯示內(nèi)存內(nèi)容。對(duì)檢查加載到內(nèi)存中的內(nèi)容或查看硬件寄存器很有用。

mm,用于修改存儲(chǔ)內(nèi)容。出于測(cè)試目的,直接修改硬件寄存器常常在調(diào)試階段很有用。

2.5.3 環(huán)境變量

U-Boot 可以通過(guò)環(huán)境變量進(jìn)行配置

1. 一些特定的環(huán)境變量會(huì)影響不同命令的行為

2. 可以添加自定義環(huán)境變量,并在腳本中使用

在 U-Boot 啟動(dòng)時(shí)將環(huán)境變量從閃存加載到 RAM,可以對(duì)其進(jìn)行修改并保存回閃存以實(shí)現(xiàn)持久性

閃存(或 MMC 存儲(chǔ)器)中有一個(gè)專用位置來(lái)存儲(chǔ) U-Boot 環(huán)境,該位置在電路板配置文件中定義

環(huán)境變量相關(guān)的命令:

printenv 顯示所有變量

printenv 《變量名》 顯示變量的值

setenv 《變量名》 《變量值》 僅在 RAM 中更改變量的值

editenv 《變量名》 僅在 RAM 中編輯變量的值

saveenv 將環(huán)境的當(dāng)前狀態(tài)保存在閃存中

舉例:

重要的 U-Boot 環(huán)境變量:

bootcmd,指定可配置延遲(bootdelay)后如果引導(dǎo)過(guò)程未中斷,U-Boot 將在引導(dǎo)時(shí)自動(dòng)執(zhí)行的命令

bootargs,包含傳遞給 Linux 內(nèi)核的參數(shù),稍后介紹

serverip,U-Boot 將與網(wǎng)絡(luò)相關(guān)命令聯(lián)系的服務(wù)器的 IP 地址

ipaddr,U-Boot 將使用的 IP 地址

netmask,用于與服務(wù)器聯(lián)系的網(wǎng)絡(luò)掩碼

ethaddr 設(shè)置(MAC 地址)通常只能設(shè)置一次

autostart,如果設(shè)置為 yes,則 U-Boot 在將圖像加載到內(nèi)存后自動(dòng)啟動(dòng)圖像(tftp,fatload 等)

filesize,最新復(fù)制到內(nèi)存的大?。▉?lái)自 tftp,fatload,nand 讀取等)

為實(shí)現(xiàn)復(fù)雜的啟動(dòng),環(huán)境變量可以包含小腳本,以執(zhí)行多個(gè)命令并測(cè)試命令結(jié)果。

腳本對(duì)于自動(dòng)啟動(dòng)或升級(jí)過(guò)程很有用

可使用鏈接多個(gè)命令,使用分號(hào)操作符;

條件表達(dá)式:if command ;then 。。。 ; else 。。。 ; fi

使用運(yùn)行《variable-name》執(zhí)行腳本

您可以使用${variable-name}引用其他變量

舉例:

setenv mmc-boot ‘if fatload mmc 0 80000000boot.ini; then source; else

if fatload mmc 0 80000000 zImage; then runmmc-do-boot; fi; fi’

2.5.4 傳送文件到目標(biāo)板

U-Boot 主要用于加載和引導(dǎo)內(nèi)核映像,但是它也允許更改內(nèi)核映像和存儲(chǔ)在閃存中的根文件系統(tǒng)。必須在目標(biāo)和開發(fā)工作站之間交換文件。

可能的方法:

如果目標(biāo)設(shè)備具有以太網(wǎng)連接,并且 U-Boot 包含用于以太網(wǎng)芯片的驅(qū)動(dòng)程序,則通過(guò)網(wǎng)絡(luò)。這是最快,最有效的解決方案。

如果 U-Boot 在使用的平臺(tái)支持 USB 控制器,則可以通過(guò) U 盤

如果 U-Boot 在使用的平臺(tái)支持 MMC 控制器,則可以通過(guò) SD 卡或 microSD 卡

通過(guò)串口,但一般效率較低

通過(guò) TFTP:

將文件通過(guò) TFTP 網(wǎng)絡(luò)從開發(fā)工作站(Host)傳輸?shù)侥繕?biāo)機(jī)(Target)上的 U-Boot。是一種普通文件傳輸協(xié)議,類似于 FTP,但是沒(méi)有身份驗(yàn)證并且采用 UDP 傳輸層協(xié)議

開發(fā)工作站上需要配置 TFTP 服務(wù)器,可參照下列步驟進(jìn)行配置

1.sudo apt install tftpd-hpa

2. 所有位于開發(fā)工作站上 /var/lib/tftpboot 中的文件對(duì)于 TFTP

3.tftp-hpa 軟件包中提供了 TFTP 客戶端,可用于測(cè)試

TFTP 服務(wù)器是否搭建成功 TFTP 客戶端已集成到 U-Boot 中,通過(guò)以下步驟進(jìn)行配置測(cè)試

1. 配置 ipaddr 以及 serverip 環(huán)境變量

2. 使用 tftp 《address》《filename》 加載文件進(jìn)行傳輸。

審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5088

    文章

    19160

    瀏覽量

    306536
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11331

    瀏覽量

    209986
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    新手怎么學(xué)嵌入式?

    嵌入式系統(tǒng)的發(fā)展,嵌入式操作系統(tǒng)也變得越來(lái)越重要。學(xué)習(xí)嵌入式操作系統(tǒng)可以幫助你更好地管理嵌入式
    發(fā)表于 12-12 10:51

    什么是嵌入式操作系統(tǒng)?

    什么是嵌入式操作系統(tǒng)? 想象一下,如果一個(gè)智能設(shè)備,比如你口袋里的智能手機(jī),是一個(gè)有頭腦的機(jī)器人,那么嵌入式操作系統(tǒng)(Embedded Operating System,簡(jiǎn)稱EOS)就
    發(fā)表于 11-08 15:07

    嵌入式 Linux 操作系統(tǒng)配置

    隨著物聯(lián)網(wǎng)(IoT)和智能設(shè)備的快速發(fā)展,嵌入式系統(tǒng)在各個(gè)領(lǐng)域扮演著越來(lái)越重要的角色。Linux因其開源、靈活和穩(wěn)定的特性,成為嵌入式系統(tǒng)的首選操作系統(tǒng)。 1. 硬件選擇 在配置
    的頭像 發(fā)表于 11-06 10:22 ?530次閱讀

    嵌入式學(xué)習(xí)建議

    系統(tǒng)培訓(xùn)班的宣傳所誤導(dǎo),而忽視實(shí)際嵌入式系統(tǒng)軟硬件基礎(chǔ)知識(shí)的學(xué)習(xí)。 ⑤要避免片面地單純“電子”或“計(jì)算機(jī)軟件”角度認(rèn)識(shí)嵌入式系統(tǒng)。前面說(shuō)
    發(fā)表于 10-22 11:41

    【「嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用」閱讀體驗(yàn)】+全文學(xué)習(xí)心得

    在深入研讀《嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用》這部專著后,我對(duì)嵌入式Hypervisor技術(shù)有了全面而深入的理解。基礎(chǔ)的架構(gòu)原理到高級(jí)特性與優(yōu)化策略,再到其在各個(gè)領(lǐng)域中的實(shí)際
    發(fā)表于 10-09 19:11

    嵌入式linux開發(fā)的基本步驟有哪些?

    嵌入式Linux開發(fā)是一個(gè)復(fù)雜的過(guò)程,涉及到硬件選擇、操作系統(tǒng)移植、驅(qū)動(dòng)開發(fā)、應(yīng)用程序開發(fā)等多個(gè)方面。以下是嵌入式Linux開發(fā)的基本步驟,
    的頭像 發(fā)表于 09-02 09:11 ?565次閱讀

    嵌入式linux開發(fā)板怎么操作

    嵌入式Linux開發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式系統(tǒng)開發(fā)平臺(tái)。它通常包括一個(gè)處理器、內(nèi)存、存儲(chǔ)器、輸入/輸出接口等硬件組件,以及一
    的頭像 發(fā)表于 09-02 09:09 ?434次閱讀

    嵌入式linux開發(fā)板芯片的工作原理

    嵌入式Linux開發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式系統(tǒng)開發(fā)平臺(tái),它廣泛應(yīng)用于工業(yè)控制、智能家居、智能交通、醫(yī)療設(shè)備等領(lǐng)域。
    的頭像 發(fā)表于 09-02 09:07 ?427次閱讀

    嵌入式機(jī)電一體化系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》讀后感

    刻的認(rèn)識(shí)。硬件上將外圍器件整合到CPU內(nèi)部,到軟件上在操作系統(tǒng)內(nèi)核中嵌入應(yīng)用程序,再到將軟件內(nèi)核或應(yīng)用文件系統(tǒng)等燒錄到硬件平臺(tái)中,這一系列過(guò)程讓我深刻理解了
    發(fā)表于 08-21 08:45

    菜鳥到大牛!嵌入式完整學(xué)習(xí)路線:STM32單片機(jī)-RTOS-Linux

    ?嵌入式linux”的順序幫助您入門到進(jìn)階,掌握嵌入式開發(fā)的精髓。第一階段單片機(jī)單片機(jī)是嵌入式學(xué)習(xí)的基石,因?yàn)樗闪颂幚砥?、存?chǔ)器和輸入
    的頭像 發(fā)表于 07-23 16:11 ?4413次閱讀
    <b class='flag-5'>從</b>菜鳥到大牛!<b class='flag-5'>嵌入式</b>完整學(xué)習(xí)路線:STM32單片機(jī)-RTOS-<b class='flag-5'>Linux</b>

    再談嵌入式實(shí)時(shí)操作系統(tǒng)

    由于嵌入式處理器早期功能單一且運(yùn)算能力不高,嵌入式應(yīng)用已不能滿足各個(gè)領(lǐng)域不斷增長(zhǎng)的需求。嵌入式操作系統(tǒng)應(yīng)運(yùn)而生,嵌入式
    的頭像 發(fā)表于 04-09 17:27 ?827次閱讀
    再談<b class='flag-5'>嵌入式</b>實(shí)時(shí)<b class='flag-5'>操作</b>系統(tǒng)

    EMC技術(shù):基礎(chǔ)概念到應(yīng)用的解讀?

    EMC技術(shù):基礎(chǔ)概念到應(yīng)用的解讀?|深圳比創(chuàng)達(dá)電子
    的頭像 發(fā)表于 03-11 11:55 ?627次閱讀
    EMC技術(shù):基礎(chǔ)<b class='flag-5'>概念到</b>應(yīng)用的解讀?

    ARM嵌入式Linux 系統(tǒng)開發(fā)入門到精通

    ARM嵌入式Linux 系統(tǒng)開發(fā)入門到精通
    發(fā)表于 03-10 18:44

    嵌入式軟件開發(fā)應(yīng)該掌握哪些知識(shí)?

    和目錄操作,以及如何在嵌入式系統(tǒng)中管理文件系統(tǒng)。 2.2線程和進(jìn)程 進(jìn)程和線程的概念:了解進(jìn)程和線程的基本概念,以及它們之間的區(qū)別和聯(lián)系。 線程同步和互斥:學(xué)習(xí)如何使用線程同步機(jī)制(如
    發(fā)表于 02-19 11:23

    嵌入式Linux開發(fā)的三種方式

    嵌入式Linux開發(fā)主要有三種方式:裸機(jī)開發(fā)、SDK開發(fā)和驅(qū)動(dòng)開發(fā)。
    的頭像 發(fā)表于 01-22 14:22 ?1017次閱讀