|
环境:ARM7(S3C44B0X)+uclinux
- struct unit{
- struct semaphore lock;
- u32* PCONB;
- u32* PDATB;
- u32* PCONF;
- u32* PDATF;
- u32 b;
- u32 f;
- };
- static struct unit led_unit = {
- .PCONB = (u32 *)S3C44B0_PCONB,
- .PDATB = (u32 *)S3C44B0_PDATB,
- .PCONB = (u32 *)S3C44B0_PCONF,
- .PDATF = (u32 *)S3C44B0_PDATF,
- .PUPF = (u32 *)S3C44B0_PUPF,
- };
复制代码
1.S3C44B0_PCONB,S3C44B0_PDATB,S3C44B0_PCONF,S3C44B0_PDATF,S3C44B0_PUPF 这些寄存器是在哪定义的?怎么知道这些寄存器是控制哪个I/O口的?
2.书上说unit.b用来保存PDATB.4和PDATB.5的值,unit.f用来保存PDATB.3和PDATB.4的值,而且它们的某一个比特位就是LED灯的开关,但是从哪里能知道到底是哪一位呢?还有怎么知道这些寄存器是控制LED灯的呢?
2.我的开发板只有3个LED灯,上面例子是控制4个,我怎么找到控制我开发板上LED的寄存器?
3.每次写好一个驱动都要重新编译一次uclinux,测试效率很低,有什么快捷的方法?
4.我是新手,大家能否介绍点资料,手头没有资料是在很难前进......(现在这本讲得很草率,勉强用了,因为只能找到这本)
|
|