新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > OMAPL138雙核系統的調試方案設計

        OMAPL138雙核系統的調試方案設計

        作者: 時間:2012-05-08 來源:網絡 收藏

        (3)釋放內存
        主要采用MSGQ_Close(GppMsgq);釋放建立的消息隊列。
        根據圖3,在DSP端,首先需要建立打印任務并且為所需要傳輸的log長度分配內存空間,隨后在log發送端初始化中進行MSGQ的定位MSGQ_locate(),通過定位將指定連接DSP與GPP端的消息傳輸隊列。消息就通過此隊列進行傳輸,采用MSGQ_put()將DSP端的信息發送到GPP端。在多次傳輸信息后,占用過多的內存空間會導致內存泄露。為防止這種狀況的發生,要在傳輸完畢后進行空間的釋放,在下次傳輸時再重新創建。雖然這會影響到傳輸時間,但是為了內存空間更加便利安全的管理,在傳輸結束后應立即釋放。
        在GPP端,為了使MSGQ調試程序與主程序的運行互不干擾,創建單獨線程進行調試使用。在接收內存空間分配好后,采用MSGQ_open()打開已經創建的MSGQ,使用MSGQ_get()消息接收。在接收完調試信息后,可以直接利用printf將調試信息通過串口打印在調試工具上。GPP端打印完成后,同樣需要對分配內存空間進行釋放。至此完成調試。
        該調試方法同樣存在著缺陷:DSP端正在運行的任務無法直接顯示消息,需要將消息暫存,隨后進行任務切換傳輸,因此無法即時進行調試信息的顯示。但對于開發者來說,常常只是需要知道變量的數值或者程序運行的進度,所以此缺陷不會成為影響調試的大障礙,可以接受。

        4 測試驗證
        采用DVSDK中提供的exanlple進行更改,更改上述調試模塊,對MSGQ的調試信息進行測試,打印出通過與EMIFA相連接的LED的值,如圖4所示。

        本文引用地址:http://www.104case.com/article/149121.htm

        g.jpg


        采用insmod dsplinkk.ko將編譯好的內核模塊加載進中,然后利用GPP端應用程序載入DSP端應用,在DSP端中,將string為“led test reg=”作為msg->str參數,將控制LED的寄存器作為arg[]參數,傳入GPP端打印出來。

        結語
        本文針對OMAP體系分析了在TI體系中雙核進行通信的方式,又分析了DVSDK中雙核通信底層模塊DSPLink在Linux操作中的搭建和以MSGQ通信時的過程。雙核體系硬件擬合性好,功耗低,有很好的應用前景。針對的雙核開發過程中調試難的特點設計了log打印的調試方式,在實際的應用中有較大的意義。

        linux相關文章:linux教程



        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 河间市| 威远县| 宿州市| 许昌县| 固始县| 克山县| 理塘县| 柏乡县| 阿克陶县| 栾川县| 桑植县| 平罗县| 河北省| 牙克石市| 大丰市| 长兴县| 田林县| 大埔县| 什邡市| 贵州省| 鱼台县| 柘荣县| 丰台区| 仲巴县| 文山县| 都昌县| 玉龙| 桐柏县| 刚察县| 武冈市| 故城县| 乐安县| 西安市| 镇江市| 阜康市| 普兰店市| 十堰市| 长垣县| 洱源县| 曲水县| 巴里|