Ⅰ arm 定义寄存器 地址 头文件 S3C2440 C语言
1,volatile 指示编译器不要优化编译。 平时,编译器把变量从内存 ldr 到寄存器,之后再对这个变量操作就直接对寄存器操作, 而加上volatile 后, 每次操作都需要再把变量重读一次,这是因为虽然我们的程序没有修改GPBCON 的值,但是这个值可能因硬件原因已经变化了,所以每次操作前,都要重读一次哇。
2,
(*(volatile unsigned long *)0x56000010)根据运算顺序,先是强制类型转化:
a, (volatile unsigned long *)0x56000010 就是把 0x56000010 转化为一个无符号long型的指针
我们可以把它看作一个指针p。
b, *p 就是访问指针的内容了。
Ⅱ 我在ubuntu9。04下,用arm-linux-gcc 交叉编译了一个led驱动程序。引用的内核源码放在/usr/src/linux2.6
如果你要编译一个 驱动 首先你那个 linux内核事编译好的。makefile 里面耀指向你的linux内核目录
你在试试
Ⅲ 基于S3C2440的ucgui图形界面开发
uC/GUI移植主要集中在修改源码下的三个头文件GUICon,GUITouchConf.h(不用到触摸屏可以忽略),LCDConf.h和两个C文件GUI_X.c、LCDWin.c。。。
这个网上移植的教程很多,随便搜一下吧,不是很难。移植完之后可以有一个Demo程序直接运行,挺炫的。
还有不建议裸机,最起码上个uC/OS吧,uC/GUI和uc/OSii一齐搭配才最经典。
Ⅳ 嵌入式linux问题
s3c2410.h是三星2410使用的。你的cpu是什么?应该用你的cpu的型号的目录下面的。
你到kernel的源代码arch目录下,根据你的cpu架构和厂商及cpu型号来找。