2010-03-01 60 views
3

我正在爲AVR芯片編寫C代碼。代碼在串行端口,ADC和定時器上等待的中斷服務例程很繁重。 ISR寫入緩衝區,當主環路到達它們時,它會檢查緩衝區。中斷密碼的單元測試

我設計了緩衝區,以便在主循環正在讀取它們時,ISR可以更新它們。我想驗證這是否有效。我有單元測試來驗證基本操作,但是我不清楚如何測試在主循環讀取緩衝區時中斷觸發時會發生什麼。

我的單元測試真的很基礎 - 一些代碼在main() finction。我在我的Linux機器上運行測試。

回答

3

線程?

啓動一個高優先級的線程,以某種類似於真實情況的速度調用您的ISR。 然後在你的主體中,一次又一次地循環讀取緩衝區。驗證緩衝區讀取未損壞。

(也許這更是一個集成測試比純單元測試的。)

+0

我希望它可以使用線程來模擬中斷時間是大量的工作。我想知道這種類型的測試是否足夠普遍,以至於存在實現它的包。 – iter