2010-03-01 57 views
3

我正在为AVR芯片编写C代码。代码在串行端口,ADC和定时器上等待的中断服务例程很繁重。 ISR写入缓冲区,当主环路到达它们时,它会检查缓冲区。中断密码的单元测试

我设计了缓冲区,以便在主循环正在读取它们时,ISR可以更新它们。我想验证这是否有效。我有单元测试来验证基本操作,但是我不清楚如何测试在主循环读取缓冲区时中断触发时会发生什么。

我的单元测试真的很基础 - 一些代码在main() finction。我在我的Linux机器上运行测试。

回答

3

线程?

启动一个高优先级的线程,以某种类似于真实情况的速度调用您的ISR。 然后在你的主体中,一次又一次地循环读取缓冲区。验证缓冲区读取未损坏。

(也许这更是一个集成测试比纯单元测试的。)

+0

我希望它可以使用线程来模拟中断时间是大量的工作。我想知道这种类型的测试是否足够普遍,以至于存在实现它的包。 – iter