自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

win9

他们不是Linux的粉丝,他们是某种信念、某种价值观、某种理想、某种人生态度的粉丝,他们参与开源社区,是因为能从中感受到这些东西

  • 博客(37)
  • 资源 (36)
  • 收藏
  • 关注

原创 int i2c_probe()

1.i2c驱动涉及到的数据结构: struct i2c_adapter { struct module *owner; unsigned int id; unsigned int class; // 适配器支持的类型,如传感器,eeprom等 const struct i2c_algor

2017-03-29 23:58:57 2923

转载 二维数组和二级指针

对于如下程序void fun(int **data,int row,int column){ for(int i = 0;i for(int j = 0;j cout "\t"; cout endl; }}int main(){ int data[2][3] = {{3,8,4},{4,5,6}}; fun(data,2,3); return 0;}

2017-03-29 23:44:01 1814

原创 C语言指针数组和数组指针

一、指针数组和数组指针的内存布局初学者总是分不出指针数组与数组指针的区别。其实很好理解:指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定。它是“储存指针的数组”的简称。数组指针:首先它是一个指针,它指向一个数组。在32 位系统下永远是占4 个字节,至于它指向的数组占多少字节,不知道。它是“指向数组的指针”的简称。下面到底哪个是数组指针,哪个是指针数

2017-03-29 23:36:38 1307

转载 浅谈Linux内存管理机制

linux内存特性在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然。这是Linux内存管理的一个优秀特性,在这方面,区别于Windows的内存管理。主要特点是,无论物理内存有多大,Linux 都将其充份利用,将一些程序调用过的硬盘数据读入内存,利用内存读写的高速特性来提高Linux系统的数据访问性能。而Windows是只在需要内存时, 才为

2017-03-29 00:18:56 1213

转载 浅谈Linux的内存管理机制

一 物理内存和虚拟内存         我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概念。物理内存就是系统硬件提供的内存大小,是真正的内存,相对于物理内存,在linux下还有一个虚拟内存的概念,虚拟内存就是为了满足物理内存的不足而提出的策略,它是利用磁盘空间虚拟出的一块逻辑内

2017-03-29 00:18:29 1097

转载 Linux 虚拟内存和物理内存的理解

首先,让我们看下虚拟内存: 第一层理解1.         每个进程都有自己独立的4G内存空间,各个进程的内存空间具有类似的结构 2.       一个新进程建立的时候,将会建立起自己的内存空间,此进程的数据,代码等从磁盘拷贝到自己的进程空间,哪些数据在哪里,都由进程控制表中的task_struct记录,task_struct中记录中一条链表,记录中内存

2017-03-28 23:56:45 1150

转载 进程地址空间与虚拟存储空间的理解

以windows为例子:在进入正题前先来谈谈操作系统内存管理机制的发展历程,了解这些有利于我们更好的理解目前操作系统的内存管理机制。一 早期的内存分配机制在 早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,也就是说程序中访问的内存地址都是实际的物理内存地址。当计算机同时运行多个程序时,必须保证这些程序用到的内存总量要小于计算机实际物

2017-03-28 23:47:59 1117

转载 ARM MMU工作原理剖析

一、MMU的产生      许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还用用户需求的不断增大,应用程序的规模也随之膨胀起来,终于一个难题出现在程序员的面前,那就是应用程序太大以至于内存容纳不下该程序,通常解决的办法是把程序分割成

2017-03-28 22:29:53 1061

原创 int register_chrdev()

在i2c的static int at24cxx_detect(struct i2c_adapter *adapter, int address, int kind)中有一句,major = register_chrdev(0, "at24cxx", &at24cxx_fops);进去内核中:1 int register_chrdev(unsigned int major, const

2017-03-26 23:01:14 1270

原创 结构体指针数组

struct h{BTNode *TQ;int level; ?}a[100],b,*c[3],*d; a是一个结构体数组,已经有100个节点了。不需要再分配空间了。b是一个结构体变量,也已经有空间了,就和int b;已经有空间了一样。c是一个指针数组,c也已经有空间了,有3个元素,但是这三个元素是还没有分配空间的指针,所以要用malloc分别为他们分配内存。d是一个结构体

2017-03-26 22:05:30 10011 1

转载 Linux设备模型分析之device_driver(基于3.10.1内核)

一、device定义device结构体定义在include/linux/device.h文件中:[cpp] view plain copy 598/** 599 * struct device - The basic device structure 600 * @parent: The device's "parent" device, the device to which it is

2017-03-26 14:07:45 1278

转载 Linux设备模型分析之device(基于3.10.1内核)

一、device定义device结构体定义在include/linux/device.h文件中:[cpp] view plain copy 598/** 599 * struct device - The basic device structure 600 * @parent: The device's "parent" device, the device to which it is

2017-03-26 14:06:25 1353

转载 Linux设备模型分析之kset(基于3.10.1内核)

一、kset结构定义kset结构体定义在include/linux/kobject.h文件中,其内容如下:[cpp] view plain copy 142/** 143 * struct kset - a set of kobjects of a specific type, belonging to a specific subsystem. 144 * 145 * A kset de

2017-03-26 13:53:15 1264

转载 Linux设备模型分析之kobject(基于3.10.1内核)

一、kobject结构定义kobject是Linux设备模型的最底层数据结构,它代表一个内核对象。kobject结构体定义在include/linux/kobject.h文件中:[cpp] view plain copy60struct kobject {  61    const char      *name;  62    

2017-03-26 13:48:45 1413

转载 Linux设备模型分析之bus

前面我们分析了Linux设备模型中kobject、kset以及ktype的使用,它们是设备模型的最基础部分,在其上有更高级一层的bus、device和driver。在这一篇文章中,我们来看一下bus的用法。 一、相关数据结构首先,我们列出本文涉及的相关数据结构。[cpp] view plain copy  51struct bus_type {   52    const char

2017-03-26 13:41:52 1114

转载 Linux设备模型分析之kset

上一篇博客我们分析了Linux设备模型中kobject的注册和使用,在这一篇文章中,我们来看一下kset的用法。首先我们看一个使用kset的例子,代码如下:[cpp] view plain copy #include   #include   #include   #include   #include   #include   #include      MODULE_AUTHOR("h

2017-03-26 13:36:07 1189

转载 Linux设备模型分析之kobject

一、kobject应用举例Linux设备模型最基本的组成元素是kobject,我们先来看一个kobject的应用例子,该程序在Ubuntu 10.10, 2.6.32-38-generic-pae内核上调试通过。[cpp] view plain copy #include   #include   #include   #include   #include   #include   #i

2017-03-26 12:54:05 1163

原创 Linux fcntl函数详解

功能描述:根据文件描述词来操作文件的特性。文件控制函数          fcntl -- file control头文件:#include #include 函数原型:          int fcntl(int fd, int cmd);int fcntl(int fd, int cmd, long arg);         in

2017-03-23 22:45:25 1204

转载 signal_pending函数解析

经常我们在睡眠的代码中 会看到这样的例子:    if (signal_pending(current)) {     ret = -ERESTARTSYS;     return ret;    }    关于 -ERESTARTSYS 到底是什么意思?       -ERESTARTSYS表示信号函数处理完毕后重新执行信号函数前的某个系统

2017-03-23 22:07:34 6670

转载 面试中常问的关于链表的题目

链表是最基本的数据结构,面试官也常常用链表来考察面试者的基本能力,而且链表相关的操作相对而言比较简单,也适合考察写代码的能力。链表的操作也离不开指针,指针又很容易导致出错。综合多方面的原因,链表题目在面试中占据着很重要的地位。本文对链表相关的面试题做了较为全面的整理,希望能对找工作的同学有所帮助。链表结点声明如下:struct ListNode{    int m_nKey

2017-03-23 22:02:42 1036

原创 Wait Queue等待队列

驱动中使用等待队列来实现阻塞进程的唤醒,它以队列为基础数据结构,与进程调度机制紧密结合。定义等待队列头部wait_queue_head_t my_queue;初始化“等待队列头部”init_waiatqueue_head(&my_queue);(PS:下面的宏可以作为定义并初始化等待队列头部的快捷方式DECLARE_WAIT_QUEUE_HEAD(n

2017-03-23 21:13:30 1648

原创 安卓系统分层

安卓系统一共分为五层:内核层(Linux Kernel)硬件抽象层(HAL)运行时库层(Runtime)应用程序框架层(Application Framework)应用层层(Application)

2017-03-23 18:00:12 1774

转载 ARM Linux 3.x的设备树(Device Tree)

1.    ARM Device Tree起源Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is a f*cking pain in the ass”,引发ARM Linux社区的地震,随后ARM社区进行了一系列的重大修正。在过去的ARM Linux中,arch/arm/plat-xxx和arch/arm/mach

2017-03-21 00:58:07 1382

转载 Framebuffer原理、使用、测试

Framebuffer的配置及应用*一、FrameBuffer的原理* FrameBuffer 是出现在 2.2.xx 内核当中的一种驱动程序接口。 Linux是工作在保护模式下,所以用户态进程是无法象DOS那样使用显卡BIOS里提供的中断调用来实现直接写屏,Linux抽象出 FrameBuffer这 个设备来供用户态进程实现直接写屏。Framebuffer机制模仿显卡的功能,将显

2017-03-20 00:07:31 2029

转载 图解kset,kobject,subsys

linux设备模型方面是驱动中比较高级的一块内容,对于刚开始学习驱动开发人员来说开始必须掌握驱动模型的编写框架和常用函数,当设备模型框架熟悉之 后,就可以进入研究设备模型的实现。进入设备之前,我们必须搞清楚subsys,kset,kobject等概念。理清楚它们的结构,整个设备模型就了然 了。              学习前的须知:       Linux设备模型的目的是:为内核

2017-03-19 23:35:37 2887

转载 Kobject相关

kobjec是linux在2.6中新引进的统一的设备管理模型,他的主要目的就是对linux的2.6系统所有的设备进行统一的管理,在以前的内核中并没有独立的数据结构让内核对整体的系统做配置和管理。尽管缺乏此类的信息,但是很多时候系统还是能正常工作,然后随着设备越来越多,系统越来越复杂,以及需要支持更多诸如电源管理等新的特征需要,新的内核版本明确提出了需要统一管理设备的要求:需要有一个对系统结构整体统

2017-03-19 21:59:35 1068

转载 try_module_get和module_put

try_module_get注解:        1>位置:/linux/kernel/module.c        2>声明:static inline int  try_module_get(structmodule *module)        3>功能:判断module模块是否处于活动状态,然后通过local_inc()宏将该模块的引用计数加1

2017-03-19 02:15:11 1696

转载 c语言中的的内联(inline)函数

c/c++中的inline,使用在函数声明处,表示程序员请求编译器在此函数的被调用处将此函数实现插入,而不是像普通函数那样生成调用代码(申请是否有效取决于编译器)。一般地说,这样作的优点是省掉了调用函数的开销;缺点则是可能会增加代所生成目标代码的尺寸(二班的除外,二班情况下,inline函数甚至会返过来降低程序的性能)。实际上,即使没有手工指定inline函数,编译器一般还会选择一些代码量

2017-03-18 14:47:27 1317

转载 谈EXPORT_SYMBOL使用

EXPORT_SYMBOL只出现在2.6及以上内核中,在2.4内核默认的非static 函数和变量都会自动导入到kernel 空间的, 都不用EXPORT_SYMBOL() 做标记的。2.6就必须用EXPORT_SYMBOL() 来导出来(因为2.6默认不到处所有的符号)。 1、EXPORT_SYMBOL的作用是什么?EXPORT_SYMBOL标签内定义的函数或者符号对全部内核代码

2017-03-18 14:01:07 1427

转载 ABI EABI

ABI和API是不一样的,ABI是强调的是B,也就是二进制级别的兼容。P是编程。I是接口。应该是关于I的设计问题,我不太理解,应该很深刻。想不到编译器竟然这么有学问。1。什么是ABIABI,application binary interface (ABI),应用程序二进制接口。既然是 接口,那就是某两种东西之间的沟通桥梁,此处有这些种情况:A。应用程序

2017-03-14 01:19:51 1199

转载 内核Kconfig 与 Makefile 文件分析

一.内核构造系统简介        内核是个复杂庞大的系统,对它进行配置、裁剪、编译原本非常地复杂和困难,但现在却只需要简单的两个命令:(1)make  menuconfig  ;(2)make  uImage 就搞定了,原因是在其背后有一个设计精巧的内核构造系统帮助我们精确的完成了各项任务。内核构造系统最关键的组成元素就是各个目录下的Kconfig 文件和 Makefile文件,本节将对

2017-03-12 00:50:07 1156

原创 ARM处理器基础

1.处理器工作模式 用户(usr):正常ARM程序执行状态  快中断(fiq):为支持数据传输或通道处理设计  中断(irq):用于一般用途的中断处理  管理(svc):操作系统保护模式  中止(abt): 数据或指令预取中止后进入  系统(sys):操作系统的特权用户模式  未定义(und):执行了一个未定义指令时进入 除用户模式以外,其他的所有6种模式称之为

2017-03-09 20:54:09 1194

原创 sizeof计算结构体长度

sizeof在计算变量所占的空间大小时所选取的机制:1.结构体满足的三个条件结构体的大小等于结构体内最大成员大小的整数倍;结构体内的成员相对于首地址的偏移量是当前成员大小的整数倍,如有需要会在成员之间填充字节;(结构体变量的首地址能被其最大成员大小所整除。)如:struct A { char a; int b; };大小1(char)+3(

2017-03-08 13:14:42 3752

转载 结构体中定义函数指针

结构体指针变量的定义,定义结构体变量的一般形式如下:形式1:先定义结构体类型,再定义变量struct结构体标识符{成员变量列表;…};struct 结构体标识符 *指针变量名;变量初始化一:struct结构体标识符 变量名={初始化值1,初始化值2,…, 初始化值n };形式2:在定义类型的同时定义变量struct结构体标识符{成员变量列

2017-03-06 23:34:22 6836

原创 busybox安装根文件系统

1.交叉编译busyboxmake ARCH=arm CROSS_COMPILE=arm-Linux-  CONFIG_PREFIX=/work/rootfs install2.移植lib库(安装glibc)cp /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib/*so* /work/rootfs/lib -d

2017-03-05 15:13:19 1240

转载 ubuntu下安装nfs服务器

Ubuntu下nfs服务器的配置过程:1、安装nfs服务器和客户端sudo apt-get install nfs-kernel-server nfs-common portmap2、配置portmap 两种方式任选一种(1)sudo vim /etc/default/portmap 去掉 -i 127.0.0.1(2)sudo dpkg-rec

2017-03-04 13:07:45 1315

原创 ubuntu下多个gcc编译器的安装及切换

1.安装多个版本的gcc下载gcc-4.3.2.tar.bz2 到目录 /usr/loca/arm/4.3.2 ,并切换当前目录为/usr/loca/arm/4.3.2 :cd   /usr/loca/arm/4.3.2 解压缩: tar -jxvf gcc-4.3.2.tar.bz22.  修改环境变量,把交叉编译器的路径加入到PATH方法一:修改/etc/bash.ba

2017-03-02 01:00:44 3150

stm32f103超声波测距

trig b12 echo b13 你只需要提供一个 10uS以上脉冲触发信号,该模块内部将发出8个 40kHz周期电平并检测回波。一旦检测到有回波信号则输出回响信号。回响信号的脉冲宽度与所测的距离成正比。 由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。 公式: uS/58=厘米或者uS/148=英寸; 或是: 距离=高电平时间*声速( 340M/S) /2; 建议测量周期为 60ms以上, 以防止发射信号对。

2017-12-22

VMwareTools-9.6.0-1294478.tar.gz

vmware tools 9.6.0 是vmware player 6.0.0 (VMware@Player 6.0.0 build - 1295980) 所带的tools,安装之后可以实现xp共享目录被ubuntu访问,实现资源共享,vmware player全屏等 使用方法: - 拷贝至Linux系统中(可以用U盘,也可以直接下载到Linux系统中) - $ tar xzf VMwareTo ols-9.6.0-1294478.tar.gz - $ cd vmware-tools-distrib - $ sudo ./vmware-install.pl 一路打Enter

2017-10-16

mkbooting和unpackbootimg适用于ubuntu

Android开发时,最标准的做法是重新编译于内核和根文件系统,然后调用Android给的命令行文件mkbootimg(out/host/linux-x86/bin/)来打包。 在制作手机ROM时,有时会单独编译内核或抽出根文件进行修改内容,比如我只编译内核,其余的地方不变。这样重新安装巨大的Android开发环境实在不划算。因此很多boot.img解包工具被人开发出来,这一些工具都是把内核和根文件系统从一个现成的boot.img抽取出来,修发后再次打包还原。

2017-10-11

dragon board 410c 中文开发文档

高通骁龙410C开发板是基于高通400系列处理器的第一块开发板,性能优异,方便调试。它包含先进的电源管理,WIFI 蓝牙,GPS等等,所有都集成在一张信用卡大小的PCB板上。基于64位的410处理器,该开发板支持快速软件开发,可作为样机设计学习参考,并符合消费者96Boards 规范(就是ARM联合Linaro定义的一个以Cortex-A系列处理器开发板为主的ARM开放平台规范,取名96Boards)。这使得它非常易于实现物联网产品的嵌入式计算,包含下一代的机器人,相机,医疗设备,自动售货机,智能建筑,数字标牌,游戏机,等等。 性能特征:支持众多操作系统:安卓5.1&Linux; Kernel3.1,Linux Debian8.0,与WINDOWS 10基于移动物联网核心;性能优异的CPU核心:4核A53能达到1.2GHz,并支持32位与64位;内存存储:1GB LPDDR3 533MHz,8GB eMMC 4.5,SD3.0;图像处理部分:Adreno 306 GPU,支持先进的应用编程接口包含OpenGL ES 3.0, OpenCL, DirectX, 与 content security;视频部分:支持1080P 30帧的高清播放与H.264与H.265 720P的播放与捕获;相机集成ISP能达到13MP;无线部分:支持WIFI 802.11/b/g/n 2.4GHz,蓝牙4.1,Qualcomm® IZat™ Gen8C定位技术,板载WIFI,BT与GPS天线;还拥有丰富的外设有TYPEA HDMI连接器,一个micro usb连接器(只能用在设备模式),两路usb2.0(只能用在主机模式),micro SD卡。

2017-10-11

tiny4412内核补丁dm9621

补丁文件适用于tiny4412 博客链接http://blog.csdn.net/qq_33160790/article/details/77727411

2017-08-31

tiny4412可用的文件系统

ramdisk

2017-08-29

tiny4412 dnw

dnw工具

2017-08-28

dnw工具,配合tiny4412

dnw配合4412使用

2017-08-22

tiny4412 1611uboot

uboot

2017-08-21

安卓框架揭秘

安卓 框架

2017-08-13

SecureCRT8.0 破解版

SecureCRT8.0 破解版

2017-08-10

STM32F10x_StdPeriph_Lib_V3.5.0.rar

STM32F10x_StdPeriph_Lib_V3.5.0.rar

2017-08-05

四轴飞控源码 四元素算法

四轴飞控源码 四元素算法

2017-08-03

4412iROM启动指南

4412iROM启动

2017-07-29

4412用户手册

4412用户手册

2017-07-29

2440英文手册

2440英文手册

2017-07-29

2440中文手册

三星2440的中文手册

2017-07-29

qemu内核调试环境文件系统

BusyBox 是一个集成了三百多个最常用Linux命令和工具的软件。BusyBox 包含了一些简单的工具,例如ls、cat和echo等等,还包含了一些更大、更复杂的工具,例grep、find、mount以及telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,也包含了 Android 系统的自带的shell。

2018-07-25

vim配置for ubuntu

Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。 [1] VIM是自由软件。 Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线, 总的来看, Vim和Emacs在文本编辑方面都是非常优秀的。

2018-07-22

build root 2016

这个工具是build root 2016.05版本,在编译arm linux gcc 6.1时,有一个安装包下载不到,该文件已附上

2018-06-10

linux串口编程

,在Linux系统中设备被以作文件形式存在,所以我们以打开文件的方式访问设备。这里要注意的是普通用户一般不能直接访问设备,需要root权限。

2018-03-23

keil5——51

目前我们通常编写51程序使用的是keil4,而好多编写STM32等单片机程序的使用keil5。那么如何在keil5中兼容51和STM32程序编写,省去切换版本的繁琐呢?

2018-03-22

ucosii demo for stm32f103

ucosii demo for stm32f103 ucosii demo for stm32f103

2018-03-10

STM32F103VET6 usart demo

STM32F103VET6 usart demoSTM32F103VET6 usart demoSTM32F103VET6 usart demoSTM32F103VET6 usart demo

2018-03-10

Micrium_STM32xxx_uCOS-II

μC/OS-II由Micrium公司提供,是一个可移植、可固化的、可裁剪的、占先式多任务实时内核,它适用于多种微处理器,微控制器和数字处理芯片(已经移植到超过100种以上的微处理器应用中)。同时,该系统源代码开放、整洁、一致,注释详尽,适合系统开发。 μC/OS-II已经通过联邦航空局(FAA)商用航行器认证,符合航空无线电技术委员会(RTCA)DO-178B标准。

2018-03-08

Cortex™ -A Series Version: 3.0 Programmer’s Guide

This Cortex-A Series Programmer’s Guide is protected by copyright and the practice or implementation of the information herein may be protected by one or more patents or pending applications. No part of this Cortex-A Series Programmer’s Guide may be reproduced in any form by any means without the express prior written permission of ARM. No license, express or implied, by estoppel or otherwise to any intellectual property rights is granted by this Cortex-A Series Programmer’s Guide. Your access to the information in this Cortex-A Series Programmer’s Guide is conditional upon your acceptance that you will not use or permit others to use the information for the purposes of determining whether implementations of the information herein infringe any third party patents. This Cortex-A Series Programmer’s Guide is provided “as is”. ARM makes no representations or warranties, either express or implied, included but not limited to, warranties of merchantability, fitness for a particular purpose, or non-infringement, that the content of this Cortex-A Series Programmer’s Guide is suitable for any particular purpose or that any practice or implementation of the contents of the Cortex-A Series Programmer’s Guide will not infringe any third party patents, copyrights, trade secrets, or other rights. This Cortex-A Series Programmer’s Guide may include technical inaccuracies or typographical errors. To the extent not prohibited by law, in no event will ARM be liable for any damages, including without limitation any direct loss, lost revenue, lost profits or data, special, indirect, consequential, incidental or punitive damages, however caused and regardless of the theory of liability, arising out of or related to any furnishing, practicing, modifying or any use of this Programmer’s Guide, even if ARM has been advised of the possibility of such damages. The information provided herein is subject to U.S. export control laws, including the U.S. Export Administration Act and its associated regulations, and may be subject to export or import regulations in other countries. You agree to comply fully with all laws and regulations of the United States and other countries (“Export Laws”) to assure that neither the information herein, nor any direct products thereof are; (i) exported, directly or indirectly, in violation of Export Laws, either to any countries that are subject to U.S. export restrictions or to any end user who has been prohibited from participating in the U.S. export transactions by any federal agency of the U.S. government; or (ii) intended to be used for any purpose prohibited by Export Laws, including, without limitation, nuclear, chemical, or biological weapons proliferation. Words and logos marked with ® or ™ are registered trademarks or trademarks of ARM Limited, except as otherwise stated below in this proprietary notice. Other brands and names mentioned herein may be the trademarks of their respective owners. Copyright © 2011, 2012 ARM Limited, 110 Fulbourn Road Cambridge, CB1 9NJ, England This document is Non-Confidential but any disclosure by you is subject to you providing notice to and the

2018-03-08

i2c-tools-distrotech-i2c-tools

I2C TOOLS FOR LINUX =================== This package contains an heterogeneous set of I2C tools for the Linux kernel. These tools were originally part of the lm-sensors project but were finally split into their own package for convenience. They compile, run and have been tested on GNU/Linux. CONTENTS -------- The various tools included in this package are grouped by category, each category has its own sub-directory: * eeprom Perl scripts for decoding different types of EEPROMs (SPD, EDID...) These scripts rely on the "eeprom" kernel driver. They are installed by default. * eepromer Tools for writing to EEPROMs. These tools rely on the "i2c-dev" kernel driver. They are not installed by default. * include C/C++ header files for I2C and SMBus access over i2c-dev. Installed by default. * py-smbus Python wrapper for SMBus access over i2c-dev. Not installed by default. * stub A helper script to use with the i2c-stub kernel driver. Installed by default. * tools I2C device detection and register dump tools. These tools rely on the "i2c-dev" kernel driver. They are installed by default. INSTALLATION ------------ There's no configure script, so simply run "make" to build the tools, and "make install" to install them. You also can use "make uninstall" to remove all the files you installed. By default, files are installed in /usr/local but you can change this behavior by editing the Makefile file and setting prefix to wherever you want. You may change the C compiler and the compilation flags as well. Optionally, you can run "make strip" prior to "make install" if you want smaller binaries. However, be aware that this will prevent any further attempt to debug the programs. If you wish to include sub-directories that are not enabled by default, then just set them via the EXTRA make variable. For example, to build py-smbus, do: $ make EXTRA="py-smbus" DOCUMENTATION ------------- The main tools have manual pages, which are installed by "make install". See these manual pages for command line interface details and tool specific information. The other tools come with simple text documentation, which isn't installed. QUESTIONS AND BUG REPORTS ------------------------- Please post your questions and bug reports to the linux-i2c mailing list: linux-i2c@vger.kernel.org For additional information about this list, see: http://vger.kernel.org/vger-lists.html#linux-i2c

2018-03-07

2440根文件系统

根文件系统首先是内核启动时所mount的第一个文件系统,内核代码映像文件保存在根文件系统中,而系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行。

2018-02-07

glibc-2.23.tar.bz2

The GNU C Library version 2.23 is now available From: Adhemerval Zanella <adhemerval dot zanella at linaro dot org> To: GNU C Library <libc-alpha at sourceware dot org> Date: Fri, 19 Feb 2016 10:47:20 -0200 Subject: The GNU C Library version 2.23 is now available Authentication-results: sourceware.org; auth=none The GNU C Library ================= The GNU C Library version 2.23 is now available. The GNU C Library is used as *the* C library in the GNU system and in GNU/Linux systems, as well as many other systems that use Linux as the kernel. The GNU C Library is primarily designed to be a portable and high performance C library. It follows all relevant standards including ISO C11 and POSIX.1-2008. It is also internationalized and has one of the most complete internationalization interfaces known.

2018-02-05

QEMU使用手册

QEMU是一套由法布里斯·贝拉(Fabrice Bellard)所编写的以GPL许可证分发源码的模拟处理器,在GNU/Linux平台上使用广泛。Bochs,PearPC等与其类似,但不具备其许多特性,比如高速度及跨平台的特性,通过KQEMU这个闭源的加速器,QEMU能模拟至接近真实电脑的速度。 目前,0.9.1及之前版本的qemu可以使用kqemu加速器。在qemu1.0之后的版本,都无法使用kqemu,主要利用qemu-kvm加速模块,并且加速效果以及稳定性明显好于kqemu。

2018-02-03

jz2440 u'boot

U-Boot,全称 Universal Boot Loader,是遵循GPL条款的开放源码项目。U-Boot的作用是系统引导。U-Boot从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是根据相应的Linux内核源程序进行简化而形成的,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。

2018-01-21

工程文件....

Linux的第一个公开版本是1991年10月的0.02版本,两个月以后,在1991年12月,Linux发布了0.11版本,这是第一个可以不依赖于Minix就可以使用的独立内核。 0.12版本发布一个月以后,在3月,版本号跳到了0.95,反映出系统正变得成熟,不仅如此,直到两年后,也就是1994年3月,具有里程碑意义的1.0.0才完成。 大约从这时起开始使用两“路”编号方法标注内核的开发,偶数号的内核 理解linux内核 理解linux内核 (比如1.0、2.2、2.4、2.6)是稳定的,“产品”型号,同时,奇数号的内核版本(1.1、2.3)是前沿的或者“发展中的”内核。一个稳定的内核发布以后几个月就开始新内核的开发工作。然而,2.5的开发工作是在2.4完成后几十个月以后才开始的。[

2018-01-13

jz2440使用的kernel

内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。内核的分类可分为单内核和双内核以及微内核。严格地说,内核并不是计算机系统中必要的组成部分。

2018-01-13

Jz2440v2对应的uboot

在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader来完成。在一个基于ARM7TDMI core的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。

2018-01-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除