Chinaunix首页 | 论坛 | 博客
  • 博客访问: 620292
  • 博文数量: 168
  • 博客积分: 1053
  • 博客等级: 少尉
  • 技术积分: 1187
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-30 17:20
个人简介

公众号【嵌入式er笔记】持续记录和分享C/C++、Linux、ARM、Android、IoT等技术相关知识,以及职场、生活经验和感悟。

文章分类

全部博文(168)

发布时间:2013-03-21 19:29:37

第一章 Bios启动电源--Initial北桥--将程序装入内存--读南桥COMS data--建立SMBIOS--POST 北桥控制CPU、内存 南桥控制所有外设 BIOS(Basic Input Output System)的主要作用: 自动检测并进行初始化;  记录系统设置值(如onboard显卡内存大小); 中断处理; 加载操作.........【阅读全文】

阅读(1400) | 评论(0) | 转发(0)

发布时间:2013-03-14 13:54:30

......【阅读全文】

阅读(6937) | 评论(0) | 转发(0)

发布时间:2013-03-12 17:57:13

AM335x bootloader 分3部分:1st stage:RBL (ROM)2st stage:SPL (内部RAM:0x402f0400)3st stage:U-Boot (一般外部DDR)注:SPL的代码包含在U-Boot中,在编译U-Boot时会自动编译。 AM335x内部RAM大小为128KB(0x402f0000 - 0x4030ffff),其中底部8KB(0x4030e000 - 0x4030ffff)来作载入ROM code(RBL).........【阅读全文】

阅读(2391) | 评论(0) | 转发(0)

发布时间:2013-03-12 17:56:49

AM335x SPL......【阅读全文】

阅读(4134) | 评论(0) | 转发(0)

发布时间:2013-03-12 17:56:33

由Makefile可知,SPL的入口在u-boot-2011.09-psp04.06.00.08\arch\arm\cpu\armv7\start.S中 SPL的功能无非是设置MPU的Clock、PLL,Power,DDR,Uart,Pin Mux,完成对U-Boot的引导的工作,所以SPL board port主要针对以上几点。 在start.S中: cpu_init_crit board_init_f board_init_r cpu_init_crit #ifndef CONFIG_SKIP_LOWLEVEL_INIT     bl&nbs......【阅读全文】

阅读(3978) | 评论(0) | 转发(0)

发布时间:2013-03-12 17:56:23

参考http://blog.mcuol.com/User/nidetech/Article/79007_1.htm   SPL代码分析: 分析SPL代码,首先要看一下SPL目录下的Makefile文件,在Makefile中: CONFIG_SPL_BUILD := y export CONFIG_SPL_BUILD 这个宏定义用于打开U-boot代码里有关SPL部分的分支. 另外,Makefile还交代了SPL涉及到的相关代码文件: 主要有 u-boot-2011.09-psp04.06.00.08\arch\arm\cpu\armv7   &nb......【阅读全文】

阅读(5658) | 评论(0) | 转发(0)

发布时间:2013-03-12 17:56:17

AM335x bootloader : 1st stage:RBL (ROM) 2st stage:SPL (内部RAM:0x402f0400) 3st stage:U-Boot (一般外部DDR) SPL是bootloader的第二部分,由RBL引导运行,主要目的就是引导U-Boot运行。 SPL也叫MLO,一般存放在SD或者Nand中。其中,在Nand中要求存放在从第一个block开始的4个block中,因为RBL会从第一个block开始查找SPL,如果第一个失败后,会从第二个block开始继续查找,直到第四个block查找完毕,因此,SPL必须放在Nand从第一个block......【阅读全文】

阅读(4531) | 评论(0) | 转发(0)

发布时间:2013-03-12 17:53:14

......【阅读全文】

阅读(1105) | 评论(0) | 转发(0)

发布时间:2013-03-11 18:11:40

......【阅读全文】

阅读(874) | 评论(0) | 转发(0)

发布时间:2013-03-11 15:21:57

......【阅读全文】

阅读(965) | 评论(0) | 转发(0)

发布时间:2013-03-06 15:41:42

......【阅读全文】

阅读(785) | 评论(0) | 转发(0)

发布时间:2013-03-01 21:23:23

......【阅读全文】

阅读(1033) | 评论(0) | 转发(0)

发布时间:2013-01-24 16:41:58

......【阅读全文】

阅读(1441) | 评论(0) | 转发(0)

发布时间:2013-01-24 16:37:26

......【阅读全文】

阅读(1499) | 评论(0) | 转发(0)
Bug

发布时间:2013-01-23 14:52:53

After some hunting around I found the following allowed me to compile kernel module under Natty.$ cd /lib/modules/$(uname -r)/build/include$ sudo ln -s $(gcc -print-file-name=include)/stdarg.hThis links stdarg.h to where the kernel makefiles will find it when it’s #included from the vari.........【阅读全文】

阅读(1182) | 评论(0) | 转发(0)

发布时间:2013-01-18 18:48:39

......【阅读全文】

阅读(12332) | 评论(0) | 转发(0)

发布时间:2013-01-18 17:45:49

......【阅读全文】

阅读(1529) | 评论(0) | 转发(0)

发布时间:2013-01-18 16:23:18

 Linux更改网卡物理地址(Mac Address)有些地方是把网络地址和网卡物理地址绑定的,当换了网卡或其它电脑时可能会上不了网,下面介绍更改物理地址(MAC Address)的方法。分为临时更改和长期更改两种情况,两种方法均不实际改变网卡的真实属性。临时更改所谓临时更改,是指在重新启动系统後就失效的短期更改.........【阅读全文】

阅读(944) | 评论(0) | 转发(0)

发布时间:2013-01-15 11:39:19

......【阅读全文】

阅读(856) | 评论(0) | 转发(0)

发布时间:2013-01-14 10:33:24

Class_device接口struct class_device {struct kobject kobj;struct class *class;struct device *dev;void *class_data;char class_id[BUS_ID_SIZE]; };class_id 成员持有设备名子, 如同它在 sysfs 中的一样. class 指针应当指向持有这个设备的类, 并且 dev......【阅读全文】

阅读(2371) | 评论(0) | 转发(0)

发布时间:2013-01-14 10:25:33

------------------------------------------ 本文系本站原创,欢迎转载! 转载请注明出处:amingriyue.blog.chinaunix.net ------------------------------------------/** * device_register - register a device with the system. * @dev: pointer to the device structure * * This happens in two clean steps - in......【阅读全文】

阅读(698) | 评论(0) | 转发(0)

发布时间:2013-01-14 10:25:33

------------------------------------------ 本文系本站原创,欢迎转载! 转载请注明出处:amingriyue.blog.chinaunix.net ------------------------------------------/** * device_register - register a device with the system. * @dev: pointer to the device structure * * This happens in two clean steps - in......【阅读全文】

阅读(1904) | 评论(0) | 转发(0)

发布时间:2013-01-11 14:58:16

    在驱动用加入对udev的支持主要做的就是:在驱动初始化的代码里调用class_create(...)为该设备创建一个class,再为每个设备调用device_create(...)( 在2.6较早的内核中用class_device_create)创建对应的设备。    内核中定义的struct class结构体,顾名思义,一个struct class结构体类型变量对应一个类,内核同时提供了class_create(…)函数,可以用它来创建一个类,这个类存放于sysfs下面,一旦创建好了这个类,再调用 device_create(…)函数来在/de......【阅读全文】

阅读(753) | 评论(0) | 转发(0)

发布时间:2013-01-09 19:05:38

config MACH_SMDK6410您没有插入代码!针对ARM和其他平台,在做Linux内核的移植时,总是要和Kconfig和Makefile打交道。以前我不太明白他们的作用,只是知道用make menuconfig、make、make install等命令。现在通过几次的实践,慢慢的明白Kconfig的作用了。在Linux源代码的/arch子目录里有Kconfig,然后在对应的arm里也有Kconfig。其实可以把Kconfig看成是让你配置菜单样式的一个文件。当你不是用一些通用的开发板时,比如我手头的LDD6410。几个重要的文件是这样的。arch/arm/mach-s3c6410/K......【阅读全文】

阅读(7788) | 评论(0) | 转发(0)

发布时间:2013-01-07 14:29:12

第一章 Kernel 2.4存在的不足根据对2.4进程调度的分析,我们总结出看出2.4内核总的特点就是:内核调度简单有效内核不可抢占但是经过对2.4内核的分析,我们也明显看到了它的缺点:1.调度算法复杂度是O(n),与系统负荷关系较大。而且调度算法在设计上也有缺陷,比如:(1) 2.4进程调度只设置了一个进程就绪队列,这样有的进程用完了自己时间片以后还要呆在就绪进程队列里面。这样这个进程虽然在这一轮调度循环里面已经无法取得CPU的使用权,但是还要参与goodness()值的计算,这样就白白浪费了时间。(2) 就绪进程队列是一个全局数据结构,多个CPU只有一个就绪队列runqueue,因而调度器......【阅读全文】

阅读(733) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册