www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]要分析arm2440的啟動(dòng)流程,先得了解arm2440的硬件配置,在arm2440這款cpu里面沒有什么存儲(chǔ)的芯片,除了以個(gè)4kb的SRAM(靜態(tài)存儲(chǔ)器可以運(yùn)行程序,但是最重要的一點(diǎn)就是掉電就失掉所有的數(shù)據(jù))注意這4kb是cpu自己的不是外

要分析arm2440的啟動(dòng)流程,先得了解arm2440的硬件配置,在arm2440這款cpu里面沒有什么存儲(chǔ)的芯片,除了以個(gè)4kb的SRAM(靜態(tài)存儲(chǔ)器可以運(yùn)行程序,但是最重要的一點(diǎn)就是掉電就失掉所有的數(shù)據(jù))注意這4kb是cpu自己的不是外設(shè)的的。好了現(xiàn)在講述下啟動(dòng)的流程。(一下是從nand flash 啟動(dòng))

1、首先機(jī)器上電,從外部的nand flash 的0x0000-0x01000也就是前4kb的內(nèi)容通過硬件的辦法來拷貝到我們的cpu內(nèi)部的4kb的SRAM里面,并且把這個(gè)地址映射成起始地址,也就是說把cpu的sp指針指向內(nèi)部的4kb的SRAM的0x0000地址,開始運(yùn)行。

備注:(具體的在硬件上怎么拷貝到cpu內(nèi)部的SRAM里面,下面的這段話也許能解釋下)

During reset, Nand flash controller will get information about the connected NAND flash through Pin status
(NCON(Adv flash), GPG13(Page size), GPG14(Address cycle), GPG15(Bus width) – refer to PIN
CONFIGURATION), After power-on or system reset is occurred, the NAND Flash controller load automatically the
4-KBytes boot loader codes. After loading the boot loader codes, the boot loader code in steppingstone is
executed.(2440技術(shù)手冊(cè))

2.好了現(xiàn)在程序在你的內(nèi)部4kb的SRAM里面開始運(yùn)行了,但是這個(gè)只有4kb的SRAM空間太小,也許你覺得我寫的程序很大起碼有M級(jí)的,怎么辦呢,那你只好外擴(kuò)一片大點(diǎn)的SRAM,64M怎么樣,可以了吧,你要是覺得還是下那就256M,但是不管怎么樣你現(xiàn)在最重要的問題:怎么把我的程序放到我的外部SRAM里面去啊,于是你就想到為啥我不像在單片機(jī)里面的中斷一樣跳轉(zhuǎn)指令似的,我在我的4kb里面來個(gè)復(fù)制指令,讓我的外部nan flash 的程序全部考到我們的外部SRAM里面去啊,于是這個(gè)SRAM作用就體現(xiàn)出了

3.先在有一問題是你的拷貝指令的想法是可以的,但是假設(shè)你拷貝到外部的內(nèi)存中,好了你得把你的sp指針也就是程序指針的地址放到外部的內(nèi)存的起始地址上,這樣子你才能完整的啟動(dòng)你的整個(gè)程序。于是你需要將你的地址重新映射下,將外部的內(nèi)存地址映射成我們程序指針的地址,當(dāng)然在單片機(jī)里面沒有什么映射的概念(也許有但很少用),如果是單片機(jī)外擴(kuò)的話,那你只是需要將sp指針的地址指向我們的外部的內(nèi)存的首地址就可以了

備注:

1、在整個(gè)流程如果你是采用Linux來啟動(dòng)的你的系統(tǒng)的話,那么一般就會(huì)用到bootloader,那么你可以將你的bootloader放到你的nand flash的首地址。在隨后的地址上放你程序,這樣子在上電的時(shí)候你的bootloader會(huì)把你的程序拷貝到你的外部的存儲(chǔ)器里面

2、緊跟的問題就來了,bootloader的大???拷貝的地址從那一段地址到那一段地址?

先考慮第一個(gè)問題:大小

如果你的bootloader大于4kb怎么辦,也很簡(jiǎn)單解決問題方法是,那你就得修改bootloader,當(dāng)然你也可以修改其大小,使其小于4kb,但是你想要你bootloader的功能很強(qiáng)大,怎么辦,那也很簡(jiǎn)單,那你就在bootloader的小于4kb的地址主要做一下初始化的工作,然后同樣把你要的東西全部拷到你的外部?jī)?nèi)存中。記住在實(shí)際的bootloader中比喻:

0x00000000-0x00060000 //u-boot
0x00060000-0x00080000 //啟動(dòng)參數(shù),即saveenv命令,將設(shè)置的參數(shù)保存的地址。

這里面就分的很詳細(xì),程序和啟動(dòng)參數(shù)都分得很仔細(xì)。

好了第二個(gè)問題:拷貝的地址段

如果你的bootloader很小,在cpu的內(nèi)部sram就可以運(yùn)行的話,那就拷貝從4kb以后的你的程序就可以了,但是如果大于4kb的話,參考前面的說法,當(dāng)然你先拷貝你的內(nèi)核0x00080000-0x00280000 //內(nèi)核 0x00280000-之后的就是文件系統(tǒng)存放的區(qū)域了

4、好了在你的外部?jī)?nèi)存里面有你的內(nèi)核和一些啟動(dòng)的bootloader,這個(gè)不是很重要,但是你現(xiàn)在就像看看,能不能呢個(gè)啟動(dòng)你的linux內(nèi)核,可以考慮讓你程序的地址指針指向的內(nèi)核的首地址,看是否能啟動(dòng)起來。但是說實(shí)在話,很多文章在測(cè)試他們的內(nèi)核是否啟動(dòng)起來的,都把他們下到0x31000000這個(gè)起始地址,很是不解。

5.英文技術(shù)手冊(cè)的相關(guān)內(nèi)容:

In recent times, NOR flash memory gets high in price while an SDRAM and a NAND flash memory is
comparatively economical , motivating some users to execute the boot code on a NAND flash and execute the
main code on an SDRAM.
S3C2440A boot code can be executed on an external NAND flash memory. In order to support NAND flash boot
loader, the S3C2440A is equipped with an internal SRAM buffer called ‘Steppingstone’. When booting, the first 4
KBytes of the NAND flash memory will be loaded into Steppingstone and the boot code loaded into Steppingstone
will be executed.
Generally, the boot code will copy NAND flash content to SDRAM. Using hardware ECC, the NAND flash data
validity will be checked. Upon the completion of the copy, the main program will be executed on the SDRAM


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉