开发应用驱动的过程中,我们通常会遇到自己需要的管脚被占用的情况。例如使用,PA9,PA10但是怎么给它一个拉高的信号都不能产生反射。这种情况怎样排查?
我的一点建议:
首先,查看硬件问题。
在这里我走了一些弯路,起初我在查找的时候发现我们的开发板AT91中需要的两个管脚在U-BOOT启动时被两个串口所占用:
这是我在U-BOOT的查找,两个管脚被串口占用,但是U-BOOT一旦启动后,将释放所占用的所有资源将自己的操作交给操作系统,这下我们怎么能证明自己的管脚一定是被串口占用呢?在内核中去查找资源?这无异于大海捞针。
所以我决定先用一个程序来驱动一下这个PA9看看能否使用,拉高拉低有没有反馈。具体的方法: