999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Android手機中基帶跟蹤數據的導出功能設計*

2013-10-10 01:56:06黃一峰黃俊偉吳戀
單片機與嵌入式系統應用 2013年9期
關鍵詞:設計

黃一峰,黃俊偉,吳戀

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

引 言

在目前流行的Android手機設計方案中,應用處理器(AP)和通信處理器(CP)因為對任務實時性的要求不同而相對獨立。典型地,AP和CP子系統分別運行手機系統的應用操作系統(Android)和基帶操作系統(Nucleus)[1]。

在手機開發過程中,大部分的功能調試通過AP側來完成。因此,將CP側的基帶跟蹤數據導出到AP側進行保存和分析,對于手機開發過程中的功能調試和Bug修復都具有非常重要的意義[2-3]。

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

在實際的手機產品中應用本文的設計,進行大數據量、長時間基帶跟蹤數據導出實驗和可靠性分析,得到了良好的實驗結果,驗證了本文設計的可行性和可靠性。

1 系統框架設計

1.1 系統總體框架設計

圖1為基帶跟蹤數據導出方案的整體框架。整個方案包括CP、AP以及串口機制三個方面。其中,CP側主要由跟 蹤 數 據 產 生 模 塊 (ARMLOG TRACE、DSPLOG TRACE)和CP側串口驅動組成;AP側主要由數據接收模塊(ARMLOG Driver、DSPLOG Driver),USB傳輸模塊(USB Gadget Driver)和 AP側串口驅動組成。

在CP側,Nucleus操作系統的跟蹤數據進程(ARM-log trace和DSPlog trace)負責產生基帶的跟蹤數據,經過設備抽象層(DAI)轉發后,基帶跟蹤數據被CP側串口驅動存入串口緩存Buffer中。

圖1 方案整體框架圖

同時在AP側,對應的串口驅動將從串口緩存buffer中讀取到的跟蹤數據上報給AP側數據接收進程(ARM-LOG Driver和 DSPLOG Driver)。最后,AP側數據接收進程調用 USB傳輸驅動(USB Gadget Driver),將跟蹤數據發送到PC端軟件進行顯示或保存。

串口機制包括物理上的數據緩存(Buffer)和公共的函數接口(API),AP側和CP側串口驅動通過調用這些公共的函數接口,即可完成相互通信和數據傳輸,從而達到兩個系統交互的目的。

1.2 AP側軟件交互流程

圖2為AP與CP側軟件交互示意圖。基帶跟蹤數據采用流數據的形式,數據的存儲和解析由PC端的Trace軟件完成。因此AP側不關心數據的具體格式,其關注點在于數據的接收和傳送過程。AP側軟件流程步驟如下:

① 系統啟動以后,AP側ARMLOG DSPLOG Driver連接USB為向 ARM DSP Gadget Driver發送數據作準備。首先進行相關的初始化工作,包括緩存的申請、一些全局變量的初始化、設備的注冊等工作。

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

③ 啟動工作隊列函數trace_read_serial_work(),準備向USB數據緩沖區(usb_fifo)發送跟蹤數據。

④ 在工作隊列函數trace_read_serial_work()中調用串口通道讀函數serial_read_avail(),獲取串口通道中CP側發來的跟蹤數據長度r,r表示串口通道中可讀數據長度。

⑤ 如果r≠0,表示CP側發來數據,則繼續調用serial_read()函數將通道中的跟蹤數據讀取到USB數據緩沖區(usb_buf)中,ARM/DSP Gadget Driver驅動提供的接口trace_write()將緩沖區中保存的跟蹤數據通過USB發往PC,發送完成后再調用trace_read_serial_work(),進入下一次數據收發流程;如果r=0,則說明串口通道中沒有可讀的跟蹤數據,此時調用休眠等待函數wait_interrupt(),使跟蹤進程進入睡眠等待。進程喚醒條件為跟蹤通道中有可讀數據,中斷到來后喚醒跟蹤進程。

圖2 AP側和CP側軟件交互圖

⑥trace_read_serial_work()工作隊列調用時機說明:trace_read_serial_work()首次調用放在 USB連接tra-ceusb_connect()函數中,當系統檢測到有USB插入時,traceusb_connect()函數即被調用,當一次跟蹤數據通過USB完全送出后,跟蹤數據發送完成函數trace_write_complete()會被執行,在該函數中再次調用,準備第二次數據的發送。

1.3 CP側跟蹤數據發送流程

CP側負責跟蹤數據的記錄和發送工作。CP側跟蹤數據發送具體流程如下:

① 定時器每10ms判斷發送DSP或ARM的跟蹤數據。

② 若跟蹤數據長度滿足發送長度條件,則進行混合幀頭封裝,不滿足則退出。

③ 通過平臺無關化調用DAI_TRA_SEND()函數發送L長度的跟蹤數據。

④ 函數調用完成后返回處理結果retVal。

⑤判斷retVal是否等于發送長度L,若是則更新buffer數據索引然后結束,否則直接結束。

2 串口機制設計

串口機制為AP和CP間的trace驅動提供通信和數據傳送功能,起到了一個橋梁的作用。其軟件結構設計如圖3所示。

圖3 串口機制軟件結構圖

在AP和CP上有對等的串口驅動模塊。二者有公共的數據結構和循環數據緩沖區管理接口。

串口機制提供給AP和CP的外部API包括創建數據通道(serial_create_ch)、讀通道數據(serial_read)、寫通道數據(serial_write)、注冊通道中斷(serial_register_inthandle)、通道復位(serial_reset)等。

對外部接口的實現、內部接口的實現、通道對象管理和中斷ISR的實現等,AP和CP需要分別實現。AP和CP外部API接口相同,但具體實現不同。

在調試中首先采用的是普通串口方式,我們發現在數據通信過程中會頻繁產生中斷,占用系統資源過大;同時在大數據量的跟蹤數據導出時會產生延遲。因此,在AP側和CP側同時采用串口的DMA傳輸方式,可有效地降低資源占用,同時傳輸效率得以保證。

3 方案驗證分析與測試結果

系統功能的測試主要包括兩個測試點:

① 數據通路是否暢通。包括 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之間的通路。

② 導出的跟蹤數據是否完整有效。針對第一個測試點,可以在各個數據通路之間采取假數據上報的方式進行測試,譬如,在AP側Serial Driver中用假數代替從基帶獲取的跟蹤數據送往 AP ARMLOG/DSPLOG Driver中,測試兩者間通路是否暢通。

針對第二個測試點,需要在完整的系統平臺上,連續測試24小時以上,期間包括基帶數據業務的使用,以驗證整體模塊功能的可行性和可靠性[5]。

具體測試場景設計如表1所列。

表1 測試場景列表

多次測試后,通過PC端的Trace導出軟件觀察,保存出來的跟蹤數據既沒有重復顯示歷史跟蹤數據,也沒有出現跟蹤數據丟失和錯亂的情況,有序、準確無誤地輸出預想的跟蹤數據,如圖4所示。

圖4 導出的基帶數據截圖

結 語

本文所提出的基帶Trace導出功能模塊,已經在基于 Linux 2.6.29內核的 Android 4.0定制版本上實現。在模塊設計中,采用了串口通信機制,使AP與CP兩個獨立系統的通信和數據交換十分方便。同時在AP側的ARMLOG/DSPLOG驅動中,使用工作隊列和中斷喚醒的技術,在沒有數據傳送時,整個數據通道處于睡眠狀態,有效地節省了系統資源開銷。既保證數據的完整有效性,也能滿足實際項目的需求。

[1]王海霞.TD/GSM雙模手機軟件架構的研究與實現 [D].南京:南京郵電大學,2010.

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

[3]朱亞洲.GSM 手機軟件開發[D].武漢:武漢科技大學,2007.

[4]陶少玉.高效基帶芯片調試方法的研究及其在MTK手機開發中的應用 [D].上海:上海交通大學,2009.

猜你喜歡
設計
二十四節氣在平面廣告設計中的應用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統設計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發生器仿真設計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設計到“設計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 精品国产网站| 老司国产精品视频91| 国产剧情伊人| 日韩午夜伦| 国产一区二区三区在线观看视频| 亚洲中文字幕97久久精品少妇| 免费激情网址| 2021国产精品自拍| 亚洲欧美日韩精品专区| 国产福利微拍精品一区二区| 国产日韩精品欧美一区灰| 日本精品αv中文字幕| 天天综合网色中文字幕| 国产在线精品美女观看| 激情无码字幕综合| 国产精品综合久久久| 国产91成人| 亚洲天堂2014| 亚洲午夜片| 老熟妇喷水一区二区三区| 中文精品久久久久国产网址 | 亚洲人成网站在线观看播放不卡| 拍国产真实乱人偷精品| 国产理论最新国产精品视频| 国产99视频精品免费观看9e| 亚洲欧美综合在线观看| 伊在人亚洲香蕉精品播放 | 精品综合久久久久久97| 亚洲精品高清视频| 在线综合亚洲欧美网站| 青草精品视频| 亚洲日本一本dvd高清| 视频二区国产精品职场同事| 91色在线视频| 广东一级毛片| 亚洲综合网在线观看| 国产91高跟丝袜| 国产欧美专区在线观看| 亚洲一区二区无码视频| a级高清毛片| 亚洲一级毛片在线观播放| 一级毛片免费不卡在线| 国产自视频| 无码专区在线观看| 高清不卡毛片| 国产无码制服丝袜| 国产伦精品一区二区三区视频优播| 国产人成在线视频| 一级毛片a女人刺激视频免费| 91免费观看视频| 久久精品人人做人人爽电影蜜月| 免费人成网站在线观看欧美| 内射人妻无套中出无码| 91精品国产91久无码网站| 国产精品美女免费视频大全 | 欧美精品v| AV无码无在线观看免费| 超碰91免费人妻| 国产拍揄自揄精品视频网站| 欧美一级在线播放| 99久久99视频| 九九香蕉视频| 免费观看国产小粉嫩喷水| 99热这里只有精品在线播放| 国产精品亚洲专区一区| 日本欧美午夜| www.亚洲色图.com| 亚洲AV无码乱码在线观看裸奔| 麻豆国产精品一二三在线观看| 久久亚洲高清国产| 国产精品福利一区二区久久| 日韩在线成年视频人网站观看| 国产成人精彩在线视频50| 欧美日韩一区二区三区四区在线观看 | 亚洲成人在线免费观看| 亚洲精品久综合蜜| 欧美a在线看| 国产黑人在线| 免费看av在线网站网址| 成人午夜免费观看| 成人一区在线| 在线观看免费国产|