发布时间:2013-01-09 12:20:17
NandFlash系列之二:S3C2410读写Nand Flash分析 作者:刘洪涛,华清远见嵌入式学院高级讲师。 一、结构分析 S3C2410处理器集成了8位NandFlash控制器。目前市场上常见的8位NandFlash有三星公司的k9f1208、k9f1g08、k9f2g08等。k9f1208、k9f1g08、k9f2g08的数据页大小分别为512Byte、2kByte、2kByte。它们在寻址方式上有一定差异,所以程序代码并不通用。本文以S3C2410处理器和k9f1208系统为例,讲述NandFlash的读写方法。 NandFlash的数据是以bit 的方式保存在me......【阅读全文】
发布时间:2013-01-09 12:20:13
作者:刘洪涛,华清远见嵌入式学院高级讲师,ARM公司授权ATC讲师。 在上篇《利用udev、sys动态创建设备结点》的记录中,设备驱动中主要依靠下面两个功能完成的: 1、在/sys/class下创建farsight_class类 my_class =class_create(THIS_MODULE, "farsight_class"); 2、在farsight_class中创建新的class设备 class_device_create(my_class,NULL, devno, NULL,"farsight_dev"); 然后会在/sys中出现如图的文件结构: 其中......【阅读全文】
发布时间:2013-01-09 12:20:09
作者:冯利美,华清远见嵌入式学院讲师。 当一个任务(进程)执行系统调用而陷入内核代码中执行时,我们就称进程处于内核运行态(内核态)。在内核态下,CPU可执行任何指令。当进程在执行用户自己的代码时,则称其处于用户运行态(用户态)。用户态不能访问内核空间,包括代码和数据。 进程处于用户态时能访问的是用户空间,处于内核态时能访问的称为内核空间。 CPU执行程序所访问的地址都是虚拟地址,MMU 必须通过读取控制寄存器CR3中的值作为当前页面目录的指针,进而根据分页内存映射机制(参看相关文档)将该虚拟地址转换为真正的物理地址才能让CPU真正的访问到物理地址。 进程有4G的寻址空间,其中第一......【阅读全文】
发布时间:2013-01-09 12:20:04
作者:李智敏,华清远见嵌入式学院讲师。 LinuxThreads是目前Linux平台上使用最为广泛的线程库,并已绑定在GLIBC中发行。它所实现的就是基于核心轻量级进程的"一对一"线程模型,一个线程实体对应一个核心轻量级进程,而线程之间的管理在核外函数库中实现。 LinuxThreads遵循POSIX1003.1c标准,其中对线程库的实现进行了一些范围限制,比如进程最大线程数,线程私有数据区大小等等。在LinuxThreads的实现中,基本遵循这些限制,但也进行了一定的改动,改动的趋势是放松或者说扩大这些限制,使编程更加方便。这些限定宏主要集中在sysdeps/unix/sysv/li......【阅读全文】
发布时间:2013-01-09 12:19:58
作者:刘洪涛,华清远见嵌入式学院高级讲师。 随着linux系统及基于linux系统的嵌入式产品的蓬勃发展,Qt、Qt/Embedded、Qtopia的字样越来频繁的出现在我们面前。在华清远见的嵌入式培训课程中,Qt是嵌入式学院<嵌入式工程师职业培训班>二期课程中嵌入式linux应用开发方面的重要内容。不少学员对QT方面的内容比较关注,所以在这里我们先对QT做一下简单介绍。 QT Qt是一个多平台的C++图形用户界面应用程序框架,由挪威 TrollTech 公司出品。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的很容易扩展,并且允许真正地......【阅读全文】