自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(101)
  • 问答 (1)
  • 收藏
  • 关注

原创 MTK task

1./************************************************************ ************************************************************ ************************************************************/ 在MTK M

2017-05-28 12:58:47 1074 1

原创 专业单词

step [step] n. 步,脚步;步骤;步伐;梯级 vi. 踏,踩;走 vt. 走,迈步 genius [‘dʒiːnɪəs] n. 天才,天赋;精神 guide [gaɪd] n. 指南;向导;入门书 vt. 引导;带领;操纵 vi. 担任向导 n. (Guide)人名;(法、葡)吉德 serial [’sɪərɪəl] adj. 连续的;连载的;分

2017-05-17 19:32:59 666

原创 android开发流程说明

一、android的编译1. 源码包 bsp包 --> 1. u-boot 2. zImage 3. android源码 (还有参考开发板)2. 我们需要定制我们自己需要的功能,就只需要移植(camera、lcd屏、触摸屏等)3. android源码中的文件类型JDK(c、c++、java、python脚本),安装各种工具。JDK、c、c++的编译工具autmake、python4

2017-05-15 21:23:24 659

原创 camera应用

说明: 1 v4l2.c 参考 v4l2uvc.c 内核参考uvc_v4l2.c yuv2rgb.c 参考 utils.c 2 yuv/rgb565 2字节/像素 rgb24 3字节/像素 rgb32 4字节/像素 3 取得LCD屏的分辨率 GetDispResolvtion(int width,int height,int* iLcd

2017-05-11 08:11:16 378

原创 camera驱动

通过i2c总线配件camera硬件寄存器1. 驱动流程 a 创建i2c_driver,并注册到总线 /* 1.1. 分配、设置一个i2c_driver */ static struct i2c_driver cmos_ov7740_driver = { .driver = {

2017-05-09 12:07:52 684

原创 i2c总线2

i2c是站在soc角度开发的每次发送的数据位8bitack:在第9周期soc把sda拉高,从设备把它拉低i2c控制器(i2c_adapter):i2c协议的时钟(系统自带),与硬件打交道,有算法发送数据和解析数据 adap->algo->master_xfer( )协议:都用英语沟通总线:都有driver、client,匹配正确后调用probe( )方法.匹配是根据 compatibl

2017-05-09 11:23:25 405

原创 shell常用命令

1 sudo shutdown -r 0 //马上重启 sudo shutdown -i 0 //马上关机

2017-04-20 17:48:19 255

原创 android ADB use

1 将 adb.exe AdbWinApi.dll AdbWinUsbApi.dll 复制到 C:\Windows\System322 在电脑 -> 设备管理器 -> Android Phone(ADB interface) -> 属性 -> 详细信息 -> 硬件id -> USB\VID_1234&….3 在电脑中查找 a

2017-03-29 10:13:25 240

原创 c++ 是简单开发

一、创建一个类 socket.h#ifndef __SOCKET_MD05_H_#define __SOCKET_MD05_H_#pragma once#pragma comment(lib, "Ws2_32.lib")#include "stdafx.h"#include <WinSock2.h>#include <stdio.h>#include <iostream>#inclu

2017-03-25 19:36:28 218

原创 hal层代码

1 两个重要的结构体 a hw_module_t (用于包名) b hw_device_t (实现jni层实现的代码)2 在 myhal.cpp中封装着两个结构体,

2017-03-17 18:51:20 527

原创 shell脚本中接收返回值

/md05_sample //可执行程序if [ $? -eq 1 ] //$? 为md05_sample的exit()或return 返回then /home/dvr/bin/main_wifi ${rtc} & //如果返回值为1时执行else echo "test pcb "fi

2017-03-15 15:52:11 2079

原创 android开发知识 logcat

1. 创建文件并给定默认权限 uevent.rc uevent.xxx.rc2. 加载驱动文件 init.rc3. android.mk 将 c/c++ 文件编译为 *.elf *.so *.a 将 java 文件编译为 apk class *.jar4. 调试信息 a java 代码 final string TAG="hua

2017-03-14 21:59:24 250

原创 JNI编程

JNI 的基本内容理解JNI的作用a java native interface ( 提供调用本地方法的接口)b java 调用c/c++ 时是通过jni层间接调用c jni的技术是在vm中实现JNI的编程1. 编写app: static{ //优先执行 System.loadLibrary("led_jni"); // /system/lib/li

2017-03-14 20:50:14 365

原创 Android启动流程--学会使用init.rc

补充: zygote(受精卵) --> 图形界面 (普通的linux没有,android有)解决: 1. android使用的toolbox命令集,使用不方便 答: 使用busybox进行替代 2. 每次开机的时候都会手动去启动androidvncserver 答: 开机就执行ubuntu 的启动过程android源码编译步骤:

2017-03-14 19:36:08 402

原创 vim打开文件出现^M的解决方法

1 安装tofrodos $ sudo apt-get install dos2unix    2 直接转换成unix格式 $ dos2unix filename

2017-03-13 17:50:30 630

原创 shell终端命令、vim命令模式快捷键

1 shell 命令行常用的快捷键: ctrl + a //移动到最前 ctrl + e //移动到最尾 ctrl + k //当前位置剪切到最前 ctrl + u //当前位置剪切到最尾 ctrl + w //剪切钱一个单词 ctrl + p //上一次命令2 vim 命令模式下常用的快捷键: h

2017-03-11 13:47:43 1654

原创 linux 恢复删除的文件

1 下载extundelete工具 sudo apt-get install extundelete (手动安装 wget http://nchc.dl.sourceforge.net/project/extundelete/ extundelete/0.2.4/extundelete-0.2.4.tar.bz2 ) su

2017-03-09 18:01:39 299

原创 ubuntu更新源

14.04 源 $ sudo vi /etc/apt/sources.listdeb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiver

2017-03-06 12:01:12 330

原创 linux设置环境变量

a、export/set 查看已经设置的环境变量: 1 用export命令查看 huazai@ubuntu:~$ export declare -x CPPFLAGS=" -I/usr/local/lib" declare -x HOME="/home/huazai" declare -x LANG=

2017-03-02 23:01:28 4765

原创 ubuntu安装zbar二维码扫描

wget http://downloads.sourceforge.NET/project/zbar/zbar/0.10/zbar-0.10.tar.gztar -zvxf zbar-0.10.tar.gzsudo apt-get install python-gtk2-devsudo apt-get install libqt4-devexport CFLAGS=""./configure

2017-03-02 11:34:04 6262 2

原创 sz、rz命令的使用

一、sz rz的安装 1.软件安装 (1)编译安装 root 账号登陆后,依次执行以下命令:cd /tmpwget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gztar zxvf lrzsz-0.12.20.tar.gz && cd lrzsz-0.12.20./configure && make && make install

2017-03-01 10:35:44 372

原创 opencv的arm移植

安装1 安装cmake及一些依赖库sudo apt-get install cmakesudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev2 安装opencv (非移植–ub

2017-02-28 16:33:36 761

原创 wifi之wpa_supplicant

eg.2、连接WEP加密AP @wpa_cli add_network (assume return 1) set_network 1 ssid “666” set_network 1 key_mgmt NONE set_network 1 wep_key0 “your ap password” enable_network 1wpa_cli 有“命令模式”和”交互

2017-02-27 17:46:31 965

原创 国科的u-boot烧录

gk7101开发准备: 1). 挂在根文件系统的目录 a. 打开文件:/etc/default/tftpd-hpa $sudo vi /etc/exports b. 写入以下内容: /opt/rootfs *(subtree_check,rw,no_root_squash,async

2017-02-25 15:27:46 1120 1

原创 shell脚本的使用

说明: $ chmod a+x ./test.sh #使脚本具有执行权限 a=20 b=10 1.算术运算符列表 运算符 说明 举例 + 加法 `expr $a + $b` 结果为 30。 - 减法 `expr $a - $b` 结果为 10。 *

2017-02-25 13:36:44 229

原创 烧录(u-boot、kernel、rootfs)

gk7101开发准备: 1). 挂在根文件系统的目录 a. 打开文件:/etc/default/tftpd-hpa @sudo vi /etc/exports b. 写入以下内容: /opt/rootfs *(subtree_check,rw,no_root_squash,async

2017-02-23 19:11:08 1822

原创 编译工程

#############################################################export CROSS=arm-goke-linux-gnueabi-#CROSS := arm-none-linux-gnueabi-CURDIR := $(shell /bin/pwd)ROOTDIR = ..#添加私有的头ADIDIR = ../../../ad

2016-12-16 20:54:02 318

转载 在驱动中创建文件(/sys 中查询)

device, driver 和bus的编程一、定义在/sys某个目录下创建一个文件: struct bus_attribute { struct attribute attr; ssize_t (*show)(struct bus_type *bus, char *buf); ssize_t (*store)(struct bus_t

2016-12-06 21:15:03 725

原创 linux 中HTTP简单的框架

server 想在Linux下实现一个简单的web Server并不难。一个最简单的HTTP Server不过是一个高级的文件服务器,不断地接收客户端(浏览器)发送的HTTP请求,解析请求,处理请求,然后像客户端回送数据。在大多是情况下,(GET、POST命令),服务求回传给客户端的都是文件(HTML 文档, 图片,JavaScript脚本等等)。下面是一个极简单的HTTP Server的demo

2016-11-30 14:35:49 583

原创 a~z

d. 对话 拽,拉扯 门 掉下 干的,讨论 挖 喝 干旱t. 穿过 城镇 旅游 塔,碰到 瘦的 团队 讲述 学期 解 湿度 转 s. 1. 第二的 部分 种子 分享 短的 相同的,选择 自己 感觉 萌 系列, 圣徒 座位 吸 盐 形状 相似的 贝壳,看起来 寻找 符号。 2. 春天 蛇 滑 球体 游泳,儿子 节省 声音 予 掌掴 唯一的 海绵, 拼写 固体的 站 坐,

2016-11-29 13:46:52 198

原创 led

一. pwm-led1. 在app_gpio.h 添加了一个结构体 typedef struct { GADI_HANDLE channe; //通道 // 0 , 2(1为红外) GADI_HANDLE duty; //占空比 // 1 ~ 999 ,default value(1000) GADI_HANDLE speed

2016-11-22 12:08:25 431

原创 同步/异步 | 全双工/半双工

图1 图2一、 同步和异步1. 在cpu和外设通信时外设要和cpu同步,所有使用的时间频率的一致的。 如:i2c总线中有scl时钟线、sda数据线。我们可以把它看成两个普通gpio 接口,当时钟线为高时,数据寄存器读 或写。2. 同步通信与异步通信: a. 同步(如上图1): 1. 把许多字符组成一个信息组,字符可以一个接一个地传输,每一次是传送一组信息(

2016-11-03 13:33:31 7116

原创 时钟系统

一、 理解时钟系统的在通信时的作用1) 目标时钟的三要素 a) 时钟源频率(24MHz) i. 时钟源一般来自于上一级时钟系统,(或者PLL倍频输出,外部时钟源直接提供) b) MUX(多路分选器) i. 可以为时钟选择不同的时钟源 c) DIVIder分频器 i. 可以通过DIV分频器分频之后,再给下一级2) PLL倍频

2016-11-03 13:18:00 962

转载 uart应用层设置

#include <stdio.h>#include <time.h>#include <string.h>#include <sys/types.h>#include <errno.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h> #include <termios.h>#include <stdlib.h>

2016-11-01 20:22:22 263

原创 platform 平台总线

一、 在/sys某个目录下创建一个文件:struct bus_attribute { struct attribute attr; ssize_t (*show)(struct bus_type *bus, char *buf); ssize_t (*store)(struct bus_type *bus, const char *buf, size_t count);

2016-10-28 21:52:43 365

原创 /proc、/dev、/sys

三个文件都是在内存上的,掉电丢失1 /proc 存放系统信息, cpu,mem, devices,interupt cat /proc/devices cat /proc/interrupt cat /proc/1/schedstat2 /dev 存放设备节点的(ls -l /dev/xxx 查看主次

2016-10-28 21:33:41 2857

原创 2.4 zImage 启动过程

1 内核启动:init /main.c --> start_kernel( ) -->setup_arch( ) -->rest_init( );2 setup_kernel( ) 1 建立平台相关的代码: cpu 时钟 内存 2 初始化: 进程 线程

2016-10-27 20:16:37 299

原创 arm 控制寄存器

一、 cpu工作原理:1. cpu是读取数据是通过寄存器的 1/0来读取的。2. cpu中对存储地址是分段的,每一段代表不同的存储类。3. cpu对外设的控制其实就是对寄存器的控制。二、 gpio(general purpose io)寄存器:1. 普通gpio是分组来管理的,每组由6个寄存器对gpio进行配置,每组实现的功能不一样。 1. GPC0CON[32:0] //

2016-10-27 15:44:46 812

原创 arm 的基本概念

一、 arm和linux的比较:linux : 驱动、文件、内存、网络(每个进程都有4GB的内存空间) 地址:通过ioremap( )将物理地址映射到内核中(通过gpio函数库也可以直接操作物理地址)arm : 驱动 地址:直接操作物理地址cpu :存储器、控制器二、 arm中的主要学习的内容有: GPIO、中断、时钟、uart、nand、I2C总线三、 arm 的4大件

2016-10-27 09:27:54 1096

原创 串口

GPA0CON &= ~0xff; GPA0CON &= 0x22; //配置串口0的为发送和接收功能ULCON0 = 0x3; //设置协议UCON0 = 0x5; //设置读写方式UTRSTAT0 //状态UTXH0 //发送数据buffer寄存器URXH0 //接收数据buffer寄存器UBRDIV0 = 35;

2016-10-26 17:02:24 349

空空如也

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

TA关注的人

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