最近在调试国芯公司GX1001P的驱动程序,需要在FUJITSU平台上面移植驱动;上周也维护了一下NUMONYX和SST公司64M flash的驱动,有一些简单的问题,却需要提起重视的地方:
1.注意处理器大小端问题--ARM是大端,即高位数据在高字节,MIPS是小端,因此在不同平台移植驱动时须注意;
2.函数返回值问题--今天调试demod调用的I2C读写函数,由于I2C函数是同事给我的,返回值是成功0失败1,而demod参考驱动中是成功1失败-1,而且在很多地方只是判断非-1即为成功,导致我误以为软件调试成功;
3.在原厂的驱动程序中,尤其是NXP或FUJITSU的平台中,他们为了驱动的移植性和方便维护,使用了Handle指针用以调用硬件资源和保护资源,但是在做loader时这些会成为障碍,需要剔除;
虽然我一写驱动就头痛,而且我的C语言向来不咋地,但是在真正做驱动时还是应该秉承一贯的认真原则,不能将就的。
用户541503 2010-5-14 18:13