12.10~14
周一
typedef struct scull_dev{
struct scull_qset *data;
int quantum;
int qset;
unsigned long size;
unsigned int access_key;
struct semaphore sem;
struct cdev cdev;
struct scull_dev* next;
}scull_dev;
这样写,scull_dev是一个类型,类似int。于是可以这样声明scull_dev *a;
若不写typedef,则scull_dev是一个结构体。声明结构体变量必须是struct scull_dev xxx;而下面的声明会出错:
scull_dev a;
scull_dev *dev;
处理insmod报错:
insmod: error inserting 'scull.ko': -1 Unknown symbol in module
insmod出错后,输入dmesg|tail查看哪里出错
周二:
永久地、部分地、修改linux环境变量PATH方法:
[root@..]# gedit /etc/profile
在文档最后,添加:
export PATH="/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH"
保存,退出,然后运行:
[root@..]# source /etc/profile
周三
在玩7003M-eng工程之前的环境变量:
PATH=/opt/qcom/jdk6/jdk1.6.0_24/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
M7001工程要在这个环境变量下内核才能编译成功
周四
一个编译器中的多个bin添加到PATH中的问题:只需添加最顶层的bin
#gnutools for uboot compiled
export PATH="/opt/gnutools/arc2.3-p2/uclibc-4.2.1/bin:/opt/gnutools/arc2.3-p2/elf32-4.2.1/bin:$PATH"
#gnueabi for kernel compiled
export PATH="/opt/arm-2010q1-202-arm-none-linux-gnueabi-i686-pc-linux-gnu/arm-2010q1/bin:$PATH"
#eabi for uboot compiled
export PATH="/opt/arm-2010q1-188-arm-none-eabi-i686-pc-linux-gnu/arm-2010q1/bin:$PATH"
#original PATH
#export PATH=/opt/qcom/jdk6/jdk1.6.0_24/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
./build/envsetup.sh 相当于 source build/envsetup.sh
有时./build/envsetup.sh 会失败,只能用后者。
配置里的gsensor_twi_addr是I2C设备地址,gsensor_twi_id 这个是使用哪组I2C
周五
set_GC0308_param_wb中的wb貌似是white balance缩写