嵌入式linux基礎知識集錦

2021-10-20 18:05:31 字數 1815 閱讀 2030

@linux# 嵌入式

總結談及到嵌入式linux,就不得不了解交叉編譯的相關問題。本文章中記錄了一下嵌入式linux所使用的交叉編譯工具鏈的相關基礎說明,幫助回顧一些基礎知識。

交叉編譯:是a機器上編譯生成,執行在b機器上。兩個機子有不同的機器指令。

工具鏈:一般由編譯器、聯結器、直譯器和偵錯程式組成。比如arm、mips、risc-v等等指令集的工具鏈。

本文主要介紹一下arm的交叉編譯工具鏈。

工具鏈由很多程式組成,大致有:

gcc、addr2line、objcopy、readelf、ar、ld、objdump、size、nm、strip、cc、gprof、c++filt、as、cpp、gccbug、ldd、populate、strings、c++、g++、gcov、ranlib

arm的交叉編譯工具鏈有:

arm-linux-gcc

arm-linux-addr2line

arm-linux-objcopy

arm-linux-readelf

arm-linux-ar

arm-linux-ld

arm-linux-objdump

arm-linux-size

arm-linux-nm

arm-linux-strip

arm-linux-cc

arm-linux-gprof

arm-linux-c++filt

arm-linux-as

arm-linux-cpp

arm-linux-gccbug

arm-linux-ldd

arm-linux-populate

arm-linux-strings

arm-linux-c++

arm-linux-g++

arm-linux-gcov

arm-linux-ranlib 例項

1、arm-none-eabi-gcc

2、arm-none-linux-gnueabi-gcc

(arm architecture, no vendor, creates binaries that run on the linux operating system, and uses the gnu eabi)

主要用於基於arm架構的linux系統,可用於編譯 arm 架構的 u-boot、linux核心、linux應用等。arm-none-linux-gnueabi基於gcc,使用glibc庫,經過 codesourcery 公司優化過推出的編譯器。arm-none-linux-gnueabi-*** 交叉編譯工具的浮點運算非常優秀。一般arm9、arm11、cortex-a 核心,帶有 linux 作業系統的會用到。

3、arm-eabi-gcc

android arm 編譯器。

4、armcc

arm 公司推出的編譯工具,功能和 arm-none-eabi 類似,可以編譯裸機程式(u-boot、kernel),但是不能編譯 linux 應用程式。armcc一般和arm開發工具一起,keil mdk、ads、rvds和ds-5中的編譯器都是armcc,所以 armcc 編譯器都是收費的(愛國版除外,呵呵~~)。

5、arm-none-uclinuxeabi-gcc 和 arm-none-symbianelf-gcc

arm-none-uclinuxeabi 用於uclinux,使用glibc。

arm-none-symbianelf 用於symbian,沒用過,不知道c庫是什麼 。

兩者主要區別是,abi是計算機上的,eabi是嵌入式平台上(如arm,mips等)

本文參考如下:

[1]:

[2]:

嵌入式基礎知識

嵌入式處理器的分類包括三種,分別是 嵌入式微控制器 嵌入式微處理器 數字訊號處理器 安裝linux系統對硬碟分割槽時,必須有兩種分割槽型別 檔案系統分割槽 和交換分割槽 在vivi狀態下,顯示系統的分割槽命令是 part show。鏈結分為 符號鏈結 和硬鏈結 當gcc僅對原始檔進行編譯而不鏈結生成...

20180615 嵌入式linux基礎知識

嵌入式計算機是整個嵌入式系統的核心,主要包括應用軟體層 系統軟體層 硬體抽象層 硬體層。執行部件是控制物件,接受來自嵌入式計算機系統發出的指令,執行相應的操作。figure1 嵌入式系統組成 硬體抽象層 主要包括對底層硬體進行初始化與對硬體裝置進行配置等 硬體裝置的驅動實現 硬體層 微控制器,裝置輸...

嵌入式Linux系統 基礎知識

1 計算機系統 運算器 控制器 儲存器 輸入裝置 輸出裝置 cpu 處理器 運算器 控制器 暫存器 內部匯流排 mpu 微處理器 cpu mcu 微控制器 cpu 儲存器 外圍電路 mpu 通常代表乙個 cpu 處理器 而 mcu 則強調把 處理器 儲存器和外圍電路整合在乙個晶元中。早期,微控制器被...