zynq freeRTOS初始化中斷導致freertos掛掉

問題描述: zynq7000 上 PS standalone裸跑,PS timer計時器中斷,PL-->PS中斷均工作正常,將代碼移植到freertos工程時,中斷不執行,task運行正常。

解決: Xilinx FreeRTOS (9.0.1) BSP, 中有一個文件: portZynq7000.c. 定義了一個全局的中斷控制器 interrupt controller:XScuGic xInterruptController。而PS只有一箇中斷控制器資源。在移植的代碼中也定義了一箇中斷控制器。

所以辦法是在自己的中斷代碼中 用extern XScuGic xInterruptController聲明這個全局變量。

之後再按xilinx的方法進行config與connect即可。

就可以中斷中釋放信號量去觸發task任務了,大功告成!

 

extern XScuGic xInterruptController;
static XScuGic *Intc = &xInterruptController; /* The Instance of the Interrupt Controller Driver */

 

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