关闭
当前搜索:

U-BOOT源码目录

uboot的源码目录分析; 各文件介绍 (1) . gitignore,这是个git的工具,git是一个版本管理工具。这个文件和git有关,和uboot本身无关的,不用去管 (2)  config.mk ,后缀是.mk,是一个makefile,将来在makefile中会去调用它 (3)MAINTAINERS 维护者,就是当前在参与维护uboot源码的社区工作者 (4)Makefi...
阅读(79) 评论(0)

uboot学习(1)

我们的异常向量表放在0地址处,如下图 这个地址就是这个地址,不是随便写的,如果说我的异常向量表要放在这个位置,说白了异常向量表是代码,意思是你这个代码就在0地址??但是打开我们的芯片数据手册的memory map章节,可以看到下图 这张图可以看出,0地址放的是IROM和IRAM,为什么要有这段地址,实际上是CPU把真正的IROM和IRAM映射到这里,因为系统已启动就在0地址找代...
阅读(73) 评论(0)

linux进程调度2

Fork前面创建的是一个进程,假设进程P1,调用fork之后,然后进程P2就被创建,P1是一个task_struct,p2也是一个task_struct,所以在内核里面这是两个task_struct,在内核的调度算法的层面上主要看到一个task_struct,他就会被调度,linux在P1刚刚把P2创建出来的时刻,linux会认为P1和P2之间会有某种内在的联系,前面有提到,task_struct...
阅读(70) 评论(0)

全程解析Linux鼠标驱动

/*  *  Copyright (c) 1999-2001 Vojtech Pavlik  *  *  USB HIDBP Mouse support  */ /*  * This program is free software; you can redistribute it and/or modify  * it under the terms of the GNU ...
阅读(60) 评论(0)

i2c适配器驱动程序

我们先来参考一下内核中自带的驱动程序,看看别人怎么写的 我们可以对内核进行make menuconfIg 看看它对应于哪一个文件 这里有个S3C2410 I2C Driver 然后按下H可以看到它依赖于那个配置 这里是依赖于我们的CONFIG_I2C_S3C2410这个配置的 我们在driver/i2c目录下搜索,CONFIG_I2C_S3C2410,看看它对应哪个文件...
阅读(103) 评论(0)

用户态访问I2C设备

显然内核里面有万能的驱动程序给我们用 看看内核文档 在\linux-4.8.14\Documentation\i2c下面的 这里有的dev-interface,这里面告诉了什么,我们来看看里面说了什么 通常,I2C设备由设备驱动来控制,但是他也可以提供用户空间直接访问适配器上的设备,通过/dev接口。你需要加载I2C-DEV模块 有个i2c-tools 的工具包帮你写好了接口,在网...
阅读(132) 评论(0)

I2C设备驱动

以前我们的probe只打印,现在我们做一些有用的事情...
阅读(71) 评论(0)

I2C写设备端

先从第一步做起,怎么去注册一个设备。内核里面有个文档 这里有个instantiating-devices。这个文件的名字叫做实例化设备。 第一种方法 第一种方法通过总线设备来声明设备,这里有个例子,我们直接看源码方便一些 I2C_BOARD_INFO解析起来就是I2C单板信息。定义一个board_info结构体。I2C_BOARD_INFO("24c08",0x50...
阅读(170) 评论(0)

I2C

先来看一下原理图   这是个存储芯片。只用两跟引脚与CPU的I2C控制器相连,一个就是I2C_SCL一个就是I2C_SDA。CPU上的I2C_SCL和I2C_SDA上可以接很多芯片。每个芯片都会有个设备ID, 或者称为设备地址,去看芯片的原理图,里面都有设备的地址,比如说我们这里的FM24CL04。 I2C硬件协议 首先CPU会发出一个start信号,保持SCL为高电平,SDA由高变...
阅读(165) 评论(0)

linux设备树

设备树的最终目的 提供一种语言来解析硬件配置信息   设备端:使用设备树之前 硬件的描述信息,放置在一个个arch/xxx/mach-xxx/board-xxx.c的C文件中 static struct resource dm9000_resource1[] ={ { .start = 0x20100000, .end = 0x20100000 + 1, .flags = IOR...
阅读(186) 评论(0)

库依赖问题解决办法

问题: 执行: sudo apt-get install g++ 得出如下错误: 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是 因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件 包尚未被创建或是它们已被从新到(Incoming)目录移出。 下...
阅读(68) 评论(0)

内核中的

访问共享资源的代码 区域称为临界区。自旋锁和互斥体是保护内核临界区的两种机制 自旋锁可以确保在同时只有一个线程进入临界区。其他进程想进入临界区的线程必须不停得原地打转,知道第一个线程释放自旋锁。这里说的线程不是内核线程,是执行的线程。 下面的例子演示了自旋锁的基本用法 #include spinlock_t mylock=SPIN_LOCK_UNLOCKED; spin_lock...
阅读(55) 评论(0)

PCIE读办卡信息代码

本代码是小白写的如果各位大神有好代码 请在下方留个方式 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include ...
阅读(94) 评论(0)

pcie驱动介绍

PCIE设备的地址由总线号、设备号和功能号组成,分别称为厂家ID、设备ID和设备类代码 我们可以利用lspci工具了解这些概念。PCI工具集的一部分,下载地址为http://mj.ucw.cz/sw/pciutils/ 下面这个照片是在xx.xx.xx.xx下面的shell终端下运行lspci,运行lspci   上面输出代码每行开头的逻辑地址(xx:yy.z).XX代表PCI的总线号。一...
阅读(176) 评论(0)

ubuntu下安装eclipse

eclipse是一种集成开发环境,不仅可以用作JAVA的开发,也可以用作C和C++的开发 当你用不同的语言开发,你需要安装不同的插件 下载网址http://www.eclipse.org/downloads/ 做安卓底层,我们下载c和C++的 64位的,因为我们ubuntu是64的...
阅读(92) 评论(0)

linux下hotplug_uevent机制(热插拔机制)

回过头看看我们以前写的驱动程序 随便看一个 为什么要创建类   为什么要在类下面创建设备呢 为了让mdev根据这些信息来创建设备节点 我们来看看device_create凭什么可以让mdev创建设备节点 然后进入这个device_create_vargs 然后我们会看见关键性函数 device_register 然后进入device_add 同样是进...
阅读(248) 评论(0)

linux串口驱动(1)

我们硬件原理图如下 J19就不用 如果我们用J18 J20 J22的话我们必须把TTL电平转换为RS232电平 那一大块U6就是电平转换芯片 我们这里的COM1就经过这个芯片之后进行电平转换了 如果我们要用到J18等就必须把TTL电平转换成232电平,否则用不了的。...
阅读(91) 评论(0)

ubuntu下配置tftp服务器

tftp是将我们的一个目录做为服务器的主目录, 1.输入命令 第二步修改配置文件 将里面的文件修改成下面这样...
阅读(55) 评论(0)

ubuntu下配置samba服务器

在windows与linux之间传递文件最常用的就是samba服务器 1.首先输入命令 sudo apt-get install samba 2.修改配置文件 在最后一行添加下面代码 第一个是表示你共享的目录 第二个是指是否有可浏览的权限 第三个是指可读可写的权限 【home】这个里面的这个home名字不是那么重要 然后保存退出 我们还要创建一个能够访问s...
阅读(65) 评论(0)

ubuntu下配置NFS服务

1.配置NFS 安装完成之后接下来就是配置了 NFS说白了就是Linux与Linux系统之间共享目录的一种方法,你要共享目录,你就要告诉linux你是要把目录共享给谁,拥有一些什么样的权限 所以我们要对我们NFS进行相应的配置 配置文件是放在/etc/exports 在最后加上一行 第一个是共享目录是哪个目录,比如说我要共享home目录。然后就是权限,拥有什么样的权限 权...
阅读(61) 评论(0)
58条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:15893次
    • 积分:1066
    • 等级:
    • 排名:千里之外
    • 原创:94篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    最新评论