找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 5080|回復(fù): 2
收起左側(cè)

ARM系列系統(tǒng)程序開(kāi)發(fā)要點(diǎn)(共45頁(yè)pdf下載)

[復(fù)制鏈接]
ID:90762 發(fā)表于 2018-10-28 15:52 | 顯示全部樓層 |閱讀模式
ARM®系列微處理器作為全球16/32 位 RISC 處理器市場(chǎng)的領(lǐng)先者, 在許多領(lǐng)域內(nèi)得到了成功的應(yīng)用。近年來(lái),ARM 在國(guó)內(nèi)的應(yīng)用也得到了飛速的發(fā)展,越來(lái)越多的公司和工程師在基于 ARM 的平臺(tái)上面開(kāi)發(fā)自己的產(chǎn)品。

  與傳統(tǒng)的 4/8位單片機(jī)相比,ARM 的性能和處理能力當(dāng)然是遙遙領(lǐng)先的,但與之相應(yīng),ARM 的系統(tǒng)設(shè)計(jì)復(fù)雜度和難度,較之傳統(tǒng)的設(shè)計(jì)方法也大大提升了。本文旨在通過(guò)討論系統(tǒng)程序設(shè)計(jì)中的幾個(gè)基本方面,來(lái)說(shuō)明基于 ARM 的嵌入式系統(tǒng)程序開(kāi)發(fā)的一些特點(diǎn),并提出和解決了一些常見(jiàn)的問(wèn)題。

  文章分成幾個(gè)相對(duì)獨(dú)立的章節(jié)刊載。第一部分討論基于 ARM 的嵌入式程序開(kāi)發(fā)和移植過(guò)程中的一些基本概念。

1.嵌入式程序開(kāi)發(fā)過(guò)程

  不同于通用計(jì)算機(jī)和工作站上的軟件開(kāi)發(fā)工程,一個(gè)嵌入式程序的開(kāi)發(fā)過(guò)程具有很多特點(diǎn)和不確定性。其中最重要的一點(diǎn)是軟件跟硬件的緊密耦合特性。
0.png

  這是兩類簡(jiǎn)化的嵌入式系統(tǒng)層次結(jié)構(gòu)圖。由于嵌入式系統(tǒng)的靈活性和多樣性,上面圖中各個(gè)層次之間缺乏統(tǒng)一的標(biāo)準(zhǔn),幾乎每一個(gè)獨(dú)立的系統(tǒng)都不一樣。這樣就給上層的軟件設(shè)計(jì)人員帶來(lái)了極大地困難。第一,在軟件設(shè)計(jì)過(guò)程中過(guò)多地考慮硬件,給開(kāi)發(fā)和調(diào)試都帶來(lái)了很多不便;第二,如果所有的軟件工作都需要在硬件平臺(tái)就緒之后進(jìn)行,自然就延長(zhǎng)了整個(gè)的系統(tǒng)開(kāi)發(fā)周期。這些都是應(yīng)該從方法上加以改進(jìn)和避免的問(wèn)題。

  為了解決這個(gè)問(wèn)題, 工程和設(shè)計(jì)人員提出了許多對(duì)策。 首先在應(yīng)用與驅(qū)動(dòng) (或API)這一層接口,可以設(shè)計(jì)成相對(duì)統(tǒng)一的一些接口函數(shù),這對(duì)于具體的某一個(gè)開(kāi)發(fā)平臺(tái)或在某個(gè)公司內(nèi)部,是完全做得到的。這樣一來(lái),就大大提高了應(yīng)用層軟件設(shè)計(jì)的標(biāo)準(zhǔn)化程度,方便了應(yīng)用程序在跨平臺(tái)之間的復(fù)用和移植。

  對(duì)于驅(qū)動(dòng)/硬件抽象這一層,因?yàn)橹苯域?qū)動(dòng)硬件,其標(biāo)準(zhǔn)化變得非常困難甚至不太可能。但是為了簡(jiǎn)化程序的調(diào)試和縮短開(kāi)發(fā)周期,我們可以在特定的 EDA工具環(huán)境下面進(jìn)行開(kāi)發(fā),通過(guò)后再進(jìn)行移植到硬件平臺(tái)的工作。這樣既可以保證程序邏輯設(shè)計(jì)的正確性,同時(shí)使得軟件開(kāi)發(fā)可平行甚至超前于硬件開(kāi)發(fā)進(jìn)程。

  我們把脫離于硬件的嵌入式軟件開(kāi)發(fā)階段稱之為“PC 軟件”的開(kāi)發(fā),可以用下面的圖來(lái)示意一個(gè)嵌入式系統(tǒng)程序的開(kāi)發(fā)過(guò)程。

0.png


  在“PC 軟件”開(kāi)發(fā)階段,可以用軟件仿真,即指令集模擬的方法,來(lái)對(duì)用戶程序進(jìn)行驗(yàn)證。在 ARM 公司的開(kāi)發(fā)工具中,ADS®內(nèi)嵌的 ARMulator 和RealView®  開(kāi)發(fā)工具中的 ISS,都提供了這項(xiàng)功能。在模擬環(huán)境下,用戶可以設(shè)置 ARM 處理器的型號(hào)、時(shí)鐘頻率等,同時(shí)還可以配置存儲(chǔ)器訪問(wèn)接口的時(shí)序參數(shù)。程序在模擬環(huán)境下運(yùn)行,不但能夠進(jìn)行程序的運(yùn)行流程和邏輯測(cè)試,還能夠統(tǒng)計(jì)系統(tǒng)運(yùn)行的時(shí)鐘周期數(shù)、 存儲(chǔ)器訪問(wèn)周期數(shù)、 處理器運(yùn)行時(shí)的流水線狀態(tài) (有效周期、等待周期、連續(xù)和非連續(xù)訪問(wèn)周期)等信息。這些寶貴的信息是在硬件調(diào)試階段都無(wú)法取得的,對(duì)于程序的性能評(píng)估非常有價(jià)值。

  為了更加完整和真實(shí)地模擬一個(gè)目標(biāo)系統(tǒng),ARMulator 和 ISS 還提供了一個(gè)開(kāi)放的 API 編程環(huán)境。用戶可以用標(biāo)準(zhǔn) C 來(lái)描述各種各樣的硬件模塊,連同工具提供的內(nèi)核模塊一起,組成一個(gè)完整的“軟”硬件環(huán)境。在這個(gè)環(huán)境下面開(kāi)發(fā)的軟件,可以更大程度地接近最終的目標(biāo)。

  利用這種先進(jìn)的 EDA 工具環(huán)境,極大地方便了程序開(kāi)發(fā)人員進(jìn)行嵌入式開(kāi)發(fā)的工作。當(dāng)完成一個(gè)“PC 軟件”的開(kāi)發(fā)之后,只要進(jìn)行正確的移植,一個(gè)真正的嵌入式軟件就開(kāi)發(fā)成功了。 而移植過(guò)程是相對(duì)比較容易形成一套規(guī)范的流程的,其中三個(gè)最重要的方面是:

完整的pdf格式文檔51黑下載地址(共45頁(yè)):
基于ARM的嵌入式系統(tǒng)程序開(kāi)發(fā)要點(diǎn).zip (484.74 KB, 下載次數(shù): 54)


回復(fù)

使用道具 舉報(bào)

ID:273165 發(fā)表于 2018-11-29 10:09 | 顯示全部樓層
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

ID:970591 發(fā)表于 2022-10-27 16:04 | 顯示全部樓層
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表