亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Android手機(jī)中基帶跟蹤數(shù)據(jù)的導(dǎo)出功能設(shè)計(jì)*

        2013-10-10 01:56:06黃一峰黃俊偉吳戀
        關(guān)鍵詞:基帶調(diào)用串口

        黃一峰,黃俊偉,吳戀

        (重慶郵電大學(xué) 新一代寬帶移動(dòng)通信終端研究所,重慶400065)

        引 言

        在目前流行的Android手機(jī)設(shè)計(jì)方案中,應(yīng)用處理器(AP)和通信處理器(CP)因?yàn)閷?duì)任務(wù)實(shí)時(shí)性的要求不同而相對(duì)獨(dú)立。典型地,AP和CP子系統(tǒng)分別運(yùn)行手機(jī)系統(tǒng)的應(yīng)用操作系統(tǒng)(Android)和基帶操作系統(tǒng)(Nucleus)[1]。

        在手機(jī)開(kāi)發(fā)過(guò)程中,大部分的功能調(diào)試通過(guò)AP側(cè)來(lái)完成。因此,將CP側(cè)的基帶跟蹤數(shù)據(jù)導(dǎo)出到AP側(cè)進(jìn)行保存和分析,對(duì)于手機(jī)開(kāi)發(fā)過(guò)程中的功能調(diào)試和Bug修復(fù)都具有非常重要的意義[2-3]。

        本文設(shè)計(jì)了一種雙硬件芯片環(huán)境下的基帶跟蹤數(shù)據(jù)的導(dǎo)出方案。其中,基帶系統(tǒng)運(yùn)行在重郵信科公司C6310雙模(TD-SCDMA+GSM)CP芯片上,應(yīng)用系統(tǒng)運(yùn)行在三星Exynos 4412四核AP芯片上。兩者通過(guò)串口機(jī)制進(jìn)行通信和數(shù)據(jù)共享。本文的設(shè)計(jì)主要包括AP側(cè)軟件模塊設(shè)計(jì)、CP側(cè)軟件模塊設(shè)計(jì),以及串口通信機(jī)制設(shè)計(jì)。

        在實(shí)際的手機(jī)產(chǎn)品中應(yīng)用本文的設(shè)計(jì),進(jìn)行大數(shù)據(jù)量、長(zhǎng)時(shí)間基帶跟蹤數(shù)據(jù)導(dǎo)出實(shí)驗(yàn)和可靠性分析,得到了良好的實(shí)驗(yàn)結(jié)果,驗(yàn)證了本文設(shè)計(jì)的可行性和可靠性。

        1 系統(tǒng)框架設(shè)計(jì)

        1.1 系統(tǒng)總體框架設(shè)計(jì)

        圖1為基帶跟蹤數(shù)據(jù)導(dǎo)出方案的整體框架。整個(gè)方案包括CP、AP以及串口機(jī)制三個(gè)方面。其中,CP側(cè)主要由跟 蹤 數(shù) 據(jù) 產(chǎn) 生 模 塊 (ARMLOG TRACE、DSPLOG TRACE)和CP側(cè)串口驅(qū)動(dòng)組成;AP側(cè)主要由數(shù)據(jù)接收模塊(ARMLOG Driver、DSPLOG Driver),USB傳輸模塊(USB Gadget Driver)和 AP側(cè)串口驅(qū)動(dòng)組成。

        在CP側(cè),Nucleus操作系統(tǒng)的跟蹤數(shù)據(jù)進(jìn)程(ARM-log trace和DSPlog trace)負(fù)責(zé)產(chǎn)生基帶的跟蹤數(shù)據(jù),經(jīng)過(guò)設(shè)備抽象層(DAI)轉(zhuǎn)發(fā)后,基帶跟蹤數(shù)據(jù)被CP側(cè)串口驅(qū)動(dòng)存入串口緩存Buffer中。

        圖1 方案整體框架圖

        同時(shí)在AP側(cè),對(duì)應(yīng)的串口驅(qū)動(dòng)將從串口緩存buffer中讀取到的跟蹤數(shù)據(jù)上報(bào)給AP側(cè)數(shù)據(jù)接收進(jìn)程(ARM-LOG Driver和 DSPLOG Driver)。最后,AP側(cè)數(shù)據(jù)接收進(jìn)程調(diào)用 USB傳輸驅(qū)動(dòng)(USB Gadget Driver),將跟蹤數(shù)據(jù)發(fā)送到PC端軟件進(jìn)行顯示或保存。

        串口機(jī)制包括物理上的數(shù)據(jù)緩存(Buffer)和公共的函數(shù)接口(API),AP側(cè)和CP側(cè)串口驅(qū)動(dòng)通過(guò)調(diào)用這些公共的函數(shù)接口,即可完成相互通信和數(shù)據(jù)傳輸,從而達(dá)到兩個(gè)系統(tǒng)交互的目的。

        1.2 AP側(cè)軟件交互流程

        圖2為AP與CP側(cè)軟件交互示意圖?;鶐Ц檾?shù)據(jù)采用流數(shù)據(jù)的形式,數(shù)據(jù)的存儲(chǔ)和解析由PC端的Trace軟件完成。因此AP側(cè)不關(guān)心數(shù)據(jù)的具體格式,其關(guān)注點(diǎn)在于數(shù)據(jù)的接收和傳送過(guò)程。AP側(cè)軟件流程步驟如下:

        ① 系統(tǒng)啟動(dòng)以后,AP側(cè)ARMLOG DSPLOG Driver連接USB為向 ARM DSP Gadget Driver發(fā)送數(shù)據(jù)作準(zhǔn)備。首先進(jìn)行相關(guān)的初始化工作,包括緩存的申請(qǐng)、一些全局變量的初始化、設(shè)備的注冊(cè)等工作。

        ② 其后工作主要在ARMLOG DSPLOG Driver中完成。調(diào)用在初始化函數(shù)中調(diào)用的serial_create_ch()函數(shù),注冊(cè)基帶跟蹤功能專用的串口通道。

        ③ 啟動(dòng)工作隊(duì)列函數(shù)trace_read_serial_work(),準(zhǔn)備向USB數(shù)據(jù)緩沖區(qū)(usb_fifo)發(fā)送跟蹤數(shù)據(jù)。

        ④ 在工作隊(duì)列函數(shù)trace_read_serial_work()中調(diào)用串口通道讀函數(shù)serial_read_avail(),獲取串口通道中CP側(cè)發(fā)來(lái)的跟蹤數(shù)據(jù)長(zhǎng)度r,r表示串口通道中可讀數(shù)據(jù)長(zhǎng)度。

        ⑤ 如果r≠0,表示CP側(cè)發(fā)來(lái)數(shù)據(jù),則繼續(xù)調(diào)用serial_read()函數(shù)將通道中的跟蹤數(shù)據(jù)讀取到USB數(shù)據(jù)緩沖區(qū)(usb_buf)中,ARM/DSP Gadget Driver驅(qū)動(dòng)提供的接口trace_write()將緩沖區(qū)中保存的跟蹤數(shù)據(jù)通過(guò)USB發(fā)往PC,發(fā)送完成后再調(diào)用trace_read_serial_work(),進(jìn)入下一次數(shù)據(jù)收發(fā)流程;如果r=0,則說(shuō)明串口通道中沒(méi)有可讀的跟蹤數(shù)據(jù),此時(shí)調(diào)用休眠等待函數(shù)wait_interrupt(),使跟蹤進(jìn)程進(jìn)入睡眠等待。進(jìn)程喚醒條件為跟蹤通道中有可讀數(shù)據(jù),中斷到來(lái)后喚醒跟蹤進(jìn)程。

        圖2 AP側(cè)和CP側(cè)軟件交互圖

        ⑥trace_read_serial_work()工作隊(duì)列調(diào)用時(shí)機(jī)說(shuō)明:trace_read_serial_work()首次調(diào)用放在 USB連接tra-ceusb_connect()函數(shù)中,當(dāng)系統(tǒng)檢測(cè)到有USB插入時(shí),traceusb_connect()函數(shù)即被調(diào)用,當(dāng)一次跟蹤數(shù)據(jù)通過(guò)USB完全送出后,跟蹤數(shù)據(jù)發(fā)送完成函數(shù)trace_write_complete()會(huì)被執(zhí)行,在該函數(shù)中再次調(diào)用,準(zhǔn)備第二次數(shù)據(jù)的發(fā)送。

        1.3 CP側(cè)跟蹤數(shù)據(jù)發(fā)送流程

        CP側(cè)負(fù)責(zé)跟蹤數(shù)據(jù)的記錄和發(fā)送工作。CP側(cè)跟蹤數(shù)據(jù)發(fā)送具體流程如下:

        ① 定時(shí)器每10ms判斷發(fā)送DSP或ARM的跟蹤數(shù)據(jù)。

        ② 若跟蹤數(shù)據(jù)長(zhǎng)度滿足發(fā)送長(zhǎng)度條件,則進(jìn)行混合幀頭封裝,不滿足則退出。

        ③ 通過(guò)平臺(tái)無(wú)關(guān)化調(diào)用DAI_TRA_SEND()函數(shù)發(fā)送L長(zhǎng)度的跟蹤數(shù)據(jù)。

        ④ 函數(shù)調(diào)用完成后返回處理結(jié)果retVal。

        ⑤判斷retVal是否等于發(fā)送長(zhǎng)度L,若是則更新buffer數(shù)據(jù)索引然后結(jié)束,否則直接結(jié)束。

        2 串口機(jī)制設(shè)計(jì)

        串口機(jī)制為AP和CP間的trace驅(qū)動(dòng)提供通信和數(shù)據(jù)傳送功能,起到了一個(gè)橋梁的作用。其軟件結(jié)構(gòu)設(shè)計(jì)如圖3所示。

        圖3 串口機(jī)制軟件結(jié)構(gòu)圖

        在AP和CP上有對(duì)等的串口驅(qū)動(dòng)模塊。二者有公共的數(shù)據(jù)結(jié)構(gòu)和循環(huán)數(shù)據(jù)緩沖區(qū)管理接口。

        串口機(jī)制提供給AP和CP的外部API包括創(chuàng)建數(shù)據(jù)通道(serial_create_ch)、讀通道數(shù)據(jù)(serial_read)、寫(xiě)通道數(shù)據(jù)(serial_write)、注冊(cè)通道中斷(serial_register_inthandle)、通道復(fù)位(serial_reset)等。

        對(duì)外部接口的實(shí)現(xiàn)、內(nèi)部接口的實(shí)現(xiàn)、通道對(duì)象管理和中斷ISR的實(shí)現(xiàn)等,AP和CP需要分別實(shí)現(xiàn)。AP和CP外部API接口相同,但具體實(shí)現(xiàn)不同。

        在調(diào)試中首先采用的是普通串口方式,我們發(fā)現(xiàn)在數(shù)據(jù)通信過(guò)程中會(huì)頻繁產(chǎn)生中斷,占用系統(tǒng)資源過(guò)大;同時(shí)在大數(shù)據(jù)量的跟蹤數(shù)據(jù)導(dǎo)出時(shí)會(huì)產(chǎn)生延遲。因此,在AP側(cè)和CP側(cè)同時(shí)采用串口的DMA傳輸方式,可有效地降低資源占用,同時(shí)傳輸效率得以保證。

        3 方案驗(yàn)證分析與測(cè)試結(jié)果

        系統(tǒng)功能的測(cè)試主要包括兩個(gè)測(cè)試點(diǎn):

        ① 數(shù)據(jù)通路是否暢通。包括 Trace USB Gadget Driver與 AP ARMLOG/DSPLOG Driver之間的通路,AP ARMLOG/DSPLOG Driver與 AP Serial Driver之間的通路,AP Serial Driver與 CP Serial Driver之間的通路,CP Serial Driver與CP Trace Module之間的通路。

        ② 導(dǎo)出的跟蹤數(shù)據(jù)是否完整有效。針對(duì)第一個(gè)測(cè)試點(diǎn),可以在各個(gè)數(shù)據(jù)通路之間采取假數(shù)據(jù)上報(bào)的方式進(jìn)行測(cè)試,譬如,在AP側(cè)Serial Driver中用假數(shù)代替從基帶獲取的跟蹤數(shù)據(jù)送往 AP ARMLOG/DSPLOG Driver中,測(cè)試兩者間通路是否暢通。

        針對(duì)第二個(gè)測(cè)試點(diǎn),需要在完整的系統(tǒng)平臺(tái)上,連續(xù)測(cè)試24小時(shí)以上,期間包括基帶數(shù)據(jù)業(yè)務(wù)的使用,以驗(yàn)證整體模塊功能的可行性和可靠性[5]。

        具體測(cè)試場(chǎng)景設(shè)計(jì)如表1所列。

        表1 測(cè)試場(chǎng)景列表

        多次測(cè)試后,通過(guò)PC端的Trace導(dǎo)出軟件觀察,保存出來(lái)的跟蹤數(shù)據(jù)既沒(méi)有重復(fù)顯示歷史跟蹤數(shù)據(jù),也沒(méi)有出現(xiàn)跟蹤數(shù)據(jù)丟失和錯(cuò)亂的情況,有序、準(zhǔn)確無(wú)誤地輸出預(yù)想的跟蹤數(shù)據(jù),如圖4所示。

        圖4 導(dǎo)出的基帶數(shù)據(jù)截圖

        結(jié) 語(yǔ)

        本文所提出的基帶Trace導(dǎo)出功能模塊,已經(jīng)在基于 Linux 2.6.29內(nèi)核的 Android 4.0定制版本上實(shí)現(xiàn)。在模塊設(shè)計(jì)中,采用了串口通信機(jī)制,使AP與CP兩個(gè)獨(dú)立系統(tǒng)的通信和數(shù)據(jù)交換十分方便。同時(shí)在AP側(cè)的ARMLOG/DSPLOG驅(qū)動(dòng)中,使用工作隊(duì)列和中斷喚醒的技術(shù),在沒(méi)有數(shù)據(jù)傳送時(shí),整個(gè)數(shù)據(jù)通道處于睡眠狀態(tài),有效地節(jié)省了系統(tǒng)資源開(kāi)銷。既保證數(shù)據(jù)的完整有效性,也能滿足實(shí)際項(xiàng)目的需求。

        [1]王海霞.TD/GSM雙模手機(jī)軟件架構(gòu)的研究與實(shí)現(xiàn) [D].南京:南京郵電大學(xué),2010.

        [2]李志丹.嵌入式軟件調(diào)試方法研究[J].計(jì)算機(jī)與數(shù)字工程,2012(7):157-159.

        [3]朱亞洲.GSM 手機(jī)軟件開(kāi)發(fā)[D].武漢:武漢科技大學(xué),2007.

        [4]陶少玉.高效基帶芯片調(diào)試方法的研究及其在MTK手機(jī)開(kāi)發(fā)中的應(yīng)用 [D].上海:上海交通大學(xué),2009.

        猜你喜歡
        基帶調(diào)用串口
        淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
        核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
        USB接口的多串口數(shù)據(jù)并行接收方法探索
        基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無(wú)線通信
        2014年LTE基帶收益占蜂窩基帶收益50%以上
        AIS基帶信號(hào)的接收與處理
        數(shù)字基帶系統(tǒng)的System View仿真設(shè)計(jì)
        基于FPGA的WSN數(shù)字基帶成形濾波器設(shè)計(jì)
        成人综合亚洲欧美一区h| 亚洲av无码成人精品区狼人影院| 久久国产精品久久久久久| 久久aⅴ无码av免费一区| 日韩av在线不卡一区二区三区| 中文字幕亚洲一区二区三区| 久久婷婷五月综合97色直播| 大香伊蕉国产av| 一区二区三区日本大片| 免费观看在线视频播放| 大陆国产乱人伦| 波多野结衣一区二区三区高清| 成人午夜视频一区二区无码| 久久午夜一区二区三区| 无码专区人妻系列日韩精品| 成人区人妻精品一熟女| 亚洲欧洲日产国码久在线观看| 日韩黄色大片免费网站| 国产高清在线精品一区app| 亚洲男人的天堂网站| 精品少妇爆乳无码aⅴ区| 偷拍熟女露出喷水在线91| 18禁在线永久免费观看| 亚洲欧洲偷自拍图片区| 亚洲av成人在线网站| 国产自拍av在线观看| 日本少妇春药特殊按摩3| 天美麻花果冻视频大全英文版| av大片在线无码永久免费网址| 日韩人妻免费视频一专区| 免费网站看v片在线18禁无码| 成人a在线观看| 免费国产自拍视频在线观看| 精品无码一区二区三区的天堂| 夜夜欢性恔免费视频| 精品一区二区三区影片| 亚洲女同av在线观看| 日本高清视频xxxxx| 亚洲av日韩aⅴ永久无码| 亚洲福利一区二区不卡| 亚洲精品国产精品国自产|