关闭

linux设备树

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

库依赖问题解决办法

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

数据封装

数据封装的基本概念 日常生活中的经验:并不是类的每个属性都是对外公开的 如:女孩子不希望外人知道自己的年龄和身高 如:一些男孩子不希望别人知道自己会尿床 而一些类的属性是对外公开的 如:人类的姓名、学历,国籍等 因此,我们需要在我们的表示法中定义属性和行为的公开级别 类似文件系统中文件的权限 数据封装的基本概念 封装是一个面向对象的术语,指的是把属性定义和行为方法都包装于...
阅读(16) 评论(0)

JAVA之面向对象

面向对象的基本概念 基本概念 类和对象是面向对象中的两个基本概念 “类”指的是一类事物,是一个抽象的概念 “对象”指的是属于某个类的一个实体,是一个具体存在的事物 类是一种“模版”,可以通过这种模版创建出不同的对象“实例” 对象“实例”是类“模版”的一个具体实现 一个类可以有很多对象,而一个对象必然属于某个类 先说一个概念,老虎,我们都知道老虎是一个什么样的东西把 我们在...
阅读(17) 评论(0)

JAVA第四天

运算符和表达式 和C语言是一样的 算术运算符 ++和--优先级 最高 *,/,%优先级其次 +,-优先级最低 括号可以改变优先级 逻辑运算符 !运算符优先级最高 &&运算优先级其次 ||运算优先级最低 括号可以改变优先级 与C语言不同的话||、&&、!结果只能是true或者false 不是0跟1 关系运算符 JAVA中同类型的变量和常量都可以用==和!=...
阅读(14) 评论(0)

JAVA第三天

流程控制 流程控制语句是编程语言中的核心之一 分支语句 if-else和switch 循环语句for和while 跳转语句continue和break 分支语句 if 条件为真执行语句,条件为假不执行 例子程序 public class Main{         public static void main(String[] args){...
阅读(14) 评论(0)

JAVA第二天

JAVA语法规定,文件名必须跟文件里面被声明为public的class同名,比如我们上面的public class Main,我们那个JAVA的文件名就要叫Main 这里我们主要介绍一下标识符和数据类型 Java中的类名、变量名、函数名、常量名等都需要一个标识符作为它的名字 那么问题就来了,我如何去定义一个标识符呢。我们想到了我们C语言也有变量名,也有函数名等等。 这些都是标识符,C...
阅读(25) 评论(0)

JAVA第一天

类(class)是JAVA语言中的基本单元,在这里我们这么理解,我们C语言中有struct结构体,struct把不同变量的类型全部集合在一块声明,比如说int型啊,float型啊。但是JAVA对这个进行了一丁点的扩展,在这个类里面不但可以定义变量,还可以定义函数,跟C语言中的struct 有所不同,给了它新的名字叫做类,在这里我们先把这个认为是一个包含了变量和函数的集合 JAVA里面规定类是基本...
阅读(36) 评论(0)

安卓应用测试程序

打开我们androidstudio 我们要创建一个新的安卓应用工程 选第一个   start a new android studio projiect 先填写应用程序的名字,我们取名为led_test,然后输入公司的名字,这个可以随便取 这两个名字确定之后,包的名字也就确定了,就是con.examole.eight.led_test 很多人对包这个概念没有一个认识, ...
阅读(28) 评论(0)

内核中的

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

PCIE读办卡信息代码

本代码是小白写的如果各位大神有好代码 请在下方留个方式 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include ...
阅读(29) 评论(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的总线号。一...
阅读(27) 评论(0)

Makefile学习(1)

1.基本格式 target ... : prerequisites ...  command  target 也就是一个目标文件,可以是 Object File,也可以是执行文件。还可以是一个标签(Label),对于标签这种特性,在后续的“伪目标”章节中会有叙述。  prerequisites 就是,要生成那个 target 所需要的文件或是目标。 command 也就是 make 需要执...
阅读(22) 评论(0)

设计NDK程序

分为3步 1.编写头文件 2.编程源程序 3.编写MAKEFILE 但是头文件是用相应的命令自动产生的 源文件就是我们自己写的.c或者.c++ 最后就是编写我们android.mk这个makefile JNI是JAVA语言调用我们C和C++的提供的一种通道一种机制 这种机制就是因为JAVA语言的弊端 NDK可以更加方便的为我们的JNI的程序开发提供帮助 这个程序的设计流程是比...
阅读(80) 评论(0)

安卓驱动程序架构

我们回忆上一篇文章的两种驱动模型 第一种驱动模型当中是内核级别的驱动程序,还会有个APP 我们驱动程序提供出来的接口是ioctl接口,我们APP采用的是JAVA语言编写的,但是我们JAVA语言是没有IOCTL这个函数的 既然没有,怎么链接到我们底层的ioctl呢,所以这里要引入第三方,用JAVA语言写的APP调用到我们C和C++编写的程序,用JNI就可以调用 JNI是JAVA NATIVE...
阅读(71) 评论(1)

安卓LED驱动开发体验

我们怎么将PC上的程序放到安卓设备上,这里给大家讲一个软件ADB ADB采用的是USB的硬件链路,硬件链路还有网线的。 在我们PC上运行一个ADB的客户端程序,然后在我们安卓设备上运行我们adb的服务端程序 有了客户端程序之后,我们可以利用客服端程序非常轻松的把我们想传到安卓设备上面的文件通过USB链路传到安卓设备上面去 我们下面就讲如何用ADB传文件 我们先来看看我们m...
阅读(45) 评论(0)

安卓源代码核心结构

安卓体系结构图如下 第一层是我们的APP层,在这个层次中有我们熟悉的应用程序,也是我安卓系统自带的一些应用程序,比如说我们的通讯录,比如说我们的电话本,比如说我们短信,这都是我们系统自带的一些运用程序,但是除此之外还可以自己开发一些运用程序放到这个层次当中。 第二层是我们框架层,在这个层次中包括了10最主要的部分。包括我们的活动管理层,窗口管理器,内容提供者,试图子系统,通知管...
阅读(52) 评论(0)

安卓系统的制作

要制作安卓系统,首先需要拿到移植好的,开发板可以用的安卓源代码,这个源代码一般是在开发板光盘里面 解压之后就变成了这样 第一步是设置我们运行环境变量的脚本 在我们源代码当中是setenv这个脚本 启动我们脚本 然后运行lunch lunch就是一个配置的过程 这里有这么多平台类型来选择 但是我们这里用的是工程版本 选择你对应的工程版本 选完之后会看到配置信...
阅读(41) 评论(0)

安装交叉工具链与编译安卓的uboot

我们下载好的工具链是arm-2009q3.tar 解压安装 在你这个安装包的路径下输入 tar jxvf arm-2009q3.tar 解压完之后我们需要把它安装到我们opt目录下面去 然后把这个解压之后的包移到我们opt目录下 然后我们敲入如下命令就可以看到我们想要的工具了 我们为了任何地方都可以使用到我们的工具 我们要把它加到path环境变量里面去 然...
阅读(23) 评论(0)

版本控制工具GIT

GIT简介 GIT是一款免费的、开源的分布式版本控制系统。分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆在本地机器上拷贝一个完整的仓库 CVS和SVN是集中式的版本控制系统,我们今天要介绍的git是i分布式的 集中式的与分布式的区别在哪里,举个例子: 集中式的控制系统不明思意肯定要把所有的东西都集中到一块,我们为了理解取名叫中央服务器,比如说我们要做项目,所有的代...
阅读(46) 评论(0)
72条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:5704次
    • 积分:753
    • 等级:
    • 排名:千里之外
    • 原创:72篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    最新评论