10 2017 档案
摘要:GUI 程序除了要绘制控件,还要响应系统和用户事件,例如重绘、绘制完成、点击鼠标、敲击键盘等。当事件发生时,UI 会产生相应的变化,让用户直观地看到。 大部分编程(例如Win SDK、Web前端)中使用回调函数来响应事件,而 Qt 却独创了信号和槽机制。 所谓回调函数,就是程序员提前定义一个函数,当
阅读全文
摘要:Android驱动开发之Hello实例: 驱动部分 modified: kernel/arch/arm/configs/msm8909-1gb_w100_hd720p-perf_defconfig modified: kernel/arch/arm/configs/msm8909-1gb_w100_
阅读全文
摘要:http://p.codekk.com/ http://www.apkbus.com/code.php http://androidxref.com/ https://www.androidos.net.cn/ 下载链接 百度云盘链接: http://pan.baidu.com/s/1i3ph1fJ
阅读全文
摘要:LK是什么 LK 是 Little Kernel 它是 appsbl (Applications ARM Boot Loader)流程代码 ,little kernel 是小内核小操作系统。 LK 代码 在 bootable/bootloadler/lk 目录下 LK 代码结构 +app // 应用
阅读全文
摘要:因为项目需要,我们需要在开发板上使用QT开发平台,因此需要编译一个arm版的QT. 在网上找了一些资料,费了几天时间,终于成功了。 第一步,准备源码 先下载QT 源码,在http://qt-project.org/downloads页面,找到Qt libraries 4.8.6 for embedd
阅读全文
摘要:Linux上的静态库,其实是目标文件的归档文件。 在Linux上创建静态库的步骤如下: 下面通过实例具体讲解。 写源文件,生成目标文件。 第一个源文件 my_print.c 源文件2: my_math.c 使用gcc,为这两个源文件生成目标文件: 我们就得到了 my_print.o 和 my_mat
阅读全文
摘要:Linux下动态库文件的文件名形如 libxxx.so,其中so是 Shared Object 的缩写,即可以共享的目标文件。 在链接动态库生成可执行文件时,并不会把动态库的代码复制到执行文件中,而是在执行文件中记录对动态库的引用。 程序执行时,再去加载动态库文件。如果动态库已经加载,则不必重复加载
阅读全文
摘要:前言 使用文件进行进程间通信应该是最先学会的一种IPC方式。任何编程语言中,文件IO都是很重要的知识,所以使用文件进行进程间通信就成了很自然被学会的一种手段。考虑到系统对文件本身存在缓存机制,使用文件进行IPC的效率在某些多读少写的情况下并不低下。但是大家似乎经常忘记IPC的机制可以包括“文件”这一
阅读全文
摘要:一、Nginx安装(基于CentOS 6.5) 1.yum命令安装 yum install nginx –y(若不能安装,执行命令yum install epel-release) 2. 启动、停止和重启 service nginx startservice nginx stopservice ng
阅读全文
摘要:大学毕业,初入公司,招进去的是android驱动开发工程师的岗位,那时候刚进去,首先学到的就是如何搭建kernel、android的编译环境,然后就是了解如何刷设备以及一些最基本的工具。如adb、fastboot、grep、minicom、kermit、svn、git、eclispe、ndk等相关的
阅读全文
摘要:i++ :先引用后增加++i :先增加后引用i++ :先在i所在的表达式中使用i的当前值,后让i加1++i :让i先加1,然后在i所在的表达式中使用i的新值 一、c语言中i++和++i的运行效果是不一样的,下面的都是摘自网上各地方的资料: 1.后置运算:k++表示先运算,后自加。 意思是遇到k++了
阅读全文
摘要:一直都想亲自做一次使用android应用程序访问Linux内核驱动的尝试,但总是没能做到。最近抽出时间,下决心重新尝试一次。尝试的开始当然是先写一个Linux内核驱动了。 我希望写一个简单测驱动程序,实现写一个字符串进去,然后再把它读出来的功能。驱动中会创建dev/hello设备节点和/sys/cl
阅读全文
摘要:[导读]某天某日某产房,你诞生了(power up , 上电运行),结果你不哭,医生把你提起来,屁股上狠狠一巴掌,你哇哇大哭(reset, 复位成功),护士给你检查,看有没有传染病(EMI测试),然后打预防针(绝缘处理),没有问题后作记录(QC pass),你的父母来接你回去(客户验收)。 某天某日
阅读全文
摘要:驱动概述 说到 android 驱动是离不开 Linux 驱动的。Android 内核采用的是 Linux2.6 内核 (最近Linux 3.3 已经包含了一些 Android 代码)。但 Android 并没有完全照搬 Linux 系统内核,除了对Linux 进行部分修正,还增加了不少内容。and
阅读全文
摘要:双向循环链表是基于双向链表的基础上实现的,和双向链表的操作差不多,唯一的区别就是它是个循环的链表,通过每个节点的两个指针把它们扣在一起组成一个环状。所以呢,每个节点都有前驱节点和后继节点(包括头节点和尾节点)这是和双向链表不同的地方。我们看下双向循环链表的示意图(我在网上找了张图片,自己画的实在难看
阅读全文
摘要:并发: 多个执行单元同时被执行. 竞态: 并发的执行单元对资源 ( 硬件资源和软件上的全局变量等 ) 的访问导致的竞争状态. 并发的处理: 处理并发的常用技术是加锁或者互斥,即保证在任何时间只有一个执行单元可以操作共享资源. 在 Linux 内核中主要通过 semaphore 机制 (信号量)和sp
阅读全文
摘要:我们看招聘信息的时候,经常会看到这一点,需要具备SSH框架的技能;而且在大部分教学课堂中,也会把SSH作为最核心的教学内容。 但是,我们在实际应用中发现,SpringMVC可以完全替代Struts,配合注解的方式,编程非常快捷,而且通过restful风格定义url,让地址看起来非常优雅。 另外,My
阅读全文
摘要:1:linux字符设备及udev 1.1字符设备 字符设备就是:一个一个字节来进行访问的,不能对字符设备进行随机读写。简单字符设备创建实例如下: [cpp] view plain copy print? #include <linux/module.h> #include <linux/kernel
阅读全文
摘要:Make Menuconfig简介 make menuconfig 图形化的内核配置make mrproper 删除不必要的文件和目录. #make config(基于文本的最为传统的配置界面,不推荐使用) #make menuconfig(基于文本选单的配置界面,字符终端下推荐使用) #make
阅读全文
摘要:异常体系比较复杂,但是linux已经准备了很多的函数和框架,但是因为中断是和具体的开发板相关,所以中断需要我们自己来处理一些方面,但是这也是很少的一部分,很多公用的处理函数内核已经实现,linux内核搭建了一个非常容易扩充的中断处理体系。 中 断系统结构涉及的方面很多,而且分布在很多的函数中,这里我
阅读全文
摘要:内核态和用户态通讯知识收集 在一台运行 Linux 的计算机中,CPU 在任何时候只会有如下四种状态: 【1】 在处理一个硬中断。 【2】 在处理一个软中断,如 softirq、tasklet 和 bh。 【3】 运行于内核态,但有进程上下文,即与一个进程相关。 【4】 运行一个用户态进程。 1.
阅读全文
摘要:为什么需要内核锁? 多核处理器下,会存在多个进程处于内核态的情况,而在内核态下,进程是可以访问所有内核数据的,因此要对共享数据进行保护,即互斥处理 有哪些内核锁机制? (1)原子操作 atomic_t数据类型,atomic_inc(atomic_t *v)将v加1 原子操作比普通操作效率要低,因此必
阅读全文
摘要:在SMDK210.C中添加如下beeper_device 结构体 static struct platform_device beeper_device = { .name = "pwm_buzzer", .id = 1, .dev = { .parent = &s3c_device_timer[1
阅读全文
摘要:Title: 位操作基础篇之位操作全面总结Author: MoreWindowsE-mail: morewindows@126.comKeyWord: C/C++ 位操作 位操作技巧 判断奇偶 交换两数 变换符号 求绝对值 位操作压缩空间 筛素数 位操作趣味应用 位操作笔试面试 位操作篇共分为基础篇
阅读全文
摘要:阅读目录 系统调用 虚拟文件系统 I/O 缓冲区 Page Cache Address Space 文件读写基本流程 阅读目录 系统调用 虚拟文件系统 I/O 缓冲区 Page Cache Address Space 文件读写基本流程 回到顶部 系统调用 操作系统的主要功能是为管理硬件资源和为应用程
阅读全文
摘要:第一部分--进程调度 进程调度:操作系统规定下的进程选取模式 面临问题:多任务选择问题 多任务操作系统就是能同时并发地交互执行多个进程的操作系统,在单处理器机器上这会产生多个进程在同时运行的幻觉,在多处理器机器上,这会使多个进程在不同的处理机上真正同时、并行地运行。无论在单处理器或者多处理器机器上,
阅读全文
摘要:一般情况下,Linux系统中,进程的4GB内存空间被划分成为两个部分 用户空间和内核空间,大小分别为0~3G,3~4G。 用户进程通常情况下,只能访问用户空间的虚拟地址,不能访问到内核空间。 每个进程的用户空间都是完全独立、互不相干的,用户进程各自有不同的页表。而内核空间是由内核负责映射,它并不会跟
阅读全文
摘要:一.SPI协议简要介绍 SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越
阅读全文
摘要:一 overview 1 table of contents -*** 2 product overview -*** 芯片概述 3 feature *** 每一个功能的特点 4 block diagram -****** 芯片的内部组织结构框图 4.1 arm core 芯片所选用的arm内核版本
阅读全文
摘要:mmap在linux哪里? 什么是mmap? 上图说了,mmap是操作这些设备的一种方法,所谓操作设备,比如IO端口(点亮一个LED)、LCD控制器、磁盘控制器,实际上就是往设备的物理地址读写数据。 但是,由于应用程序不能直接操作设备硬件地址,所以操作系统提供了这样的一种机制——内存映射,把设备地址
阅读全文
摘要:最近在写一个云备份的项目,其中有一个模块是要监控计算机本地的文件,于是我翻了翻linux/unix系统编程手册发现了inotify这个用于文件监控的框架 1.概述 1)inotify机制可用于监控文件或目录。当监控目录时,与该目录自身以及该目录下面的文件都会被监控,其上有事件发生时都会通知给应用程序
阅读全文
摘要:明天又要去面试了,趁次机会也将以前做的东西总结一下,为以后理解提供方便,也再加深下印象。 网络视频监控与人脸识别主要由三个程序组成:1、视频采集与传输程序;2、接受与显示程序;3、人脸识别程序。下面就分别来分析一下这三个程序。 一、视频采集与传输程序(Servfox) 关键部分解析: 1、视频数据采
阅读全文
摘要:#include <linux/kernel.h>#include <linux/errno.h>#include <linux/module.h>#include <linux/init.h>#include <linux/errno.h>#include <linux/pci.h>#includ
阅读全文
摘要:语法子集很小,易用。 模块:module…endmodule 端口:input,output,inout(双向特殊) inout比较难用,有一张真值表,需要大家观察后书写,基本原则就是输入时一定是高阻态(z),与问号冒号运算符搭配使用。 信号:wire,reg,tri(测试用)… reg与wire常
阅读全文
摘要:(本连载共七部分,这是第一部分) 作者:McuPlayer2013 (EETOP FPGA版块版主) 原帖地址:http://bbs.eetop.cn/thread-385362-1-1.html) 以下是正文: 这是一个大任务,但我打算只是引门外汉入门,大约7个帖子来完成,一周入门FPGA。1、假
阅读全文
摘要:《程序员》杂志的编辑约我写一篇命题作文,想了几天都无从下手不知道写什么才好。在这篇文章里,我不打算将创业的艰辛与喜悦重新回忆一遍,我确实不想去误导大家,因为我所处的年代是一个物质缺乏的年代,成功相对来说要容易得多。每个人的成长经历都有其个性化的东西,每个人的成功创业经验虽然有一些可以遵循的普遍规律,
阅读全文