嵌入式驱动调试几大难题
1. 开发工具。常见的嵌入式开发工具基本上都比较蛋疼,一方面没有好的编辑器,另一方面,编译出来的代码经常出各种问题。 同样的code,一分钟之前编译是好,而下一分钟就编译不了了。相比之下,Microsoft的开发tool还是相当不错的。
2. 调试工具。驱动级别的调试不同于应用,大多数主要还是通过printf打印跟踪调试。如果想拥有好的调试工具,那好付钱啦。
3. 问题定位。由于驱动是介于硬件与软件之间。所以出了问题不太好定位。你的硬件可能会出错,你的软件也可能写得有问题。咋办? 凉办! 硬件上使用示波器,万用表等设备来分析信号。对于高速信号的分析,可得花大价钱才行,准备一台买奥迪车的钱来买这种高端设备吧。软件上,慢慢用来调试工具调吧。
4. 参考资料。驱动这玩意,有些时候参考资料很少的。你只有CPU Data Sheet 和 IC Data Sheet. 如果熟悉这些资料,OK,那没有多大的问题。但是不熟悉的时候,就惨了。要在数百页中找到你想到的东西,那你就得慢慢看吧。更可恶的是,你会经常发现资料他娘写得就是错的。BT吧
5. 代码阅读。我想没有几个程序员喜欢阅读大量别人的code吧。对不起,驱动开发却刚好要求你读别人的代码。一行一行地读吧。没有什么好办法的。
6. 工作量。驱动工程师的工作量大不?恐怕比较难衡量。如果你对某个知识点比较熟悉,几分钟就搞完了,如果不熟悉,请准备几天的时间去研究吧。另外,是不能是代码量来衡量工作量的。因为驱动工程师,一个月能写100行代码就很了不起了。