freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

某軟件架構(gòu)及開發(fā)流程講義-資料下載頁(yè)

2025-01-01 22:40本頁(yè)面
  

【正文】 xDC簡(jiǎn)介 達(dá)芬奇的軟件開發(fā)環(huán)境中,有一個(gè) DSP工程師比較陌生的工具 xDC(Express DSP Component)。 和 gmake類似, xDC根據(jù)一套 build指令 build生成可執(zhí)行文件 。 xDC同時(shí)也會(huì) build依賴文件,并且可以一次 build多個(gè)目標(biāo)對(duì)象的可執(zhí)行文件 (如圖 5中的 DSP的可執(zhí)行文件, ARM的可執(zhí)行文件 )。 xDC的 源文件 可以是 C程序、 C++程序、匯編程序和庫(kù)文件等。 如下圖所示, xDC按照 build指令,對(duì) DSP Server的源文件進(jìn)行 build(類似于 make)生成 DSP Server .x64P(.out)文件。 這個(gè)過程可以分為三部分: 創(chuàng)建 DSP Server的源文件; 設(shè)置 xDC的配置文件; 執(zhí)行“ make”生成可執(zhí)行文件 。 圖 5 Codec創(chuàng)建 DSP Server 2. DSP Server的源文件 以 Codec Engine_1_02中的 video_copy為例,如圖 6我們可以看到 video_copy的 DSP Server中包括和圖 5對(duì)應(yīng)的源文件 、 。圖 5中的 packages是指圖 3和圖 4中的 codecs、 RMS、 Engine SPI和 OSAL。接下來(lái),我們可以通過 xDC的配置文件看到如何把 packages添加到 Server中。 OMAP_L137的目錄為: Codec Engine_2_22/examples/ti/sdo/ce/examples/servers/video_copy/evmOMAPL137/ 要構(gòu)建 DSP Server首先就需要?jiǎng)?chuàng)建 server的 DSP/BIOS配置文件 .tcf及。 我們提到 engine_open會(huì)把 DSP從復(fù)位狀態(tài)釋放, DSP Server程序開始運(yùn)行初始化等等。這個(gè)初始化就是 DSP Server (見圖 7)中的 CERuntime_init()。除此之外在 打開 Codec Engine的 trace功能,讀取或更改 main函數(shù)的參數(shù)等。 圖 6 Codec創(chuàng)建 DSP Server DSP BIOS的配置文件 .tcf中定義 DSP的memory map、設(shè)置 DSP的復(fù)位 /中斷向量表并且創(chuàng)建和初始化 BIOS程序需要的各種數(shù)據(jù)對(duì)象 (如圖 8的 .tcf)。 在 .tcf中我們只能定義編譯器默認(rèn)的sections(如 .text和 .bss等 )。但是,我們可以在sections(如圖 8 中 .tables和 .csl_vect等 )。 Codec創(chuàng)建 DSP Server DSP BIOS的配置文件 .tcf中定義 DSP的memory map、設(shè)置 DSP的復(fù)位 /中斷向量表并且創(chuàng)建和初始化 BIOS程序需要的各種數(shù)據(jù)對(duì)象 (如圖 8的 .tcf)。 在 .tcf中我們只能定義編譯器默認(rèn)的sections(如 .text和 .bss等 )。但是,我們可以在sections(如圖 8 中 .tables和 .csl_vect等 )。 Codec創(chuàng)建 DSP Server 3. xDC文件 在 Linux中我們用 make命令根據(jù) makefile來(lái)生成可執(zhí)行文件, xDC也有類似的 生成腳本文件(我們統(tǒng)稱為 xDC文件 )。如圖 6所示,其中 、 文件就是提供給 xDC build DSP Server的 xDC文件。 在 DSP Server的名字、它的路徑及 Server的依賴文件 . Linux中的 makefile,它會(huì)告訴 xDC怎么樣 build DSP Server的源文件。如圖 9所示在 target是 C64P DSP. 要生成針對(duì) target的可執(zhí)行程序,其中配置腳本文件是 (與圖 8中的 .tcf類似 )、鏈接選項(xiàng)是鏈接(與圖 8中的 )文件,同時(shí)還要生成 。 Codec創(chuàng)建 DSP Server xDC的強(qiáng)大之處還在于它提供給系統(tǒng)集成工程師一個(gè)強(qiáng)大的工具,這個(gè)工具可以用來(lái)把各種各樣的代碼模塊組合成自己的最終產(chǎn)品。其中 xDC的配置文件就是 DSP Server中的 .cfg(例如圖 5中的 )負(fù)責(zé)系統(tǒng)級(jí)的管理。 請(qǐng)注意這里的 .cfg文件不同于第一章提到的 Codec Engine的 .cfg文件 (例如CE_INSTALL_DIR/examples/apps/video_copy/dualcpu/),下文中提到的 .cfg都是指 DSP Server的 .cfg文件。 xDC會(huì)根據(jù)以上提到的配置文件生成 (類似于 makefile),并最終運(yùn)行它來(lái)生成圖 5所示的包括可執(zhí)行文件的 package。 我們可以打開查看 ,但不能修改。因?yàn)橹匦逻\(yùn)行 xDC之后會(huì)生成新的 。 Codec創(chuàng)建 DSP Server 4. 設(shè)置 xDC的配置文件 既然 .cfg文件負(fù)責(zé)系統(tǒng)級(jí)的管理,我們需要先了解什么需要管理?當(dāng)然是 DSP的資源,無(wú)非就是 CPU cycles、 memory及 DMA。針對(duì) Davinci上 DSP的軟件開發(fā), TI提供了 Framework Components來(lái)方便 DSP軟件工程師使用 DSP的 memory和 DMA資源。 xDM和 xDAIS算法的 Instance都向 FC提出自己的資源請(qǐng)求,比如請(qǐng)求 1KByte的 memory或一個(gè) DMA通道。 FC中的 DSKT2和 DMAN3就通過標(biāo)準(zhǔn)的、可以配置的方法給算法的 instances分配資源 (包括 instances之間可以共享的資源 )。舉例來(lái)說(shuō),有了 DSKT2負(fù)責(zé)不同算法開發(fā)的工程師就不必?fù)?dān)心自己要用的某一段 memory是否已經(jīng)被別的算法占用等一系列問題,因?yàn)槊恳粋€(gè)算法的 memory都是由 DSKT2分配的。 Codec創(chuàng)建 DSP Server a. DSKT2 Framework DSKT2負(fù)責(zé)管理系統(tǒng)中所有 xDAIS算法的 memory需求,它和應(yīng)用層的接口非常簡(jiǎn)單“ Create, Execute, Delete”。系統(tǒng)集成工程師需要用所有可以利用的 memory初始化DSKT2模塊。 DSKT2模塊包括兩種類型的 memory,永久性的 memory(只要這個(gè)算法存在,它就會(huì)占用的 memory)和 scratch memory(算法之間可以共享的 memory)。當(dāng)一個(gè)算法被創(chuàng)建的時(shí)候,永久性 memory才會(huì)被 DSKT2分配給這個(gè)算法,在算法被刪除的時(shí)候,這段 memory被返回到 heap。當(dāng)一個(gè)算法申請(qǐng) scratch memory時(shí),會(huì)被分配一個(gè)memory 39。pool39。,這個(gè) pool被擁有同一個(gè) scratch pool ID的其它算法共享。也就是說(shuō),共享 scratch memory的算法屬于同一個(gè)優(yōu)先級(jí),不能中斷對(duì)方。 Codec創(chuàng)建 DSP Server b. 配置 DSP Server的 .cfg文件 在 .cfg文件中可以做以下三個(gè)部分的配置。 (1) Codec配置:每一個(gè) codec都被包含在各自的線程中; 配置每一個(gè) codec線程的屬性 (線程優(yōu)先級(jí)、堆棧大小和堆棧的 memory資源 )。具體請(qǐng)參考CE_INSTALL_DIR/xdoc/。 (2) DSKT2配置: 把所有的 IALG memory類型結(jié)合到可用的 DSP memory;定義缺省的 scratch組的 memory大小。 (3) DMAN3配置:定義 DMAN3可以管理的 DMA通道號(hào);定義 DMAN3可以提供給算法的 TCC號(hào)。 以 ,對(duì)應(yīng)到圖 4所示的 DSP Server部分, .cfg文件中對(duì) OSAL和codecs模塊做了聲明和定義。我們可以看到 video_copy的 server中包括 VIDDEC_COPY和 VIDENC_COPY兩個(gè) codec。 Codec創(chuàng)建 DSP Server 接著對(duì) server進(jìn)行配置,包括各個(gè)線程的屬性配置。 Codec engine將自動(dòng)匹配算法的scratch memory ID和算法線程的優(yōu)先級(jí),保證安全操作。 Codec創(chuàng)建 DSP Server 對(duì) DSKT2的配置,參看下面的例子。需要注意的是這里的每一個(gè) scratch memory pool的大小通過數(shù)組的形式定義,數(shù)組的第一個(gè)元素對(duì)應(yīng) scratch pool ID0,第二個(gè)元素對(duì)應(yīng) scratch pool ID2,依次類推。 Codec創(chuàng)建 DSP Server 以下是 DMAN3的配置例子。因?yàn)?DMA需要 memory存放 PARAM和其他的通道配置,所以在 DMAN3分配有 heap(分為 internal heap和 external heap)。 DMAN3的 PARAM是通過它自己的 base index和數(shù)量分配的,本例分配給 DMAN3 48個(gè) PARAM。從這個(gè)例子中我們還可以看到 DMAN3有 8個(gè)可用的 QDMA通道, tcc是通過 bit mask來(lái)分配的。 Codec創(chuàng)建 DSP Server 5. xDC的 build 過程 xDC的調(diào)用是通過執(zhí)行命令 XDC完成的。在此之前,我們需要做以下幾步: a. 在 (ARM或 DSP), xdcbuildcfg定義; b. 在 package, (如圖 6的 video_copy示例 ); c. 在 build的可執(zhí)行文件和庫(kù)文件, (如圖6的 video_copy示例 ); d. 按照前面的介紹根據(jù)自己的應(yīng)用修改 server的 .cfg文件。 執(zhí)行 XDC后先產(chǎn)生 , XDC再運(yùn)行 package。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1