x210-2023-04-12
1、编译提示警告说36行的 | 附近有问题,按提示应该系统怕表达式优先级有问题提示要加括号,但是 | 左右的表达式都已经有括号括起了,也就是()|(),于是只能将整个表达式都括起来试试,也就是(()|()),再次编译警告依旧存在,于是只能靠猜测和尝试了,比较大嫌疑的就是位操作里的0xff<<8缺少括号,而且刚好在 | 两边都有,为了验证,特地做了两次对比试验,两个0xff<<8都用小括号括起来之后如果编译通过说明应该是这里的问题,然后第二次试验时再随机选其中一个的小括号去掉按说警告会再次出现,这样就能完全确定是这里的问题,经过测试发现确实是要都加括号,这也说明在位操作0xf以上时最好添加小括号。
2、在《第八天 01 Linux驱动之看门狗》中所使用的手册是针对s5p6818的,根据视频讲述来看WTCON的[2]和[0]功能是需要互换的,但是经过测试,在s5pv210上还是依照手册来的(也就是s5pv210的WTCON的[2]和[0]功能没有互换),具体可以通过打印WTCON寄存器值即可知道,在s5pv210下,写入完其它位数据但不对WTCON[0]做任何操作,读取到的默认值为0(此时整个WTCON寄存器值为0xff3c,但此时s5pv210并没有重启,为了验证,特地将WTCON[0]写入1,再次测试WTCON寄存器值变为0xff3d,这时s5pv210会重启了)。
3、在测试驱动模块的原子操作时,需要模拟出多个进程访问的情形,但是用于测试的应用程序只有一个,这时可以在执行该应用程序后加&,使得该应用程序可以一直在后台运行(除了之前kill -9 PID还可以用killall+app结束该app的后台运行),然后再执行一遍应用程序就相当于模拟出第二进程访问的情形,另外一点是,在应用程序打开成功以后直接按回车可以回到命令行,接着继续输入命令。