【SDK驅動開發1】中斷的使用(以一個dma爲例)



sdk中hw和bsp建立好後,以一個跑freertos的hello world模塊開始開發,以下按照截止到20170922的經驗來記錄。


1.首先要安排好目錄結構

初步想的話,本次代碼大致可分爲:1)一些ps側低速接口(i2c,uart,sd)的驅動;2)交互界面的驅動;3)dma的驅動;

所以app/src下,建了三個目錄,分別是drivers(用於放ps側低速接口的驅動),console(用於放交互界面驅動),fpga(用於放pl側dma的驅動,以及其他pl側模塊的驅動)。


2. drivers目錄

如果默認用ps側uart0,那麼這一步可以忽略。


3.console目錄

後面會單獨寫一個章節介紹交互界面的代碼。


3.src目錄

將ps側irq的一些函數(例如scugic的初始化和配置,irq的connect函數(通用函數,其他中斷都可以通過此函數連接至scugic),irq的配置函數(觸發方式),irq的使能等)放在這個目錄(可能還需要調整位置,暫時先放這裏),文件名爲ps_irq.c和ps_irq.h。

ps_irq.c中主要定義瞭如下幾個函數:

    1)int32_t ps_irq_init_gic(),主要用於scugic的初始化,大致結構如下

    2)int32_t ps_irq_connect_irq(uint32_t Int_Id, xil_InterruptHandler Handler, void *CallBackRef)


。。。後續補充吧。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章