昨天初中同学聚会 第一次用社会化的眼光重新审视老同学们,感觉差距挺大 得抓紧时间了 哈哈
言归正传,前几天一直在把写好的程序细化 今天第一次拿到板子上编译。编译器还是一贯的坚持他自己的思路 还是只能我改呗 - -,这也证明我编程思路不熟练吧。
总结下下午改正的问题:
一是:设备名称对应
- linux-2.6.32.2/drivers/char/Kconfig
- linux-2.6.32.2/make menuconfig
- linux-2.6.32.2/drivers/char/Makefile
中的设备名和模块名都要一一对应,make modules时才会通过,不然就会:
- scripts/Makefile.build:234: target `drivers/char/Tao' doesn't match the target pattern
二是:移植性
标题有点儿大,具体说就是今天想用__REG函数 在头文件里定义串口地址,不过arm-linux-gcc 4.4.3死活不认,最后还是我改回原来的定义方法了
- #define UART_UTRSTAT0 (*(volatile unsigned long *)(0x50000000 + 0x10))
- //#define UART_UTRSTAT0 __REG(0x50000000 + 0x10)
三是:头文件居然也分层次
今天最诧异的一件事, 这个头文件 在驱动层不能使用,可是应用层却能用。这个还得查查 不知道是不是确有此事 还是我使用不当,一会儿去查查
- error:stdio.h:No such file or directory
- error: 'FILE' undeclared (first use in this function)
-
error: implicit declaration of function 'fopen'
-
error: implicit declaration of function 'fwrite'
先去放炮 一会儿回来再弄,今天正月十五 哈哈
阅读(2491) | 评论(0) | 转发(0) |