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

面向自主可控DSP的調試系統軟硬件設計

2021-08-18 23:23:16馬強周樂
電腦知識與技術 2021年18期

馬強 周樂

摘要:本文首先介紹了面向自主可控DSP的調試系統總體設計方案,對其硬件架構進行了闡述,并分析了其工作原理。隨后給出了固件程序開發、驅動程序開發,同時對調試代理程序的通信協議實現過程及實現流程進行描述。利用該調試系統,上位機工具鏈可以實現對目標DSP的在線調試和在線編程。

關鍵詞:調試系統;驅動程序;目標DSP

中圖分類號:TP393文獻標識碼:A

文章編號:1009-3044(2021)18-0236-03

開放科學(資源服務)標識碼(OSID):

Hardware and Software Design of Debug System for DSP

MA Qiang, ZHOU Le

(No.38th Research Institute,China Electronic Technology Group Corporation/AnHui Sliliepoch Technology Co.,Ltd,Hefei,230031,China)

Abstract:Firstly, this paper introduces the overall design of DSP-oriented debugging system, describes its hardware architecture and analyzes its working principle. Then the firmware development and driver development are given, and the communication protocol implementation process and implementation flow of debugging agent are described. Using this debugging system, the upper computer tool chain can realize the on-line debugging and on-line programming of the target DSP.

Key word:Debug system; Driver; TargetDSP

1 DSP簡介

魂芯DSP是我國的一款全自主架構設計的32位浮點數字信號處理器。本款處理器主要針對環境要求苛刻的應用領域設計,如彈載、機載領域雷達、對抗、SAR成像等,目的是有效保障高性能信息處理器裝備的自主可控。該DSP考慮到性能與資源功耗的平衡性,集成了1個新一代處理器內核eC104E。

2調試系統硬件架構

DSP在線仿真器是連接上位機開發環境到目標調試DUT的關鍵路徑,它能實時控制目標處理器,同時也能不斷更新實時狀態。圖1就是簡單的邏輯示意圖。

上位機主要通過集成開發環境里的調試功能軟件對DSP進行各種調試操作:包括強制啟動/停止、單步調試、斷點調試、觀察點調試等。每次調試操作的信息通過以太網口發送給ICE[1]。該款DSP在線調試資源如下:

(1)硬件斷點

在線調試邏輯電路為用戶提供了豐富的硬件斷點資源,可以同時設置64個斷點。當DSP程序運行過程中碰到硬件斷點時,會自動終止程序運行,并停留在當前狀態,程序員可以訪問當前時刻DSP的所有可見地址空間的資源,并對其中可寫的資源進行修改。

(2)觀察點

在線調試邏輯為用戶提供了32個觀察點資源,這些觀察點對DSP數據存儲器的讀寫操作以及通用寄存器的寫操作敏感。當用戶定義的讀寫存儲器操作或寫通用寄存器發生時,會自動中止DSP運行,方便程序員觀察當前DSP的狀態。

(3)單步調試

在線調試功能為用戶提供了指令單步調試功能。

指令單步是指DSP處理完設定的指令個數之后自動停止運行。指令單步的步長可調,最小為1,最大為216-1。啟動了指令單步調試功能后,如果在100個DSP處理器主時鐘周期內還沒有執行完1條指令,則自動結束當前的指令單步功能。

其工作原理是:在線仿真器是負責接收主機調試器的各種調試指令,并且將各種調試指令轉換成JTAG串行數據流,數據流主要完成串并、并串的轉換。

其工作原理是:在線仿真器是連接主機調試器和目標處理器的軟硬件調試單元,負責主機軟件和底層硬件之間的通信。在線調試器由一個可編程的NIOS嵌入式處理器來完成,該處理器主要完成上位機數據的接收、處理、發送。調試器接收由以太網接口完成,以太網驅動完成了串行數據流到buffer中的緩存,然后緩存中的數據包會根據提前約定好的調試通信協議解析成一組基本的目標處理器能夠識別的數據地址隊列,分別存放在date ram、addr ram中,這些數據地址隊進而進入下一級驅動器模塊,驅動器模塊實現了JTAG的標準IEEE1194.1,完成數據的并串轉換,提交給目標處理器。

該在線仿真器的代碼運行硬件平臺資源是ALTERA處理器的NIOS軟核,配置的片外程序存儲器是EPCS64(8Mbyte),片外數據存儲器是CY7C1368(16Mbyte)。

3 HX1041調試系統軟件設計

3.1軟件總體結構

該DSP調試系統的軟件開發中,采用“宿主機——目標機”的分布式結構。要完成開發調試,上位機與DUT之間必須能進行有效的通信。該通信協議是建立在以太網通信協議基礎之上的純應用層面的一種協議,該通信協議要保證數據傳送的高可靠性、高效率、可擴展性。

該通信協議規定,采用“一應——一答”的方式,該方式的執行順序是仿真器接收到上位機的調試命令,并且根據通信協議進行解析,將解析出來的數據經過并串轉換變成JTAG數據碼流進入目標處理器。應答包一般由仿真器直接返回上位機,有些命令比如讀等操作,需要獲得目標處理器的反饋,接收到反饋后,可以將獲得數據返回上位機,并滿足一定的通信標準實現。實際通信包中,目標機需要告訴上位機一些信息,比如是否停止,停止原因、異常原因等。因此,協議規范了目標機向上位機反饋的通知信息,目標機可以向宿主機發送通知信息,但宿主機接收到后不必再做確認應答。通信信息包是由約定的十六進制數據形成的具有開始、結束標志的字節序列[3]。

3.2通信接口軟件設計

根據TCP/IP協議,數據鏈路層和物理層相關邏輯由LAN91C111完成,網絡層uc/TCP-IP和傳輸層(應用層)的協議解析等通信功能由NIOS II中的嵌入式LwIP協議棧實現。具有很好的可移植性,能夠不同于CPU、需要RTOS的支持[2]。

在底層驅動程序設計完畢以及以太網協議棧加載完畢后,通信應用程序的設計主要通過C語言編寫程序調用以太網庫函數來實現的,開機后,以太網通信接口首先進行初始化操作包括MAC地址,IP參數等。從層次化結構中可以看出,以太網Plugs函數庫是類似于windows上的Sockets函數庫。主要用到以下幾個庫函數作為數據的接收發送到開辟到空間的隊列上,例如:

①LAN91C111_enable();? ? ? ? ? ? ? ?//lan91c111使能

②LAN91C111_reset();? ? ? ? ? ? ? //lan91c111復位

③LAN91C111_init_phy();? ? ? ? ? ? ?//初始化PHY

④alt_u32? IP4_ADDR( a,b,c,d){

alt_u32? ipadr;

ipadr=(a&0xff)<<24;

ipadr=ipadr+((b&0xff)<<16);

ipadr=ipadr+((c&0xff)<<8);

ipadr=ipadr+(d&0xff);

returnhtonl(ipadr);

}? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//ip地址的設置

⑤OSTaskCreateExt ( TcpSearchGatwayTask,

NULL,

(void *)&TCP_SERVER_STK1[2048-1],

INIT_PRIORITY,

INIT_PRIORITY,

TCP_SERVER_STK1,

2048,

NULL,

0 );? ? ? ? ? ? ? ? ? ? ? //Tcp任務的建立

⑥recv_data_num = recvfrom(serveSocket, (char * )recv_buff, 256, 0,(structsockaddr* )&clientAddr, &sockAddrSize);? ? ? ? ? ? ? //接收socket的建立

⑦sendto(sendsocket,send_buffer,13,0,(structsockaddr*)&sendClientAddr,

sizeof(sendClientAddr));? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//發送socket的建立

3.3通信協議格式

本協議稱系統中傳輸的一段有實際含義的數據信息為數據包。數據包是有明確起始和結束的一段字符流。每個數據包的總長度不超過4096字節。調試命令標識區分為各種命令,如單步、運行、讀寫寄存器等。調試命令標識占1個字節。序號包標識每個包,命令包和其應答包的包序號相同,包序號定義為0遞增,占1個字節,附加信息表示包的一些額外信息,便于擴展,占一個字節。信息傳輸采用四字符同步結構,同步字符(字頭)由四個十六進制字節:“0x5A”“0xA5”“0x7B”“0XB7”組成。搜索到正確同步字符,表示可以開始接收一個完整數據包。下表1/2是一對典型的讀寄存器的通信請求和應答包。

3.4調試代理程序設計流程

3.3章節介紹了基于該DSP調試通信協議的基本規范,在該部分中將代理程序的整體程序框架進行描述。

首先上電建立網絡連接,調試代理程序開始查詢從上位機發送來的數據包,若數據包沒有來,一直循環查詢直到數據包的到來;將收到的數據包緩存到接收隊列中,對接收到數據包進行幀頭幀尾解析,若正確將該數據包寄存至下一級緩存隊列中。后續代理程序會按照接收到的命令指示,翻譯成不同的操作DSP的命令組合,比如讀寫DSP寄存器、存儲器、復DSP等。

有一類特殊的命令是上位機指令發下去后,需要調試代理程序一直查詢DSP的工作狀態直到觸發某一flag,如斷點觸發、觀察點觸發,單步結束,暫停執行。為此,在代碼中單獨設計了一個獨立于主函數的輪詢函數,可以在運行命令下發完后,將flag設置成1,輪詢函數會進入狀態查詢并以符合通信包的方式反饋給上位機,此輪詢函數對上位機來說是主動發送的,反映的是DSP的內部狀態,包括停止原因寄存器,觀察點狀態寄存器,執行PC。

4結束語

基于嵌入式系統搭建的硬件仿真器調試系統經后期用戶的使用,能實現包括停止、運行、周期單步、指令單步、讀寫寄存器、讀寫內存、讀寫DDR、讀寫片外空間、查詢等。同時也表現出了較好的穩定性,實際測試加載速度穩定在100-200 KB/s左右,滿足了調試開發所有的設計需求。圖3是用在線調試系統正在調試DSP的開發環境。

網口作為通信接口可以實現遠程通信,但是它也有局限性,比如PC一般只有一個網絡接口,當接口用作其他使用時,就無法實現網絡調式,目前正在開發基于USB3.0接口和以太網接口合一的在線仿真器,可以既實現遠程調試,也可解決接口不被占用的問題。

參考文獻:

[1] 荊濤,趙宏智,王沁.嵌入式微處理器JTAG接口中TAP控制器的設計[J].微計算機信息,2007,23(17):8-9,14.

[2]SMSC公司,LAN91C111 datasheet[EB/OL].http://www.smsc.com

[3]黃光紅.嵌入式軟件開發環境中遠程調試器的研究與設計[D].合肥:合肥工業大學碩士論文, 2007.

【通聯編輯:梁書】

主站蜘蛛池模板: 亚洲欧美日韩综合二区三区| 91啦中文字幕| 亚洲一区二区在线无码 | 亚洲全网成人资源在线观看| 久久久四虎成人永久免费网站| 99久视频| 91午夜福利在线观看精品| 日韩AV无码免费一二三区| 欧美天堂久久| 性欧美在线| 欧洲成人在线观看| 国产在线观看第二页| 亚洲av成人无码网站在线观看| 人妻无码AⅤ中文字| 久久这里只有精品66| 伊人91视频| 国产成人一区免费观看| 国产一区二区色淫影院| 中文字幕乱码二三区免费| 日韩人妻少妇一区二区| 999国内精品视频免费| 99视频在线免费| 亚洲最大看欧美片网站地址| 欧美亚洲国产日韩电影在线| 国产日韩欧美精品区性色| 国产成人91精品免费网址在线| 久久美女精品国产精品亚洲| 亚洲中文制服丝袜欧美精品| 成年A级毛片| 久久综合九九亚洲一区| 精品国产成人a在线观看| 欧美精品二区| 波多野结衣中文字幕久久| 亚洲床戏一区| 免费网站成人亚洲| 香蕉在线视频网站| 亚洲欧洲自拍拍偷午夜色| 国产精品久久久久久久久| 国产福利2021最新在线观看| 成人福利在线看| 欧美a在线| 国产欧美日韩资源在线观看| 97se综合| 欧美日韩免费在线视频| 国产网友愉拍精品| 亚洲无码高清一区| 亚洲AV色香蕉一区二区| 亚洲中文字幕久久无码精品A| 99热免费在线| 国产成人AV男人的天堂| 欧美综合一区二区三区| 欧美日一级片| 女人18毛片一级毛片在线 | 欧美一区国产| 午夜日本永久乱码免费播放片| 国产无码在线调教| 亚洲天堂视频在线播放| 日韩天堂网| 亚洲天堂网在线观看视频| 国产精品主播| 日韩中文字幕亚洲无线码| 国产精品福利导航| 日韩精品成人在线| 先锋资源久久| 婷五月综合| 国产白浆一区二区三区视频在线| 欧美成人怡春院在线激情| 在线欧美一区| 久久情精品国产品免费| 日韩免费中文字幕| 国产精品区视频中文字幕 | 国产丝袜91| 亚洲第一成年人网站| 91麻豆国产在线| 久久夜色精品| 99九九成人免费视频精品| 午夜不卡视频| 99色亚洲国产精品11p| 亚洲成人在线免费观看| 国产午夜人做人免费视频中文| 久久国产精品77777| 五月天在线网站|