在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式軟件開發(fā)之:編譯器的缺省行為

            嵌入式軟件開發(fā)之:編譯器的缺省行為

            作者: 時(shí)間:2013-09-30 來(lái)源:網(wǎng)絡(luò) 收藏

            本文引用地址:http://www.biyoush.com/article/257029.htm

            3.需求函數(shù)

            需要的函數(shù)列表如表13.1所示。如果使用默認(rèn)的功能,用戶不需要編寫任何其他代碼。也可以重新實(shí)現(xiàn)部分的輸入/輸出函數(shù),使這些函數(shù)和標(biāo)準(zhǔn)Semihosting混合使用。

            表13.1 Semihosting函數(shù)列表

            函 數(shù) 名 稱

            描 述

            SYS_OPEN (0x01)

            打開文件

            SYS_CLOSE(0x02)

            關(guān)閉使用SYS_OPEN打開的文件

            SYS_WRITEC (0x03)

            向控制臺(tái)輸出字符

            SYS_WRITE0 (0x04)

            將空終止的字符串寫入控制臺(tái)

            SYS_WRITE (0x05)

            寫入主機(jī)上的文件

            續(xù)表

            函 數(shù) 名 稱

            描 述

            SYS_READ (0x06)

            將文件內(nèi)容讀取到緩存器

            SYS_READC (0x07)

            從控制臺(tái)讀取字節(jié)

            SYS_ISERROR (0x08)

            確定返回代碼是否錯(cuò)誤

            SYS_ISTTY (0x09)

            檢查文件是否連接到交互設(shè)備

            SYS_SEEK (0x0A)

            搜索到文件中的某個(gè)位置

            SYS_FLEN (0x0C)

            返回文件的長(zhǎng)度

            SYS_TMPNAM (0x0D)

            返回文件的臨時(shí)名稱

            SYS_REMOVE (0x0E)

            刪除主機(jī)上的文件

            SYS_RENAME (0x0F)

            重命名主機(jī)上的文件

            SYS_CLOCK (0x10)

            執(zhí)行開始后的厘秒數(shù)

            SYS_TIME (0x11)

            1970 年 1 月 1 日到現(xiàn)在的秒數(shù)

            SYS_SYSTEM (0x12)

            將命令傳遞給主機(jī)命令行解釋程序

            SYS_ERRNO (0x13)

            獲得 C 庫(kù) errno 變量的值

            SYS_GET_CMDLINE (0x15)

            獲得用于調(diào)用可執(zhí)行程序的命令行

            SYS_HEAPINFO (0x16)

            獲得系統(tǒng)堆參數(shù)

            SYS_ELAPSED (0x30)

            獲得自執(zhí)行開始的目標(biāo)滴答聲數(shù)目

            SYS_TICKFREQ (0x31)

            確定滴答聲的頻率

            13.2.2 C 庫(kù)結(jié)構(gòu)

            從概念上來(lái)講,C庫(kù)函數(shù)可被化分成兩類,一類為ISO C語(yǔ)言的規(guī)范部分,該部分的主要功能是向用戶提供一個(gè)調(diào)用接口;另一類為ISO C語(yǔ)言規(guī)范提供支持。圖13.2顯示了這兩類函數(shù)在C庫(kù)中的結(jié)構(gòu)。

            圖13.2 C庫(kù)的函數(shù)結(jié)構(gòu)

            對(duì)部分ISO C功能的支持是由主機(jī)調(diào)試環(huán)境在支持函數(shù)的設(shè)備驅(qū)動(dòng)程序級(jí)別提供的。

            例如,RVCT C庫(kù)通過寫入調(diào)試器控制臺(tái)窗口來(lái)實(shí)現(xiàn)ISO C printf()系列函數(shù)。通過調(diào)用__sys_write()來(lái)提供該功能。這是一個(gè)執(zhí)行半主機(jī)SWI的支持函數(shù),使字符串被寫入到控制臺(tái)。

            13.2.3 默認(rèn)存儲(chǔ)器映射

            對(duì)于沒有描述存儲(chǔ)器映射的映像(Image),RVCT根據(jù)默認(rèn)存儲(chǔ)器映射放置代碼和數(shù)據(jù)。默認(rèn)的存儲(chǔ)器映射如圖13.3所示。

            圖13.3 默認(rèn)存儲(chǔ)器映射

            結(jié)合圖13.3,可以看出默認(rèn)的存儲(chǔ)器映射使用以下規(guī)則:

            · 鏈接映像,在地址0x8000加載并運(yùn)行。首先放置所有的RO(只讀)段,其次是RW(讀寫)段,然后是ZI(零初始化)段。

            · 堆(Heap)直接從ZI段的頂端地址算起,因此,其準(zhǔn)確位置在鏈接時(shí)決定。

            · 棧(Stack)的起始地址在應(yīng)用程序啟動(dòng)過程時(shí)由Semihosting操作提供。具體Semihosting操作設(shè)置的值由調(diào)試系統(tǒng)的不同而不同。

            ① RealView ulator ISS(RVISS)設(shè)置為配置文件peripherals.ami中設(shè)定的值。默認(rèn)值是0x08000000。

            ② Multi-ICE將該地址設(shè)置為調(diào)試器內(nèi)部變量top_of_memory的值。默認(rèn)值是0x00080000。



            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉