嵌入式&&linux
li4850729
这个作者很懒,什么都没留下…
展开
-
有关于__align(n)
【转】:http://www.cnblogs.com/ye-moooooo/p/4601189.html__align__align 关键字指示编译器在 n 字节边界上对齐变量。__align 是一个存储类修饰符。它不影响函数的类型。语法__align(n)其中:n是对齐边界。对于局部变量,n 值可为转载 2015-12-08 22:03:58 · 3041 阅读 · 0 评论 -
工作队列 工作线程 工作(work_struct)
工作队列(work queue)是Linux kernel中将工作推后执行的一种机制。这种机制和BH或Tasklets不同之处在于工作队列是把推后的工作交由一个内核线程去执行,因此工作队列的优势就在于它允许重新调度甚至睡眠。工作队列是2.6内核开始引入的机制,在2.6.20之后,工作队列的数据结构发生了一些变化,因此本文分成两个部分对2.6.20之前和之后的版本分别做介绍。转载 2014-06-02 21:16:50 · 1523 阅读 · 0 评论 -
【转】中断服务下半部之工作队列详解
【转】http://www.cnblogs.com/armlinux/archive/2010/11/19/2396892.html摘要】本文详解了中断服务下半部之工作队列实现机制。介绍了工作队列的特点、其与tasklet和softirq的区别以及其使用场合。接着分析了工作队列的三种数据结构的组织形式,在此基础之上分析了工作队列执行流程。最后介绍了工作队列相关的API,如何编写自己转载 2014-06-02 21:23:20 · 643 阅读 · 0 评论 -
国嵌深入班-块设备驱动程序设计
1123原创 2014-05-29 11:29:34 · 1026 阅读 · 1 评论 -
国嵌深入班-块设备简介
mapping主要是磁盘文件系统,把对文件的访问映射成磁盘的硬件访问原创 2014-05-29 15:26:19 · 747 阅读 · 0 评论 -
国嵌内核驱动深入班——Input子系统
内核实现好了input core和handler,开发者仅仅需要完成Drivers的编写原创 2014-06-05 15:35:17 · 1166 阅读 · 0 评论 -
【转】进程调度函数schedule()分析
【转】:http://liu1227787871.blog.163.com/blog/static/20536319720128262124475/1、功能简述:最主要作用就是从就绪进程中选择一个优先级最高的进程来代替当前进程运行。2、代码分析schedule(); struct task_struct *tsk = current; //curren转载 2014-06-02 21:32:48 · 1440 阅读 · 0 评论 -
系统处理 IRQ_EINT0 IRQ_EINT11 的过程
【转载】:http://blog.chinaunix.net/uid-20902140-id-1831989.html/主要分析系统处理 IRQ_EINT0 IRQ_EINT11 的过程。2440处理器的中断组织成两层:主中断 和 次中断,一共可以处理60个中断源。主中断 和 次中断 经过中断构架的抽象之后,编写驱动程序时,我们不用考虑这两层中断,直接使用reque转载 2014-04-24 15:35:43 · 1191 阅读 · 0 评论 -
设备模型
sysfs是和proc同类别的文件系统,把连接在系统上的设备和总线组织成分级的文件,使得用户空间可以访问kset是相同类型的kobject的集合Kobj创建时会在/sysfs/下创建一个目录但是该目录下只能是文件,如果想包含子目录则用ksetLinux中,当系统配置发生变化时,如:添加kset到系统,移动kobject,一个通知会从内核空间发送到用户空间,这就是原创 2013-08-06 21:37:36 · 669 阅读 · 0 评论 -
Linux poll机制分析
【转载】:http://www.blogjava.net/ThinkingTalking/archive/2010/07/08/325523.html所有的系统调用,基于都可以在它的名字前加上“sys_”前缀,这就是它在内核中对应的函数。比如系统调用open、read、write、poll,与之对应的内核函数为:sys_open、sys_read、sys_write、sys_pol转载 2014-04-18 10:42:58 · 550 阅读 · 0 评论 -
struct--resource
【转载】:http://hi.baidu.com/zengzhaonong/item/4411b4de183c39ef3cc2cb5c转载 2014-04-17 23:40:02 · 2206 阅读 · 0 评论 -
国嵌学习——ARM
从NOR启动:在片选0位置放置的是2M的nor flash,在片选6位置放置的是内存0x30000000ARM工作模式ARM处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。除用户模式以外,其余的所有6种模式称为非用户模式,或特权模式(privileged modes);原创 2012-05-10 15:14:29 · 2360 阅读 · 0 评论 -
国嵌视频学习——Linux内核驱动
字符设备驱动驱动分类——字符设备驱动 字符设备:字符设备是一种按字节来访问的设备,字符驱动则负责驱动字符设备,这样的驱动通常实现open,close,read,write系统调用——网络接口驱动 网络接口:任何网络事务都通过一个接口来进行,一个接口通常是一个硬件设备(eth0),但是它也可以是一个纯粹的软件设备,比如回环接口(lo)。一个网络接口负责发送原创 2012-05-13 10:11:43 · 4532 阅读 · 0 评论 -
国嵌深入班-PCI
只有PCI桥才能生成PCI总线原创 2014-07-08 16:40:27 · 549 阅读 · 0 评论 -
国嵌深入班-串口(未完成)
用户空间操作的是/dev/ttyS0tty_io.c是tty_coren_tty.c是线路规程,处理完后再交由core(tty_io.c),再交给tty驱动我改名了 2014-07-08 17:03:48n_tty.c是线路规程,可有可无只要串口有数据,那么就会向host主机传送,将数据存在ldisc.receive.buf()中,那么对于用户来说,原创 2014-07-08 17:11:59 · 666 阅读 · 0 评论 -
内存管理之一__align字节对齐
转:http://www.cnblogs.com/ye-moooooo/p/4601189.html一.什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个转载 2015-11-18 17:05:44 · 1904 阅读 · 0 评论 -
USB2.0概述
参考以下BLOG有个大概框架:http://blog.sina.com.cn/s/blog_69b5d2a50101en41.htmlhttp://blog.csdn.net/zyhui65/article/details/8524144http://blog.csdn.net/leo_wonty/article/details/6721214http://bl原创 2015-10-21 14:10:21 · 422 阅读 · 0 评论 -
嵌入式C编程经验 之 全局变量
【转】:http://blog.chinaunix.net/uid-20620288-id-3399952.html/********************************************************************************** Filename: 一线研发之声:嵌入式C编程经验 之 全局变量猛于虎* Author:Se转载 2015-07-29 14:08:28 · 850 阅读 · 0 评论 -
Linux脚本编写基础
转自:http://www.cnblogs.com/jianasonic/articles/1212965.html1. Linux 脚本编写基础1.1 语法基本介绍1.1.2 注释 在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释。 如果您使用了注释,那么即使相当长的时间内没有使用该脚本,您也能在很短的时间转载 2012-09-14 17:43:55 · 830 阅读 · 0 评论 -
sockaddr_in中sin_zero的意义,以及sockaddr_in sockaddr in_addr区别联系
转自:http://keendawn.blog.163.com/blog/static/88880743201241111620289/struct sockaddr {unsigned short sa_family; // address family, AF_xxxchar sa_data[14]; // 14 bytes of protocol address};转载 2012-06-18 16:41:07 · 8661 阅读 · 3 评论 -
UNIX Domain Socket IPC (sockaddr_un )
转自:http://blog.csdn.net/ace_fei/article/details/6412069socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIX Domain Socket。虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIX Domain Socket用于IP转载 2012-09-08 19:28:09 · 1090 阅读 · 0 评论 -
脚本基础知识
单引号) :由单引号括起来的字符只能作为普通字符出现,不具有任何命令效应,因此特殊字符由单引号括起来后,也会失去原有的意义。双引号) :双引号不同于单引号,部分特殊字符被双引号括起来后任然具有其原有的特性,比如我们最常用的$字符,还有双引号同样也是。反引号) :执行的时候,shell首先执行被反引号括起来的部分,然后将执行的结果替换反引号括起来的部分。例原创 2012-09-15 01:29:00 · 817 阅读 · 0 评论 -
SD卡驱动-源代码树分析
\mmc_blk_init(void) \register_blkdev(MMC_BLOCK_MAJOR,"mmc") \mmc_register_driver(&mmc_driver); \(&mmc_driver)->drv.bus=&mmc_bus_type; \driver_register(&(&mmc_driver)->drv);原创 2014-05-29 21:15:41 · 1057 阅读 · 0 评论 -
点阵字幕的显示原理
【转】:http://www.cppblog.com/wrhwww/archive/2011/03/18/142134.html所有的汉字或者英文都是下面的原理,由左至右,每8个点占用一个字节,最后不足8个字节的占用一个字节,而且从最高位向最低位排列。生成的字库说明:(以12×12例子)一个汉字占用字节数:12÷8=1····4也就是占用了2×12=24个字节。编码转载 2015-08-30 16:20:02 · 2223 阅读 · 0 评论 -
信号量与自旋锁
【转】:http://www.cppblog.com/huangjianfu/archive/2009/06/02/86530.html内核同步措施 为了避免并发,防止竞争。内核提供了一组同步方法来提供对共享数据的保护。 我们的重点不是介绍这些方法的详细用法,而是强调为什么使用这些方法和它们之间的差别。 Linux 使用的同步机制可以说从2.0到2.6以来不断发展完转载 2014-10-10 22:06:00 · 753 阅读 · 0 评论 -
contanier_of offsetof list_for_each list_for_each_entry
list_for_each与list_for_each_entry详解 一、list_for_each1.list_for_each原型#define list_for_each(pos, head) \ for (pos = (head)->next, prefetch(pos->next); pos != (head); \ pos = pos->next,原创 2014-06-19 15:08:16 · 666 阅读 · 0 评论 -
【转】 LINUX内核中等待队列应用之深度剖析
【转】:http://blog.chinaunix.net/uid-21736802-id-1817632.html1. 等待队列数据结构等待队列由双向链表实现,其元素包括指向进程描述符的指针。每个等待队列都有一个等待队列头(wait queue head),等待队列头是一个类型为wait_queque_head_t的数据结构:struct __wait_queue_hea转载 2014-06-19 10:56:45 · 558 阅读 · 0 评论 -
PCI串口
总线是一种传输信号的信道;总线是连接一个或多个导体的电器连线。总线由电气接口(关注硬件特性)和编程接口组成。对于后者需要了解电气接口嵌入式开发中没有pci总线(PC)却用相应的拓展pci总线只有PCI桥才能生成PCI总线每个PCI设备由一个总线号、一个设备号、功能好确定。PCI规范允许一个系统最多拥有256条总线,每条总线最多带32个设备,但每个原创 2013-08-13 11:51:40 · 2613 阅读 · 0 评论 -
LCD驱动
时序图VSYNC:帧同步信号每发出一个脉冲,表示新的一屏图像数据开始传送HSYNC:行同步信号每发出一个脉冲,表示新的一行图像数据开始传送VCLK:像素时钟信号每发出一个脉冲,表示新的一个点图像数据开始传送LEND:行结束信号VBPD:表示在一帧图像开始时,帧同步信号以后的无效的行数,对应驱动中的upper_margin;VFBD:表示在一帧图像结束后,帧同原创 2013-08-12 19:54:37 · 760 阅读 · 0 评论 -
ubuntu建立开发板环境
[转自]ubuntu7.10上搭建友善之臂QQ2440V3开发环境 --] http://www.arm9home.net/simple/index.php?t183.html ubuntu下minicom的安装及使用——http://apps.hi.baidu.com/share/detail/17088868 [转自]ubuntu 8.04上搭建arm9交叉开发环境——h转载 2012-05-05 20:07:41 · 745 阅读 · 0 评论 -
国嵌视频学习第九天——UBOOT基础
参看BLOG:http://blog.csdn.net/linuxdianc/article/details/5026426#BootLoader软件层次一个嵌入式系统从软件角度来看分为三个层次:1. 引导加载程序包括固化在固件(fireware)中的boot程序(可选)(比如CMOS中的BIOS),和BootLoader(比如grub)两大部分2.Linux原创 2012-04-18 19:25:58 · 4624 阅读 · 1 评论 -
国嵌视频学习第五天-进程通信2
消息队列发展消息队列就是一个消息的链表。可以把消息看做一个记录,具有特定的格式。进程可以向中按照一定的规则添加新消息;另一些进程则可以从消息队列中读走消息。(这一点有些类似于管道,数据读走了就不再在管道中了) 一个消息队列从实质上讲就是一个文件分类目前主要有两种类型的消息队列:POSIX消息队列以及系统V消息队列,系统V消息队列目前被大量使用。持续性原创 2012-04-09 20:32:31 · 1769 阅读 · 0 评论 -
国嵌视频学习第四天-进程通信
目的为什么进程间需要通信?1. 数据传输一个进程需要将它的数据发送给另一个进程2. 资源共享多个进程之间共享同样的资源3. 通知事件一个进程需要向另一个或一组进程发送消息,通知它们发生了某种事件4. 进程控制有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有操作,并能够及时知原创 2012-04-08 10:28:15 · 1830 阅读 · 0 评论 -
Linux中errno使用
转自:http://apps.hi.baidu.com/share/detail/15650261当linux中的C api函数发生异常时,一般会将errno变量(需include errno.h)赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因,在实际编程中用这一招解决了不少原本看来莫名其妙的问题。但是errno是一个数字,代表的具体含义还要到errno.h中去阅读宏定义转载 2012-04-08 16:04:46 · 647 阅读 · 0 评论 -
国嵌视频学习第三天-进程控制
进程ID(PID):标示进程的唯一数字父进程的ID(PPID)启动进程的用户ID(UID)进程互斥进程互斥是指当有若干进程都要使用某一共享资源时,任何时刻最多允许一个进程使用,其他药使用该资源的进程必须等待,直到占用该资源者释放了该资源为止。临界资源操作系统中将一次只允许一个进程访问的资源称为临界资源临界区进程中访问临界资源的那段程序代码称为临界区。为实原创 2012-04-07 20:50:14 · 2088 阅读 · 0 评论 -
Linux系统调用fork,vfork,clone
转自:http://memorymyann.iteye.com/blog/235638fork,vfork,clone都是linux的系统调用,用来创建子进程的(确切说vfork创造出来的是线程)。先介绍下进程必须的4要点:a.要有一段程序供该进程运行,就像一场戏剧要有一个剧本一样。该程序是可以被多个进程共享的,多场戏剧用一个剧本一样。b.有起码的私有财产,就是进程专用的系统堆栈空转载 2012-04-07 21:29:44 · 478 阅读 · 0 评论 -
open 系统调用
转自:http://oss.org.cn/kernel-book/ch08/8.7.1.htm资料:深入分析linux内核源码——http://oss.org.cn/kernel-book/进程要访问一个文件,必须首先获得一个文件描述符,这是通过open系统调用来完成的。文件描述符是有限的资源,所以在不用时应该及时释放。该系统调用是用来获得欲访问文件的文件描述符,如果文件并不存在,则还转载 2012-04-08 15:56:54 · 4125 阅读 · 0 评论 -
国嵌视频学习第二天——系统调用方式访问文件
linux 系统中访问文件的方法:1.linux系统调用 2.基于C语言的访问系统调用-创建int creat(const char *filename, mode_t mode)-filename:要创建的文件名(包含路径,缺省为当前路径)-mode:创建模式常见创建模式: S_IRUSR 可读S_IWUSR 可写S_IXUSR 可执行S_IRWXU 可读可写可执原创 2012-03-31 16:47:25 · 1595 阅读 · 0 评论 -
国嵌视频学习第二天——库函数访问文件
库函数C库函数的文件操作时独立于具体的操作系统平台的,不管是在DOS、WINDOWS、Linux还是在VxWorks中都是这些函数库函数-创建和打开FILE *fopen(const char *filename , const char *mode)-filename:打开的文件名(包含路径,缺省为当前目录下)-mode:打开模式(常见打开模式查baidu)库函数-读原创 2012-03-31 19:23:21 · 1610 阅读 · 0 评论 -
详细介绍Makefile的用法
文章出自:http://huiya1983.blog.163.com/blog/static/1365821692010229112253788/?fromdm&fromSearch&isFromSearchEngine=yes5.1 make和Makefilemake和Makefile提供了一种非常简单有效的工程管理方式。使用这种方式管理工程的原理很简单:Makefile是一个决定怎样转载 2012-05-22 12:00:35 · 5939 阅读 · 0 评论