????:操作系統(tǒng):(非虛擬機(jī))zws@z-pc:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.
操作系統(tǒng):(非虛擬機(jī))
zws@z-pc:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.5 LTS Release: 14.04 Codename: trusty
內(nèi)核版本:
zws@z-pc:~$ uname -a Linux z-pc 4.4.0-38-generic #57~14.04.1-Ubuntu SMP Tue Sep 6 17:20:43 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
編譯器版本:
gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) //gcc
gcc version 4.5.1 (ctng-1.8.1-FA) //arm-linux-gcc
開發(fā)板:TINY4412/Super4412SDK 1506
核心板:TINY4412 1306 (SOC:Exynos 4412 Cortex-A9 四核 1.5Ghz )
LCD屏:S702 5V/1A
一、 嵌入式系統(tǒng)硬件架構(gòu):
微處理器:
按位數(shù):4位、8位、16位、32位和64位。
按用途:嵌入式DSP和通用的嵌入式微處理器。
嵌入式DSP專用于數(shù)字信號(hào)處理,采用哈佛結(jié)構(gòu),程序和說一句分開存儲(chǔ),采用一系列措施保證數(shù)字信號(hào)的處理速度。
通用嵌入式處理器一般集成了通用微處理器的核、總線、外圍借口和設(shè)備的SOC芯片,有些還會(huì)將SDP作為協(xié)處理器。
一般的嵌入式處理器包括:
1. 片內(nèi)存儲(chǔ)器。
2. 外部存儲(chǔ)器的控制器、外設(shè)接口。
3. LCD控制器。
4. 中斷控制器。
5. 定時(shí)器、A/D、D/A轉(zhuǎn)換器。
6. 多媒體加速器。
7.總線。
8. 其他標(biāo)準(zhǔn)接口或外設(shè)。
常用的嵌入式微處理器按照體系結(jié)構(gòu)不同,可以分為以下幾個(gè)系列:
1. ARM系列:過去稱為高級(jí)精簡指令集機(jī)器,是一個(gè)32位精簡指令集RISC處理器架構(gòu)。
2.MIPS系列:是一種采取精簡指令集RISC的處理器架構(gòu)。
3. PowerPC:是一種精簡指令集RISC架構(gòu)的中央處理器(CPU)。
總線:
總線是CPU與存儲(chǔ)器和設(shè)備通信的機(jī)制,是計(jì)算機(jī)各部件之間傳遞數(shù)據(jù)、地址和控制信息的公共通道。
有3個(gè)重要的參數(shù):
1. 總線寬度: 又稱為總線位寬,指的是總線能同時(shí)傳送數(shù)據(jù)的位數(shù)。
2. 總線頻率: 工作速度的一個(gè)重要參數(shù),頻率越高速度越快。
3. 總線帶寬: 又稱總線傳輸速率,指在一定時(shí)間內(nèi)總線上可傳送的數(shù)據(jù)總量,用每秒最大傳輸數(shù)據(jù)量來衡量。
例如:總線寬度為32位,總線頻率為66MHz,則總線帶寬等于(32/8)x66=264MB/s。
對于ARM系列的處理器而言會(huì)按照AMBA規(guī)范來設(shè)計(jì)總線。
1. AHB(Advanced High-performance Bus):用于高性能、高時(shí)鐘頻率的系統(tǒng)模塊連接。
2. ASB(Advance System Bus): 用于并不要求AHB高性能特征的地方。
3. APB(Advance Peripheral Bus):用于較低性能外設(shè)的簡單連接。一般是接在AHB或ASB總線上的二級(jí)總線。
還有其他流行的片外總線:I2C總線.SPI總線、UART總線、USB總線等等。
存儲(chǔ)器:
典型的嵌入式系統(tǒng)的存儲(chǔ)器包括芯片內(nèi)部的緩存(Cache)、隨機(jī)存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、芯片外部的主存(如Nor Flash、SRAM、DRAM等)和外存(如Nand Flash、SD卡等)。
高速緩存(Cache)存放的是當(dāng)前使用得最多的程序代碼和數(shù)據(jù),即主存中部分內(nèi)容的副本。在嵌入式系統(tǒng)中,Cache全部集成在嵌入式微處理器內(nèi),可分為數(shù)據(jù)Cache、指令Cache或混合Cache。一般在中高端的嵌入式微處理器中才會(huì)有。
主存是處理器能直接訪問的存儲(chǔ)器,即內(nèi)存。
外村就是Nand Flas、 SD卡等。
二、 嵌入式系統(tǒng)的軟件架構(gòu):
嵌入式系統(tǒng)包含一系列抽象層次,這里是正對Linux系統(tǒng)進(jìn)行討論的。
最底層是硬件層,即在嵌入式系統(tǒng)的硬件架構(gòu)中提到的內(nèi)容。
Linux內(nèi)核建立在硬件層之上,是操作系統(tǒng)的核心組件。其目的是為上層應(yīng)用程序提供訪問底層硬件的抽象接口,以適合上層軟件開發(fā)。
在整個(gè)Linux內(nèi)核中,存在著高層抽象和底層抽象。高層抽象主要是為應(yīng)用程序提供接口,而底層抽象主要是負(fù)責(zé)外設(shè)的驅(qū)動(dòng)。處于高層抽象和底層抽象之間的是文件系統(tǒng)和網(wǎng)絡(luò)協(xié)議。由于大量的文件系統(tǒng)和網(wǎng)絡(luò)協(xié)議的存在,Linux內(nèi)核必須處理不同格式的文件系統(tǒng),而且并不會(huì)因?yàn)槲募到y(tǒng)的不同而影響高層抽象為應(yīng)用程序提供的接口。這點(diǎn)兒對于網(wǎng)絡(luò)協(xié)議同樣適用。