内核相关
沸腾的泪水05314
这个作者很懒,什么都没留下…
展开
-
U-boot移植
前话:U-Boot移植,并不是说要我们从零开始写U-Boot,而是在原有的U-Boot中找与我们开发板最相近的,然后做修改即可。故开始移植之前,我们首先要分析U-Boot已经支持的开发板。选择的原则是,首先选择MCU相同的开发板,如果没有,则选择MPU相同的开发板。一:在顶层Makefile中为开发板添加新的配置选项,使用已有的配置项目为例 smdk2原创 2011-12-08 21:10:58 · 460 阅读 · 0 评论 -
常用UBoot命令[转]
转自:http://blog.csdn.net/zhandoushi1982/archive/2009/10/15/4677728.aspxdnw:在进入系统之前进入指令行,输入该指令可下载烧录文件。re:重新启动嵌入式系统。printenv:打印当前系统环境变量。setenv:设置环境变量,格式:setenv name value ...,表示将name 变量设置转载 2011-12-25 11:32:50 · 1284 阅读 · 0 评论 -
我所知道的U-BOOT
(自)1.我们把uboot下载到flash的0地址后,系统上电运行uboot,让它实现自动下载内核还要依赖于bootcmd命令,例:2.关于U-BOOT启动的几个重要文件a. board/smdk2410/u-boot.lds (此链接文件中有一个cpu/arm920t/start.o 故我们猜想它应该对 应原创 2011-12-16 00:03:57 · 547 阅读 · 0 评论 -
SDRAM内存驱动 的学习
论坛里这样说的:片内RAM不需要驱动,直接上电可以执行代码!当代码要拷贝到片外SDRAM的时候,就要先初始化CPU内部的SDRAM控制器(也就是RAM驱动),由于片外的SDRAM可以兼容普通的SDRAM和高速DDR内存,每种型号的RAM延时,等待等周期各不同,为了匹配外部RAM时序获得更高性能,当然要初始化RAM控制器,也就是RAM驱动!SDRAM(Synchronous Dyna转载 2011-12-23 13:41:06 · 4686 阅读 · 0 评论 -
写驱动时的条件编译方法
原创 2011-12-22 19:51:22 · 543 阅读 · 0 评论 -
零零散散
1.在申请cdev,初始化cdev时,因为cdev_init这个初始化函数中已关联了cdev与hello_fops,故下边的那个注释部分可以不要。2.在写驱动时,往往会写个应用程序来测试它,这时别忘了运行应用程序时前面加sudo ,例 sudo ./test (不加的话它总显示你打开设备失败,这时你还会以为是自己写的程序有问题呢) 自:因为你在应用程序里打开的设备原创 2011-12-22 11:12:01 · 471 阅读 · 0 评论 -
让程序开机自动运行的方法
我们在做嵌入式开发时,也许有些程序想让它开机后就自动运行,这里介绍个简便方法(通过写shell脚本来实现):1. vi /etc/init.d/rcS (貌似开机后主程序找的便是这个文件的内容,故我们在这文件里加入我们写的SHELL脚本的地址即可,然后开机后它就自动找bin目录下的myshell.sh了) /bin/myshell.sh2.vi /b原创 2011-12-23 11:01:16 · 1406 阅读 · 0 评论 -
内核相关
自:驱动中似乎不能用sleep函数来实现延时,但可以用usleep或用for(i = 0 ; i 或int n = 50000,while(i--);来实现(60000只不过是举个例子,可改成其它数字)原创 2011-12-22 09:10:34 · 423 阅读 · 0 评论 -
内核驱动程序中实现设备节点的自动创建
实现设备节点的创建共有两种方法,一种是驱动程序写完后在命令行下使用 mknod创建 例如 mknod /dev/led c 250 0 另一种比较简单的方法是可以在驱动程序里实现自动创建,只须调用两个函数 class_create和device_create 即可原创 2011-12-21 11:29:12 · 579 阅读 · 0 评论 -
流水灯
1.技巧:在调试内核驱动时,会经常用 insmod 来加载模块,但加载成功后,会发现 rmmod 删除不了(此时我们往往想到的办法是重启板子,然后insmod),此时我们可在板子的系统里建一个目录 mkdir lib/modules/2.6.35 (在板子上运行此命令,2.6.35是你板子上的系统内核,根据需要修改) 即可.此时再试试,rmmod就可以成功了,就不再需要重启板子了。2.在原创 2011-12-21 18:52:26 · 507 阅读 · 0 评论