内核空间与用户空间可以有同名的函数吗?
笔者最近在调试一款加密芯片DS28E01时,发现在内核中的加密芯片驱动里有一个READROMID的函数,此函数是用于读取芯片内部的ROM ID,为了验证调试的方便,故将此函数接口留在内核的驱动模块中,但是在应用的加密芯片代码里,也是要读ROM ID,并且读取的接口函数一模一样,参数都一样,这造成在机器启动时验证软件有效性时不成功。发现在读ROM ID时,首先执行了内核的那个函数接口内容,接着又执行了应用层的接口。这种问题很难发现,幸好函数内部都有打印,且不同,所以还可以通过串口的打印来查找问题。