摘要: 在介紹基于ARM 體系的嵌入式系統(tǒng) 啟動流程的基礎(chǔ)上,結(jié)合編程 實例,詳細、系統(tǒng)地敘述了BSP(板級支持包)程序的各個組成部分及其具體設(shè)計方案,并就實際程序設(shè)計中的幾個難點問題做了說明。
ARM公司 在32位RISC 的CPU 開發(fā)領(lǐng)域不斷取得突破,其結(jié)構(gòu)已經(jīng)從V3發(fā)展到V6。
BSP(Board Support Package)板級支持包介于主板硬件 和操作系統(tǒng) 之間,其功能與PC機上的BIOS 相類似,主要完成硬件初始化并切換到相應(yīng)的操作系統(tǒng)。BSP是相對于操作系統(tǒng)而言的,不同的操作系統(tǒng)對應(yīng)于不同定義形式的BSP,例如VxWorks 的BSP和Linux 的BSP相對于某一CPU來說,盡管實現(xiàn)的功能一樣,可是寫法和接口 定義是完全不同的。另外,仔細研究所用的芯片資料 也十分重要,例如盡管ARM在內(nèi)核上兼容,但每家芯片 都有自己的特色。所以這就要求BSP程序員 對硬件、軟件和操作系統(tǒng)都要有一定的了解。
本文介紹基于ARM體系的嵌入式 應(yīng)用系統(tǒng)初始化部分BSP的程序設(shè)計。本文引用的源碼全部是基于HMS320C7202芯片設(shè)計,并已成功運行。
1 初始化過程
盡管各種嵌入式應(yīng)用系統(tǒng)的結(jié)構(gòu)及功能差別很大,但其系統(tǒng)初始化部分完成的操作有很大一部分是相似的。嵌入式系統(tǒng)的啟動流程如圖1所示。
1.1 設(shè)置入口指針
啟動程序首先必須定義指針,而且整個應(yīng)用程序只有一個入口指針。一般地,程序在編譯鏈接時將異常中斷向量表鏈接在0地址處,并且作為整個程序入口點。入口點代碼如下:
ENTRY(_start) ;開始
1.2 設(shè)置異常中斷向量表
ARM要求中斷向量表必須放置在從0開始、連續(xù)8×4字節(jié)的空間內(nèi)。各異常中斷向量地址以及中斷的算是優(yōu)先級如表1:表1 各異常中斷的中斷向量地址以及中斷的處理優(yōu)先級
中斷向量地址 異常中斷類型 異常中斷模式 優(yōu)先級(6最低) 0x0 復(fù)位 特權(quán)模式(SVC) 1 0x4 未定義中斷 未定義指令中止模式(Undef) 6 0x8 軟件中斷(SWI) 特權(quán)模式(SVC) 6 0x0c 指令預(yù)取中止 中止模式 5 0x10 數(shù)據(jù)訪問中止 中止模式 2 0x14 保留 未使用 未使用 0x18 外部中斷請求(IRQ) 外部中斷(IRQ)模式 4 0x1c 快速中斷請求(FIQ) 快速中斷(FIQ)模式 3
每當一個中斷發(fā)生后,ARM處理器 便強制把程序計數(shù)器(PC)指針置為向量表中對應(yīng)中斷類型的地址值。因為每個中斷向量僅占據(jù)放置1條ARM指令的空間,所以通常放置1條跳轉(zhuǎn)指令或向程序計數(shù)器(PC)寄存器 賦值的數(shù)據(jù)訪問指令,使程序跳轉(zhuǎn)到相應(yīng)的異常中斷處理程序執(zhí)行。如果異常中斷處理程序起始地址小于32MB,使用B跳轉(zhuǎn)指令;如果跳轉(zhuǎn)范圍大于32MB,使用LDR指令。
另外,對于各未用中斷,可使其指向一個只含返回指令的啞函數(shù),以防止錯誤中斷引起系統(tǒng)的混亂。
1.3 初始化存儲系統(tǒng)
初始化存儲系統(tǒng)的編程對象是系統(tǒng)的存儲器控制器 ,一個系統(tǒng)可能存在多種存儲器類型的接口,不同的存儲系統(tǒng)的設(shè)計不盡相同。Flash和SRAM 同屬于靜態(tài)存儲器類型,可以合用一個存儲器端口 ;而DRAM 因為有動態(tài)刷新和地址線復(fù)用等特性,通常配有專用的存儲器端口。其中,SD RAM必須在初始化階段進行設(shè)置,因為大部分的程序代碼 和數(shù)據(jù)都要在SDRAM中運行。
在HMS30C7202中,與SDRAM配置有關(guān)的寄存器有4個:配置寄存器、刷新定時寄存器、寫緩沖寫回寄存器和等待驅(qū)動寄存器,需要根據(jù)實際的系統(tǒng)設(shè)計對此分別加以正確配置。
SDRAM的初始化過程如下:加電→延遲10ms(各具體SDRAM器件延時時間可能不同)→設(shè)置配置寄存器參數(shù) →延時→寫刷新定時寄存器,設(shè)置刷新周期→延時→使能自動刷新→延時→設(shè)置模式寄存器(位于SDRAM內(nèi)部)。
1.4 存儲器地址分布重映射(remap)和MMU
系統(tǒng)一上電,程序?qū)⒆詣訌?地址處開始執(zhí)行。因此,必須保證在0地址處存在正確的代碼,即要求0地址開始入是非易失性的ROM 或Flash等。但是因為ROM或Flash的訪問速度相對較慢,每次中斷響應(yīng)發(fā)生后,都要從讀取ROM或Flash上面的向量表開始,影響了中斷響應(yīng)速度。一般程序執(zhí)行后將SDRAM映射為地址0,并把系統(tǒng)程序加載到SDRAM中運行,其具體步驟可以采用以下的方案:
(1)上電后,從0地址的ROM開始往下執(zhí)行;
(2)根據(jù)映射前的地址,對SDRAM進行必要的代碼和數(shù)據(jù)拷貝;
(3)拷貝完成后,進行重映射操作;
(4)因為RAM在重映射前準備好了內(nèi)容,使得PC指針能繼續(xù)在RAM里取得正確的指令。
在這種地址映射的變化過程中,程序員需要仔細考慮的是:程序的執(zhí)行流程不能被這種變化所打斷,注意保證程序流程在重映射前后的承接關(guān)系。
存儲器的地址分配是很靈活的,可以將I/O操作映射成內(nèi)存操作,也可以通過映射對某些不可訪問的地址空間進行保護等。進行存儲器初始化設(shè)計時,一定要根據(jù)應(yīng)用程序的具體要求來完成地址分配。對地址管理通過MMU即存儲器管理單元實現(xiàn)。
在ARM系統(tǒng)中,MMU通過頁式虛擬存儲管理,將虛擬空間和物理空間分別分成一個個固定大小的頁,并建立兩者之間的映射關(guān)系,從而實現(xiàn)虛擬地址到物理地址的轉(zhuǎn)換。MMU還可完成存儲器訪問權(quán)限的控制和虛擬存儲器空間緩沖特性的設(shè)置。
以下是實現(xiàn)MMU的部分代碼:
for =(i=1;i<0x1000;i++){
pagetable[i]=(i<<20)|MMU_SECDESC;
} //建立頁表,每頁大小為1MB,頁表偏移序號是物理地址的高12位;
for(ad dr=SDRAM_BASE;addr<(SDRAM_BASE+SDRAM_SIZE/2);addr+=SIZE_1M)
pagetable[addr>>20]=addr|MMU_SECDESE|
MMU_CACHEABLE|MMU_BUFFERABLE;
//將SDRAM_BASE至(SDRAM_BASE+SDRAM_SIZE/2)空間的設(shè)置為不可CACHE和不可BUFFER的
for(addr=SDRAM_BASE+SDRAM_SIZE/2;addr<(SDRAM_BASE+SDRAM_SIZE);addr+=SIZE_1M)
pagetable[addr>>20]=(addr+0x1000000)|
MMU_SECDESC|MMU_CACHEABLE|MMU_BUFFERABLE;
//將這段空間的地址映射關(guān)系設(shè)置為VA(虛擬地址)=PA(物理地址)+0x1000000
pagetable[0]=(0x42f00000)|MMU_SECDESC|MMU_CACHEABLE|MMU_BUFFERABLE;
//將SDRAM的虛擬地址0x42f00000映射到0處
1.5 初始化各模式下的堆棧指針
因為ARM處理器有7種執(zhí)行狀態(tài),每一種狀態(tài)的堆棧指針寄存器(SP)都是獨立的(System和User三項式使用相同SP寄存器)。因此,對程序中需要用到的每一種模式都要給SP寄存器定義一個堆棧地址。方法是改變狀態(tài)寄存器(CPSR)內(nèi)的狀態(tài)位,使處理器切換到不同的狀態(tài),然后給SP賦值。這里列出的代碼定義了三種模式的SP指針,其中,I_Bit表示IRQ的中斷禁止位;F_Bit表示FIQ的中斷禁止位:
@;Set up SVC stac k to be 4K on top of zero-init data
LDR r1,=installStack
ADDsp ,r1,#2048
@;Set up IRQ and FIQ stacks
MOV r0,#(Mode_IRQ32|I_Bit)
MSRcpsr,r0
MOV r0,r0
ADDsp,r1,#2048*2
MOV r0,#(Mode_FIQ32|I_Bit |F_Bit)
MSR cpsr,r0
MOV r0,r0
ADDsp,r1,#2048*3
一般堆棧的大小要根據(jù)需要而定,但是要盡可能給堆棧分配快速和高帶寬的存儲器。堆棧性能的提高對系統(tǒng)性能的影響是非常明顯的。
1.6 初始化有特殊要求的端口、設(shè)備
有些關(guān)鍵的I/O部件必須在使能IRQ和FIQ之前進行初始化。因為如果在使能IRQ和FIQ之前沒有進行初始化,可以產(chǎn)生假的異常中斷信號 。程序中初始化了HMS30C7202的串口1用來調(diào)試程序與其它設(shè)備通信 。串口1是一個通用全雙工異步接收/發(fā)送器(UART ),它支持16C550的大部分功能。UART有接收緩沖/發(fā)送保持寄存器、波特率除數(shù)鎖存器、中斷允許寄存器等9個寄存器。對串口1的初始化主要是對各寄存器的設(shè)置,其實現(xiàn)代碼如下所示:
_outb(ser_base+0x30,1);
_outw(0x8002301c,0xffff9f9f) ;GPIO PORT A Enable
Register
_outw(0x800230A4,0x6060) ;GPIO PORT A Multi Function elect-Register
serial_outb(SERIAL_LCR,0x80);
serial_outb(SERIAL_LCR,0x80);
serial_outb(SERIAL_DLL,baud_data[cur_baud]);
serial_outb(SERIAL_DLM,0x0);
serial_outb(SERIAL_LCR,0x03);
seial_outb(SERIAL_FCR,0x01);
serial_outb(SERIAL_IER,0x00);
serial_outb(SERIAL_MCR,0x03);
1.7 切換處理器模式,開中斷
最后轉(zhuǎn)換到應(yīng)用程序運行所需的最終模式,一般是User模式。不要過早切換到User模式進行User模式的堆棧設(shè)備。因為進入User模式后就不能再操作CPRS 回到別的模式了,可能會對接下去的程序執(zhí)行造成影響。
這時才使能異常中斷,通過清除CPRS寄存器中的中斷禁止位實現(xiàn)。如果過早地開中斷,在系統(tǒng)初始化之前就觸發(fā)了有效中斷,會導(dǎo)致系統(tǒng)的死機。
1.8 呼叫主應(yīng)用程序
當所有的系統(tǒng)初始化工作完成后,就需要把程序流程轉(zhuǎn)入主應(yīng)用程序。圖2 2 技術(shù)難點分析
2.1 多種語言的混合編程
ARM有兩種匯編 指令集:16位THUMB指令集和32位ARM指令集。使用16位的寄存器可以降低成本,而且16位THUMB指令集整體執(zhí)行速度比ARM 32位指令集快,提高了代碼密度。為了滿足ARM子程序和Thumb子程序互相調(diào)用,必須保證編寫的代碼遵循ATPCS。ATPCS規(guī)定了子程序調(diào)用的基本規(guī)則。
ARM系統(tǒng)結(jié)構(gòu)也支持C、C++ 以及匯編語言的混合編程。匯編語言和C/C++語言的混合編程,在一個追求效率的程序中比較常見。許多人認為像BSP這樣底層的程序應(yīng)該用純匯編語言編寫,其實不然。用匯編語言編寫的程序可讀性不高,而且不宜維護,不便于向其它類型的CPU移植,而這些方面卻是C語言 程序的優(yōu)勢。BSP能否用純C語言去寫呢?也不行。因為某些操作是用C實現(xiàn)不了的。例如操作特殊寄存器的指令、CP15寄存器的指令、中斷使能及堆棧地址的設(shè)定等。在匯編和C/C++之間的函數(shù)調(diào)用時,也要遵循ATPCS的定義,還要注意的是用C語言編寫嵌入式程序時,要避免使用不能被固化到ROM中的庫函數(shù)。
混合編程情況下的程序編譯及鏈接后的輸出代碼與沒有混合編程時是不同的。所以當多個源文件如果使用了不同的設(shè)置進行編譯,相互之間的調(diào)用可能產(chǎn)生兼容性問題,對此一定要加以仔細考慮。編譯時,要告訴編譯器和鏈接器足夠的信息 ,一方面,讓編譯器能夠使用正確的指令碼進行編譯;另一方面,在不同的狀態(tài)之間發(fā)生函數(shù)調(diào)用時,鏈接器將插入一段鏈接代碼(veneers)來實現(xiàn)狀態(tài)轉(zhuǎn)換。
2.2 MMU的實現(xiàn)過程
頁表是實現(xiàn)MMU的重要手段。頁表存放在內(nèi)存中,從虛擬地址到物理地址的變換過程其實就是查詢頁表的過程。大小為1MB的存儲塊通常被稱為段,圖2說明了如何查表進行段式尋址的全過程:32位的虛擬地址可分為12位的一級頁表序號和20位的段內(nèi)地址偏移。12位的一級頁表序號和CP15寄存器的C2中的18位變換表基址合并成一級描述符地址查表找出相應(yīng)的一級描述符;然后,段對應(yīng)的物理基地址與段內(nèi)地址偏移量合并成為真正的存儲器存取地址即物理地址,讀出相應(yīng)數(shù)據(jù)。
本文介紹的BSP程序已經(jīng)在以HMS30C7202為主芯片的開發(fā)系統(tǒng)上運行并測試通過,并且成功地引導(dǎo)了Linux內(nèi)核,文中引用代碼可以直接使用。今后可以在此基礎(chǔ)上添加命令行解釋程序,在引導(dǎo)操作系統(tǒng)前進行存存儲器的讀寫等,擴展開發(fā)系統(tǒng)的功能。
程序設(shè)計 (30181)
程序設(shè)計 (30181)
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
相關(guān)推薦
嵌入式 處理器1.2.1 嵌入式 處理器的分類1.2.2 ARM 微處理器1.2.3 Nios微處理器1.2.4 DSP1.2.5 嵌入式 微處理器的選型原則1 3 嵌入式 操作系統(tǒng) 1.3.1 操作系統(tǒng) 的概念
2013-01-05 15:01:02
高中端市場的趨勢。本書以ARM 9處理器和Linux操作系統(tǒng) 為主線,全面介紹了嵌入式 系統(tǒng) 的開發(fā)過程,詳細講解了系統(tǒng) 的軟硬件設(shè)計、調(diào)試,以及嵌入式 操作系統(tǒng) 移植和嵌入式 驅(qū)動程序 開發(fā),從部件編程到嵌入式
2016-07-11 18:01:38
ARM 嵌入式 體系 結(jié)構(gòu)與接口技術(shù).pdf{:1:}{:1:}{:1:}ARM SoC體系 結(jié)構(gòu)(中文版).pd
2013-03-23 16:04:52
大大提升了。本文旨在通過討論系統(tǒng) 程序設(shè)計 中的幾個基本方面,來說明基于ARM 的嵌入式 系統(tǒng) 程序 開發(fā)的一些特點,并提出和解決了一些常見的問題。文章分成幾個相對獨立的章節(jié)刊載。第一部分討論基于ARM 的嵌入式 程序 開發(fā)和移植過程中的一些基本概念。 [hide][/hide]
2009-11-13 11:53:54
ARM 嵌入式 系統(tǒng) 中的體系 結(jié)構(gòu)
2021-12-14 08:58:48
ARM 嵌入式 系統(tǒng) 的基本結(jié)構(gòu)和常見的ARM 微處理器ARM 被稱為嵌入式 微處理器核。ARM 嵌入式 系統(tǒng) 由3部分組成,即嵌入式 系統(tǒng) 硬件平臺,嵌入式 操作系統(tǒng) (代碼)和嵌入式 系統(tǒng) 應(yīng)用。1、嵌入式 系統(tǒng) 硬件平臺主要
2021-10-28 09:27:12
GUI程序 開發(fā)第12章軟件項目管理第3篇Linux系統(tǒng) 篇第13章ARM 體系 結(jié)構(gòu)及開發(fā)實例第14章深入Bootloader第15章解析Linux內(nèi)核第16章嵌入式 Linux啟動流程第17章Linux文件系統(tǒng) 第18章建立交叉編譯工具鏈第19章強大的命令系統(tǒng) BusyBox第20章Linux內(nèi)核移植
2018-09-14 08:57:17
。嵌入式 LINUXWinCEAndroidTinyOS嵌入式 實時操作系統(tǒng) (RTOS)FreeRTOS μTenuxVxWorksμClinuxeCos μC/OS-IIo ARM 嵌入式 操作系統(tǒng) 導(dǎo)讀
2014-03-25 14:15:11
某個新型號的開發(fā)版上;二是能寫Linux驅(qū)動程序 的人;三是熟悉Linux內(nèi)核裁減和優(yōu)化的人。我院在該嵌入式 Linux方面的課程系列是:本科生操作系統(tǒng) 必修課,然后是Linux程序設(shè)計 選修課,最后是嵌入式
2018-07-05 08:04:27
ARM 處理器內(nèi)核的體系 結(jié)構(gòu)典型ARM 處理器內(nèi)核(ARM 9.Cotex- A.Cotex- M . Cortex- R等的技術(shù)特點與應(yīng)用領(lǐng)域)ARM 處理器指令系統(tǒng) 及匯編語言程序設(shè)計 ...
2021-12-22 06:29:30
嵌入式 系統(tǒng) .第五章.ARM 匯編程序設(shè)計 .ARM 匯編程序設(shè)計 20 目錄5 ARM 匯編程序設(shè)計 5.2 ARM 匯編程序設(shè)計 25.2.1課堂重點5.2.2測試與作業(yè)6 下一章0 目錄5 ARM 匯編程序設(shè)計 5.2 ARM 匯編程序設(shè)計 25.2.1課堂重點5.2.2測試與作業(yè)6 下一章博客地址: ...
2021-12-14 07:03:54
慕課電子科技大學(xué).嵌入式 系統(tǒng) .第五章.ARM 匯編程序設(shè)計 .ARM 匯編程序 格式0 目錄5 ARM 匯編程序設(shè)計 5.1 ARM 匯編程序 格式5.1.1課堂重點5.1.2測試與作業(yè)6 下一章0 目錄5 ARM 匯編程序設(shè)計 5.1 ARM 匯編程序 格式5.1.1課堂重點5.1.2測試與作業(yè)6 下一章博客地...
2021-12-20 06:31:40
過渡,向網(wǎng)絡(luò)化功能發(fā)展,ARM 等齊頭并進,嵌入式 操作系統(tǒng) 呈多元化趨勢,所有的嵌入式 處理器都是基于一定的架構(gòu)的,即IP核(Intellectual Property,知識產(chǎn)權(quán))。談及體系 我們都會想到ARM
2020-05-18 14:36:57
文章目錄嵌入式 系統(tǒng) 概述基本概念嵌入式 系統(tǒng) 的發(fā)展發(fā)展歷史發(fā)展趨勢組成結(jié)構(gòu)設(shè)備驅(qū)動層硬件抽象層HAL板級支持包BSP 設(shè)備驅(qū)動程序 實時操作系統(tǒng) RTOSOS的應(yīng)用程序 接口API應(yīng)用程序 APP嵌入式 處理器
2021-07-16 08:15:30
Linux應(yīng)用程序 5、嵌入式 系統(tǒng) 移植 Linux內(nèi)核代碼 平臺相關(guān)代碼分析 ARM 平臺介紹 平臺移植的關(guān)鍵技術(shù) 移植Linux內(nèi)核到 ARM 平臺 了解移植的概念 能夠移植Linux內(nèi)核移植Linux2.6
2012-10-21 10:55:24
U-boot 編譯并下載Linux內(nèi)核 編譯并下載Linux應(yīng)用程序 4、嵌入式 系統(tǒng) 移植Linux內(nèi)核代碼 平臺相關(guān)代碼分析 ARM 平臺介紹 平臺移植的關(guān)鍵技術(shù) 移植Linux內(nèi)核到 ARM 平臺 了解
2012-11-07 09:38:58
《嵌入式 系統(tǒng) 》 |(一)嵌入式 系統(tǒng) 概述 知識梳理《嵌入式 系統(tǒng) 》 |(二)ARM Cortex M3 體系 結(jié)構(gòu) 知識梳理嵌入式 系統(tǒng) 》 |(三) STM32最小系統(tǒng) 知識梳理《嵌入式 系統(tǒng) 》 |(四) STM32軟件架構(gòu) 知識梳理《嵌入式 系統(tǒng) 》 |(五) 通用輸入輸出-GPIO 知識梳理...
2021-12-22 06:53:19
當今嵌入式 處理器的生產(chǎn)已遠遠超過了為桌面系統(tǒng) 所設(shè)計的處理器。本書通過介紹8位微控制器(MCU)的開發(fā)原理和C語言的相關(guān)知識,向讀者展示了如何用C語言編寫8位嵌入式 MCU程序 ,內(nèi)容涉及數(shù)據(jù)類型和變量
2017-02-24 21:59:45
目錄1.1概述1.1.1 嵌入式 系統(tǒng) 的定義1.1.2嵌入式 系統(tǒng) 的發(fā)展歷史1.1.3嵌入式 系統(tǒng) 的發(fā)展的新變化1.2嵌入式 系統(tǒng) 的組成1.3ARM 處理器1.3.1ARM 處理器介紹1.3.2ARM 體系
2021-12-22 06:39:45
第二節(jié) 嵌入式 系統(tǒng) 的定義與體系 結(jié)構(gòu)- 三種定義IEEE定義:用于控制、監(jiān)視或者輔助操作機器和設(shè)備的裝置一般定義:以應(yīng)用為中心、以計算機技術(shù)為基礎(chǔ)、軟件硬件可裁剪、功能、可靠性、成本、體積、功耗
2021-12-22 06:42:48
什么是嵌入式 系統(tǒng) 的微模塊化程序設(shè)計 ?嵌入式 系統(tǒng) 的微模塊化程序設(shè)計 有何作用?
2021-12-24 06:35:06
嵌入式 系統(tǒng) 的知識體系 嵌入式 系統(tǒng) 的學(xué)習(xí)誤區(qū)嵌入式 系統(tǒng) 基礎(chǔ)階段的學(xué)習(xí)建議
2021-02-19 07:06:43
,不需要做任何改動,建立獨立的應(yīng)用程序 包。如果BSP 中的應(yīng)用程序 不斷升級,將對系統(tǒng) 穩(wěn)定性造成影響。??圖 4 表征了嵌入式 系統(tǒng) 三個軟件環(huán)節(jié)的結(jié)構(gòu)變化,Bootloader、BSP 、接口驅(qū)動程序 以及部分
2021-07-27 07:00:00
一、引言我覺得,嵌入式 系統(tǒng) 設(shè)計主要包含系統(tǒng) 設(shè)計、硬件設(shè)計和軟件設(shè)計。其中大部分工作是嵌入式 軟件方面,包括操作系統(tǒng) 的移植、系統(tǒng) 體系 架構(gòu)設(shè)計、設(shè)備驅(qū)動程序 編寫、用戶應(yīng)用程序設(shè)計 等等。所以在嵌入式 系統(tǒng)
2021-12-22 06:05:04
學(xué)習(xí)嵌入式 的基礎(chǔ)語言是C語言,因此先掌握C語言對于后續(xù)嵌入式 的學(xué)習(xí)有著非常大的意義。下面講解下嵌入式 C語言程序設(shè)計 基礎(chǔ),尤其是C語言的一些語言特點?! 語言是一種結(jié)構(gòu)化的程序設(shè)計 語言,它的優(yōu)點
2021-11-09 07:13:02
介紹了嵌入式 Linux系統(tǒng) 體系 架構(gòu),以及每一層開發(fā)人員的開發(fā)流程。
2021-11-05 06:22:46
嵌入式 Linux操作體系 學(xué)習(xí)規(guī)劃ARM +LINUX道路,主攻嵌入式 Linux操作體系 及其上運用軟件開發(fā)方針:(1) 把握干流嵌入式 微處置器的構(gòu)造與原理(開始定為arm 9)(2) 有必要把握一個嵌入式
2021-12-17 08:24:33
嵌入式 Linux網(wǎng)絡(luò)驅(qū)動程序 是什么嵌入式 Linux網(wǎng)絡(luò)驅(qū)動程序 的體系 結(jié)構(gòu)和實現(xiàn)原理如何將設(shè)備驅(qū)動模塊編譯進內(nèi)核
2021-04-26 06:03:26
客戶提供了最優(yōu)解決方案。對系統(tǒng) 移植有很強的經(jīng)驗,在X86/ARM /XSCALE/PowerPC/MIPS等各種體系 結(jié)構(gòu)平臺上移植Linux內(nèi)核;對于嵌入式 Linux的實時性和CELinux的特點有
2010-03-10 17:54:13
嵌入式 c語言程序設(shè)計 中故障狀態(tài)和故障標志的表示方法是什么
2021-12-23 08:13:24
嵌入式 linux、arm 嵌入式 操作系統(tǒng) 嵌入式 系統(tǒng) 應(yīng)用領(lǐng)域嵌入式 系統(tǒng) 特點嵌入式 實時系統(tǒng) 嵌入式 系統(tǒng) 組成ARM 相關(guān)知識arm 尋址方式ARM 微處理器的工作狀態(tài)、工作模式ARM 寄存器linux系統(tǒng) linux
2021-12-27 07:35:35
、《Linux高級程序設(shè)計 》 楊宗德著硬件基礎(chǔ)1、《ARM 體系 結(jié)構(gòu)與編程》杜春雷著2、S3C2410 Datasheet英語基礎(chǔ)1、《計算機與通信專業(yè)英語》系統(tǒng) 教程1、《嵌入式 系統(tǒng) ――體系 結(jié)構(gòu)、編程
2020-06-24 14:39:37
》(LDD)硬件基礎(chǔ)1、《ARM 體系 結(jié)構(gòu)與編程》杜春雷著2、S3C2410 Datasheet系統(tǒng) 教程1、《嵌入式 系統(tǒng) ――體系 結(jié)構(gòu)、編程與設(shè)計》2、《嵌入式 系統(tǒng) ――采用公開源代碼和StrongARM
2022-12-28 14:35:43
》 系統(tǒng) 教程 1、《嵌入式 系統(tǒng) ――體系 結(jié)構(gòu)、編程與設(shè)計》 2、《嵌入式 系統(tǒng) ――采用公開源代碼和StrongARM/Xscale處理器》毛德操 胡希明著 3、《Building
2014-07-20 10:29:13
》 系統(tǒng) 教程 1、《嵌入式 系統(tǒng) ――體系 結(jié)構(gòu)、編程與設(shè)計》 2、《嵌入式 系統(tǒng) ――采用公開源代碼和StrongARM/Xscale處理器》毛德操 胡希明著 3、《Building
2014-12-12 09:49:06
干貨來了,本文創(chuàng)客學(xué)院嵌入式 linux培訓(xùn)講師和學(xué)員分享嵌入式 程序設(shè)計 和系統(tǒng) 開發(fā)與維護的相關(guān)知識點。希望對學(xué)習(xí)嵌入式 開發(fā)的學(xué)員有所幫助?! ?b class="flag-6" style="color: red">嵌入式開發(fā)教程之程序設(shè)計 與開發(fā)維護: 一、嵌入式
2017-05-26 14:59:52
嵌入式 操作系統(tǒng) 是ARM CPU的軟件基礎(chǔ),從8位/16位單片機發(fā)展到以arm CPU核為代表的32位嵌入式 處理器,嵌入式 操作系統(tǒng) 將替代傳統(tǒng)的由手工編制的監(jiān)控程序 或調(diào)度程序 ,成為重要的基礎(chǔ)組件。更重
2020-04-07 07:13:19
慕課電子科技大學(xué).嵌入式 系統(tǒng) .第二章.嵌入式 硬件系統(tǒng) (第一部分.嵌入式 系統(tǒng) 存儲體系 0 目錄2 嵌入式 硬件系統(tǒng) (第一部分)2.5 嵌入式 系統(tǒng) 存儲體系 2.5.1課堂重點2.5.2測試與作業(yè)3 下一章0
2021-12-17 08:08:09
嵌入式 系統(tǒng) 設(shè)計師學(xué)習(xí)筆記二十七:嵌入式 軟件程序設(shè)計 ②——嵌入式 程序設(shè)計程序設(shè)計 語言機器語言:由二進制所組成的,機器能識別的二進制串。(在機器上運算速度最快,開發(fā)效率最低)匯編語言:將二進制串符號化
2021-12-21 08:28:48
嵌入式 開發(fā)人員的參考書。圖書目錄:第1章 嵌入式 系統(tǒng) 基礎(chǔ)知識 1.1 嵌入式 系統(tǒng) 概述 1.2 嵌入式 系統(tǒng) 的組成 1.3 嵌入式 操作系統(tǒng) 舉例 1.4 嵌入式 系統(tǒng) 開發(fā)概述 第2章 arm 技術(shù)概述
2019-08-27 15:35:05
《ARM 嵌入式 系統(tǒng) 基礎(chǔ)教程》是一本學(xué)習(xí)ARM 嵌入式 的好書,尤其是初學(xué)者來講,這本書上講的都是ARM 嵌入式 系統(tǒng) 的一些基礎(chǔ)的東西,淺而易知地告訴我們什么是嵌入式 系統(tǒng) ,并講解了一個嵌入式 系統(tǒng) 工程設(shè)計的完整
2014-03-13 09:23:48
部分:第1章和第2章為理論部分,主要介紹嵌入式 系統(tǒng) 的概念及開發(fā)方法。第3~5章為基礎(chǔ)部分,主要介紹ARM 7體系 結(jié)構(gòu)、指令系統(tǒng) 及LPC2000系列ARM 微控制器的結(jié)構(gòu)原理。第6~8章為應(yīng)用部分,主要
2020-02-21 16:13:15
1章和第2章為理論部分,主要介紹嵌入式 系統(tǒng) 的概念及開發(fā)方法。第3~5章為基礎(chǔ)部分,主要介紹ARM 7體系 結(jié)構(gòu)、指令系統(tǒng) 及LPC2000系列ARM 微控制器的結(jié)構(gòu)原理。第6~8章為應(yīng)用部分,主要
2019-04-04 23:27:25
前言嵌入式 知識點復(fù)習(xí)一嵌入式 知識點復(fù)習(xí)二 --體系 結(jié)構(gòu)嵌入式 知識點復(fù)習(xí)三 --ARM -LINUX嵌入式 開發(fā)環(huán)境嵌入式 知識點復(fù)習(xí)四 --arm -linux文件編程嵌入式 知識點復(fù)習(xí)五
2021-07-16 07:13:12
:第1章和第2章為理論部分,主要介紹嵌入式 系統(tǒng) 的概念及開發(fā)方法。第3~5章為基礎(chǔ)部分,主要介紹ARM 7體系 結(jié)構(gòu)、指令系統(tǒng) 及LPC2000系列ARM 微控制器的結(jié)構(gòu)原理。第6~8章為應(yīng)用部分,主要
2017-06-12 17:59:55
嵌入式 系統(tǒng) 的概念及應(yīng)用領(lǐng)域,嵌入式 系統(tǒng) 軟硬件及設(shè)計方法基本知識,ARM 微處理器體系 結(jié)構(gòu)與匯編語言程序設(shè)計 ,?C/OS-II實時操作系統(tǒng) 分析,嵌入式 系統(tǒng) 硬件接口設(shè)計,嵌入式 系統(tǒng) 軟件設(shè)計與編程以及嵌入式 系統(tǒng)
2018-03-01 17:26:54
`編輯推薦 本書以ARM 920T微處理器為硬件平臺,結(jié)合Linux操作系統(tǒng) ,詳細介紹了嵌入式 應(yīng)用系統(tǒng) 的設(shè)計、調(diào)試方法,以及嵌入式 驅(qū)動程序 開發(fā)。全書內(nèi)容豐富,語言通俗易懂,具有很強的可讀性。內(nèi)容簡介
2017-12-25 17:33:32
嵌入式 系統(tǒng) 的概念及應(yīng)用領(lǐng)域,嵌入式 系統(tǒng) 軟硬件及設(shè)計方法基本知識,ARM 微處理器體系 結(jié)構(gòu)與匯編語言程序設(shè)計 ,?C/OS-II實時操作系統(tǒng) 分析,嵌入式 系統(tǒng) 硬件接口設(shè)計,嵌入式 系統(tǒng) 軟件設(shè)計與編程以及嵌入式 系統(tǒng)
2018-02-01 17:10:47
RealView MDK平臺搭建 第4章 基于RealView開發(fā)環(huán)境的嵌入式 軟件開發(fā) 第5章 STM32F103處理器內(nèi)部資源C編程與實例第2部分 第6章 μC/OS-Ⅱ操作系統(tǒng) 基礎(chǔ)及其移植開發(fā)初步 第7章 μC/OS-Ⅱ的內(nèi)核機制 第8章 基于μC/OS-Ⅱ的程序設(shè)計 實例 參考文獻
2014-03-13 11:02:28
`ARM 處理器體系 、嵌入式 系統(tǒng) 詳解,結(jié)構(gòu)及系統(tǒng) 工程設(shè)計方法。`
2021-03-29 14:37:42
嵌入式 系統(tǒng) 原理及應(yīng)用教程- -嵌入式 程序設(shè)計 基礎(chǔ) l
2018-12-02 22:20:16
一般32位ARM 嵌入式 系統(tǒng) 的中斷向量表是程序 編譯前設(shè)置好的。在編寫32位ARM 嵌入式 系統(tǒng) 的中斷服務(wù)程序 、設(shè)置和修改ARM 體系 結(jié)構(gòu)的中斷向量表時,常感到相當麻煩,不得不修改匯編代碼,對不喜歡使用匯
2019-06-18 07:20:16
隨著互聯(lián)網(wǎng)應(yīng)用的普及,越來越多的信息化產(chǎn)品需要接入互聯(lián)網(wǎng)通過Web頁面進行遠程訪問。嵌入式 Web系統(tǒng) 提供了一種經(jīng)濟、實用的互聯(lián)網(wǎng)嵌入式 接入方案。這里結(jié)合一種嵌入式 WebServer BOA來介紹嵌入式 Linux系統(tǒng) 下的CGI程序設(shè)計 技術(shù)。
2019-09-20 07:21:39
IDE的介紹及高性能的調(diào)試工具ADW的使用。并在此基礎(chǔ)之上介紹一些典型的基于ARM 體系 的嵌入式 應(yīng)用系統(tǒng) 設(shè)計時的基本技術(shù)。ARM 嵌入式 軟件工程方法和實踐:面向AMetal框架和接口的C編程:全書分為4個
2020-04-13 15:39:06
/O 編寫串口通信程序 編寫多串口通信程序 7、嵌入式 系統(tǒng) 中多進程程序設(shè)計 Linux系統(tǒng) 進程概述 嵌入式 系統(tǒng) 的進程特點 進程操作 守護進程 相關(guān)的系統(tǒng) 調(diào)用了解Linux系統(tǒng) 中進程的概念 能夠編寫多進
2019-01-18 10:34:44
單片機與嵌入式 系統(tǒng) 程序設(shè)計 技術(shù)
2012-11-02 09:47:52
。在1999年,ARM 突破1.5億個,市場份額超過了50%,已經(jīng)成為業(yè)界的龍頭。在我們研制開發(fā)基于ARM 7的嵌入式 系統(tǒng) 過程中,發(fā)現(xiàn)技術(shù)難點主要在于系統(tǒng) 啟動程序 的編寫,為此本文詳細論述了在ARM 7基礎(chǔ)上開發(fā)嵌入式 系統(tǒng) 時啟動程序 的實現(xiàn)。
2019-07-11 08:31:21
請教各位,基于ARM 嵌入式 系統(tǒng) 的ISP該如何去設(shè)計?
2021-04-27 07:07:46
已經(jīng)不能滿足專用系統(tǒng) 的需要。伴隨著我國汽車、家電等產(chǎn)業(yè)的快速發(fā)展,嵌入式 系統(tǒng) 的應(yīng)用與開發(fā)已成為目前IT產(chǎn)業(yè)的一個新的熱點?;?b class="flag-6" style="color: red">ARM的嵌入式 系統(tǒng) 的開發(fā),首先要解決的問題是嵌入式 操作系統(tǒng) 的移植
2020-04-17 06:56:08
基于ARM 的嵌入式 系統(tǒng) 程序 開發(fā)要點
2012-08-19 14:36:52
碩士學(xué)位論文基于ARM 的嵌入式 系統(tǒng) 設(shè)計摘要嵌入式 系統(tǒng) 以其小型、專用、易攜帶、可靠性高的特點,已經(jīng)在各個領(lǐng)域得到了廣泛的應(yīng)用,如軍事國防、消費電子、通信設(shè)備、工業(yè)控制等。嵌入式 處理器內(nèi)嵌實時操作系統(tǒng)
2021-12-22 06:59:36
基于μClinux ARM 的嵌入式 系統(tǒng) 的設(shè)計在介紹了ARM 處理器和UClinux特點的基礎(chǔ)上,詳細討論了將UClinux操作系統(tǒng) 和BLOB系統(tǒng) 引導(dǎo)程序 移植到以ARM 7TDMI為
2009-03-28 13:12:09
如何學(xué)習(xí)嵌入式 系統(tǒng) (基于ARM 平臺)一、嵌入式 系統(tǒng) 的概念主要從三個方面上來理解。1、從硬件上,將基于CPU的處圍器件,整合到CPU芯片內(nèi)部,比如早期基于X86體系 結(jié)構(gòu)下的計算機,CPU只是有運算器
2017-08-23 10:38:04
如何實現(xiàn)嵌入式 里串口(UART)自動波特率識別程序設(shè)計 ?
2022-02-08 06:34:56
CQT測試系統(tǒng) 是什么?CQT項目有哪些測試方法?如何通過嵌入式 ARM 設(shè)計CQT測試系統(tǒng) ?
2021-04-13 06:11:02
據(jù)同行——學(xué)習(xí)和教育的未來》 022《用戶體驗的要素》 023《編程與藝術(shù)》 024《ARM 嵌入式 體系 結(jié)構(gòu)與接口技術(shù)》 025《cortex-m0 接口編程》 026《C 語言程序設(shè)計
2017-08-17 16:25:03
怎么用C語言去寫嵌入式 系統(tǒng) 的死循環(huán)呢?什么是ARM 體系 結(jié)構(gòu)?ARM 體系 支持哪幾種工作模式呢?
2021-11-12 07:40:03
嵌入式 車載網(wǎng)絡(luò)系統(tǒng) 的硬件電路設(shè)計嵌入式 車載網(wǎng)絡(luò)系統(tǒng) 的驅(qū)動程序設(shè)計
2021-05-19 07:10:40
什么是嵌入式 系統(tǒng) ?嵌入式 處理器的體系 架構(gòu)可分為哪幾種形式?嵌入式 操作系統(tǒng) 具備哪些特點?嵌入式 系統(tǒng) 主要有哪些應(yīng)用領(lǐng)域?
2021-08-06 07:01:50
求基于ARM 9的嵌入式 系統(tǒng) 用WinCE編程的電機驅(qū)動程序 ,加上數(shù)據(jù)采集系統(tǒng) A\D和D\A轉(zhuǎn)換的程序 。謝謝各位大俠了。。順便問一下要學(xué)習(xí)嵌入式 系統(tǒng) WinCE需要哪些書的、、
2012-09-13 23:22:24
基本要求1.具有嵌入式 系統(tǒng) 、微電子技術(shù)、數(shù)字媒體以及計算機網(wǎng)絡(luò)的基礎(chǔ)知識2.熟悉嵌入式 微處理器的體系 結(jié)構(gòu)、功能特點,初步掌握ARM 匯編語言程序設(shè)計 3.熟悉嵌入式 系統(tǒng) 硬件的組成,掌握常用I/O 接口
2021-07-22 09:24:34
系統(tǒng) 編程:shell編程,文件編程,串口編程,進程編程,線程編程,網(wǎng)絡(luò)編程4、嵌入式 項目開發(fā):數(shù)據(jù)采集控制系統(tǒng) ,串口服務(wù)器 嵌入式 LININX開發(fā)第二學(xué)習(xí)階段,掌握ARM 匯編程序設(shè)計 ,驅(qū)動程序設(shè)計 。1
2020-08-30 11:28:25
怎樣去設(shè)計嵌入式 系統(tǒng) 軟件體系 結(jié)構(gòu)?
2021-04-27 07:18:46
小、高度自動化、響應(yīng)速度快、特別適合于要求實時和多任務(wù)的體系 等特點[1]在嵌入式 系統(tǒng) 中獲得了越來越廣泛的應(yīng)用。這使得基于ARM 的嵌入式 監(jiān)測系統(tǒng) 具有成本低、功耗低、實時性能好及智能程度高等優(yōu)點,在工業(yè)監(jiān)測與控制領(lǐng)域具有較為廣闊的應(yīng)用前景[2]。本文設(shè)計了基于ARM 的嵌入式 監(jiān)測系統(tǒng) 。
2019-10-09 06:19:25
嵌入式 系統(tǒng) 的C程序設(shè)計
2006-04-07 22:42:43 86 基于ARM 的嵌入式 程序設(shè)計 從硬件到軟件共8章1
2006-04-08 00:27:01 567 嵌入式 系統(tǒng) 的C程序設(shè)計
2007-11-10 08:59:57 54 本文簡單介紹了嵌入式 實時程序設(shè)計 的特點和嵌入式 系統(tǒng) 設(shè)計中語言的選擇,著重介紹了以下幾種在嵌入式 實時程序設(shè)計 中優(yōu)化 C/C++代碼的方法[關(guān)鍵詞] 嵌入式 實時操作系統(tǒng) (
2009-08-07 08:47:03 15 嵌入式 系統(tǒng) 的c程序設(shè)計
2010-02-11 09:21:31 65 在介紹基于ARM 體系 的嵌入式 系統(tǒng) 啟動流程基礎(chǔ)上,結(jié)合編程實例
詳細系統(tǒng) 地敘述了BSP (板級支持包)程序 的各個部分及其設(shè)計方案
并就實際程序設(shè)計 的幾個難點問題
2010-06-25 14:24:27 43 本書主要內(nèi)容包括:嵌入式 系統(tǒng) 的基本概念與開發(fā)流程,ARM 微處理器與嵌入式 系統(tǒng) 硬件電路的原理,存儲映射及嵌入式 軟件開發(fā)技術(shù),ARM 指令、程序設(shè)計 以及開發(fā)工具的使用方法,Lin
2011-10-13 16:52:13 0 《ARM 體系 結(jié)構(gòu)與程序設(shè)計 》是ARM 體系 結(jié)構(gòu)與程序設(shè)計 的一本實用指導(dǎo)書籍,通過案例詳細介紹了ARM 體系 結(jié)構(gòu)與程序設(shè)計 ,案例中的程序 都取自實際的項目,且對程序 有詳細注解。
2011-10-27 16:37:27 2269 本書全面、深入地介紹了基于ARM SoC的嵌入式 系統(tǒng) 開發(fā)技術(shù),包括ARM 系統(tǒng) 結(jié)構(gòu)與匯編程序設(shè)計 、基于ARM 的嵌入式 系統(tǒng) 啟動代碼bootloader設(shè)計、實時嵌入式 操作系統(tǒng) 及其移植方法、嵌入式 系
2011-12-28 10:39:03 0 電子發(fā)燒友網(wǎng)站提供《嵌入式 系統(tǒng) 開發(fā)基礎(chǔ)_基于ARM 9微處理器C語言程序設(shè)計 (第二版).txt》資料免費下載
2015-01-15 16:21:54 0 嵌入式 系統(tǒng) 的C程序設(shè)計
有需要的朋友下來看看
2015-12-29 17:56:35 1 嵌入式 系統(tǒng) 的C程序設(shè)計 ,感興趣的小伙伴們可以看看。
2016-07-26 10:26:39 42 基于ARM 的嵌入式 系統(tǒng) 程序 開發(fā)要點(1)
2017-01-14 12:33:04 7 基于ARM 的嵌入式 系統(tǒng) 程序 開發(fā)要點(六)--開發(fā)高效程序 的技巧
2017-10-25 11:31:02 4 嵌入式 系統(tǒng) 與C程序設(shè)計
2017-10-30 10:20:29 13 ARM 公司在32位RISC的CPU開發(fā)領(lǐng)域不斷取得突破,其結(jié)構(gòu)已經(jīng)從V3發(fā)展到V6。 BSP (Board Support Package)板級支持包介于主板硬件和操作系統(tǒng) 之間,其功能與PC機上
2017-11-07 10:35:27 10 嵌入式 系統(tǒng) 由硬件環(huán)境、嵌入式 操作系統(tǒng) 和應(yīng)用程序 組成,硬件環(huán)境是操作系統(tǒng) 和應(yīng)用程序 運行的硬件平臺,它隨應(yīng)用的不同而有不同的要求。硬件平臺的多樣性是嵌入式 系統(tǒng) 的主要特點,如何使嵌入式 操作系統(tǒng) 在不同的硬件
2019-04-02 14:42:11 2120 的,不同的操作系統(tǒng) 對應(yīng)于不同定義形式的BSP ,例如VxWorks的BSP 和Linux 的BSP 相對于某一CPU來說,盡管實現(xiàn)的功能一樣,可是寫法和接口定義是完全不同的。另外,仔細研究所用的芯片資料也十分重要, 例如盡管ARM 在內(nèi)核上兼容, 但每家芯片都有自己的特色。所以這就要求BSP 程序 員對硬件、
2020-07-17 15:55:37 26 ARM 公司在32 位RISC 的CPU 開發(fā)領(lǐng)域不斷取得突破, 其結(jié)構(gòu)已經(jīng)從V3 發(fā)展到V6。BSP ( Board Support Package)板級支持包介于主板硬件和操作系統(tǒng) 之間,其功能
2020-10-22 17:15:32 8 ARM 公司在32 位RISC 的CPU開發(fā)領(lǐng)域不斷取得突破,其結(jié)構(gòu)已經(jīng)從V3發(fā)展到V6。BSP ( Board Support Package )板級支持包介于主板硬件和操作系統(tǒng) 之間,其功能與PC機上
2020-12-04 16:46:22 13 ARM 嵌入式 系統(tǒng) BSP 的程序設(shè)計 總結(jié)(嵌入式 開發(fā)模式稱為)-該文檔為ARM 嵌入式 系統(tǒng) BSP 的程序設(shè)計 總結(jié)文檔,是一份很不錯的參考資料,具有較高參考價值,感興趣的可以下載看看………………
2021-08-04 10:37:18 4 ARM 開發(fā)教程之ARM 體系 的嵌入式 系統(tǒng) BSP 的程序設(shè)計 (嵌入式 開發(fā)工資很低嗎)-該文檔為ARM 開發(fā)教程之ARM 體系 的嵌入式 系統(tǒng) BSP 的程序設(shè)計 總結(jié)文檔,是一份很不錯的參考資料,具有較高參考價值,感興趣的可以下載看看………………
2021-08-04 11:21:30 6 ARM 開發(fā)教程之ARM 體系 的嵌入式 系統(tǒng) BSP 的程序 的設(shè)計說明(android板嵌入式 開發(fā))-該文檔為ARM 開發(fā)教程之ARM 體系 的嵌入式 系統(tǒng) BSP 的程序 的設(shè)計說明總結(jié)文檔,是一份很不錯的參考資料,具有較高參考價值,感興趣的可以下載看看………………
2021-08-04 11:36:34 10
已全部加載完成
評論
查看更多