- 博客(52)
- 资源 (4)
- 问答 (6)
- 收藏
- 关注
原创 Android Serial Tools
如果在android应用层想要使用serial, 有两种方式:app调用jni接口, 访问对应的设备节点. (java->jni->Serial)app访问系统服务, 通过服务调用jni接口访问串口设备.(java->service->jni->hal->serial驱动)下面我们就针对两种方式进行实现:JNI方式访问系统服务方式1, 系统修改...
2019-07-01 19:27:30
1003
原创 RK3399 I2C 外设接入
I2C 探测参考rk3399 自带了i2c的探测功能. 需要我们将其打开. 当i2c外设接入后可以先用i2c_detect来探测设备是否成功被识别.打开I2C_detect修改configrk3399/source/kernel/arch/arm64/configs添加:修改kconfig文件rk3399/source/kernel/drivers/i2c/busses/Kco...
2019-06-14 18:35:39
2535
原创 Android Usb源码分析
android上usb设备接入,拔出, 读写操作过程分析a. usb设备插入,如何组成usbdevice. 存放在UsbManager.devicesList.usb设备插入后host端如何获取该设备信息呢?分析:当usb设备接入时, 会有硬件产生中断. 收到中断后host端会由总线驱动程序根据usb协议, 对端口0地址发送一个请求包给usb设备.设备收到请求后会将自己的设备描述符信...
2019-04-16 18:23:23
2504
原创 linux wreshark usb 抓包
过滤制定设备数据将usb设备插入主机,可以看到在当前bus上有很多设备的数据,我们需要将指定usb设备过滤出来。每一个usb设备插入时,host端都会先发一个获取设备描述的指令。usb设备收到该指令后会返回一个自身信息的包给到host。我们可以根据收到返回数据信息中找到指定设备,然后根据编号设置过滤条件。usb.src == “1.16.0” || usb.dst==“1.16.0...
2019-04-03 16:46:45
514
翻译 STM32-ISP烧写步骤
1 将usb连接到开发板和pc的usb端口, 如果需要装驱动则安装指定驱动.2 安装完后会在设备管理器中显示对应的串口. 打开FlyMcu刷机工具按如下配置.3 设置选项字节等4 杨桃1号开发板刷机设置说明介绍一下核心板上的ASP功能。在核心板上的一个“MODE”按键和一个“ASP”指示灯,如图9所示。单击MODE键可以开关开发板的电源,电源开启时ASP指示灯点亮,...
2019-03-27 09:58:19
11136
原创 ADPCM音频编解码
前言参考所谓ADPCM编码是一种自适应差分脉码调制技术。它可以对音频数据在毫无损失的前提下,将数据量压缩为原来的1/4,这对于音频来说,意义是重大的.ADPCM源于微软的Windows,一般的WAV文件就是使用它来编码的,WAV是Windows上的标准音频格式。ADPCM算法已经被标准化了,现行使用的是IMA-ADPCM,即IMA组织制订的ADPCM算法。这种算法比较简单,但却有较高的压缩比...
2019-03-08 16:45:36
2015
原创 image-identify
1, 安装mysqlsudo apt-get install mysql-server查看版本:mysql -V登录 mysql -u root -p创建用户 mysql> CREATE USER ‘test’@‘localhost’ IDENTIFIED BY ‘1234’;这样就创建了一个名为:test 密码为:1234 的用户。注...
2019-03-08 16:44:24
321
原创 lua
ubuntu安装lua下载安装lua下载curl -R -O http://www.lua.org/ftp/lua-5.3.4.tar.gztar zxf lua-5.3.4.tar.gzcd lua-5.3.4make linux testmake install在执行make时可能会报readline什么的错误sudo apt-get install libreadl...
2019-03-08 16:42:12
160
原创 bat
5,定时执行:@echo off:startecho jajajachoice /t 5 /d y /n >nulgoto start1, 变量延长生命周期SETLOCAL ENABLEDELAYEDEXPANSION使用变量时,使用 !value! 包裹2, 获取外界输入值set tag1=%1 ->第一个值3,常用指令rem 表示此命令后的字符...
2019-03-08 16:41:52
184
原创 Python
python下载下载安装a. 下载python包 *.tar.bz2用tar –xjf 解压b. 一次执行./configure make make installubuntu 切换python版本sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100sudo updat...
2019-03-08 16:41:34
159
原创 Java
JAVA各种类型各占多少字节*,*多少位1个字节是8位只有8种基本类型可以算.其他引用类型都是由java虚拟机决定的自己不能操作byte 1字节short 2字节int 4字节long 8字节float 4字节double 8字节char 2字节boolean 1字节错误: 编码GBK的不可映射字符javac -encoding UTF-8 HelloWorle.j...
2019-03-08 16:41:03
318
原创 Cpp
重载运算符:operator//修改之前的point add()point operator+(point &p1,point &p2){ point n; n.x = p1.x + p2.x; n.y = p1.y + p2.y; return n;}//调用point a;point b;point c = a+b;友元函数将一...
2019-03-08 16:40:40
227
原创 Git
git tag使用 -------------------------------git tag //查看taggit tag test_tag c809ddbf83939 //在某个commit 上打taggit taggit push origin test_tag //!!!本地tag推送到线上git tag -d test_tag //本地删除tagg...
2019-03-08 16:39:30
240
原创 Vim
27, 常用操作参考26, 查找查找很长的词,如果一个词很长,键入麻烦,可以将光标移动到该词上,按*或#键即可以该单词进行搜索,相当于/搜索。而#命令相当于?搜索。:set hlsearch 高亮搜索结果,所有结果都高亮显示,而不是只显示一个匹配。25, vim跳转之前位置Ctrl + OCtrl + I装了Ctag的插件可以跳转 Ctrl+】。查看函数调用。24, vim 查...
2019-03-08 16:38:48
208
原创 音频知识
参考简介PDM代表脉冲密度调制。然而,更好的简称是“1比特过采样音频”,因为它只不过是一个高采样率、单比特的数字系统。如果要找一个优点的话,那就是采样率是音频CD的好几倍,且用一个适当的方式将字长从16bit减小到1bit,这将作为一个PDM系统的基础。 大多数现代的数字音频系统使用多比特PCM(脉冲编码调制)以表征信号。PCM有利于简化处理。这使得信号处理的操作可以在音频流上完成...
2019-03-08 16:37:30
2995
原创 静态库和动态库
我们通常把一些公用函数制作成函数库,供其它程序使用。函数库分为静态库和动态库两种。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。本文主要通过举例来说明在Linux中如何创建静态库和动态库,以及使用它们。在创建函数库前,我们先来准备举例用的源程序,并将函数库的源程...
2019-03-06 10:56:58
156
原创 .config、Kconfig、Makefile
参考-menuconfig过程参考-区别关系描述Kconfig —> (每个源码目录下)提供选项.config —> (源码顶层目录下)保存选择结果Makefile —> (每个源码目录下)根据.config中的内容来告知编译系统如何编译在Linux内核源码的各层目录下。都存在一个Kconfig文件和一个Makefile文件,.config文件存在顶层目录...
2019-03-06 10:56:32
311
原创 Input sub system
drivers/input/input.c: input_init > err = register_chrdev(INPUT_MAJOR, "input", &input_fops); static const struct file_operations input_fops = { .owner = THIS_MODULE, .open = input_open_fi...
2019-03-06 10:55:52
255
原创 I2C
i2c 简单原理1,主芯片发出start信号(scl高电平,sda从高电平拉低)后,用9个时钟来发送一八数据,第九个时钟用来等待从设备回应。2, 如果收到回应信号,则继续发送或接受,如果没有ack,则后续不再操作。3,结束信号(scl高电平,sda由低拉高)。4,传送数据中,scl低电平时,sda可变。在一个sda线上双向传输i2c控制器发生i2c终端时,scl被拉低...
2019-03-06 10:55:13
193
原创 support div
裸版支持除法报错:: undefined reference to `__floatsidf'lcd/s3c2440_lcd_controller.o(.text+0xd0): In function `s3c2440_lcd_controller_init':: undefined reference to `__divdf3'lcd/s3c2440_lcd_controller.o(...
2019-03-06 10:54:25
343
原创 LCD
LCD 工作原理参考文章编程操作a. 取数据 : 把framebuffer的地址告诉LCD控制器, bpp, 分辨率b. 发数据 : 把时序告诉LCD控制器、设置引脚的极性
2019-03-06 10:53:51
172
原创 Nor Flash
通过uboot来体验一下nor 操作:读数据md.b 0读IDNOR手册上:往地址555H写AAH往地址2AAH写55H往地址555H写90H读0地址得到厂家ID: C2H读1地址得到设备ID: 22DAH或225BH退出读ID状态: 给任意地址写F0H2440的A1接到NOR的A0,所以2440发出(555h<<1), NOR才能收到555h这个地...
2019-03-06 10:53:27
478
原创 Nand Flash
第001节_NAND_FLASH操作原理NAND FLASH是一个存储芯片那么: 这样的操作很合理"读地址A的数据,把数据B写到地址A"问1. 原理图上NAND FLASH和S3C2440之间只有数据线,怎么传输地址?答1.在DATA0~DATA7上既传输数据,又传输地址当ALE为高电平时传输的是地址,问2. 从NAND FLASH芯片手册可知,要操作NAND FLASH需要先发出命...
2019-03-06 10:53:04
218
原创 异常和中断
1. 概念引入与处理流程2. CPU模式(Mode)_状态(State)与寄存器7种Mode: usr/sysundefined(und)Supervisor(svc)Abort(abt)IRQ(irq)FIQ(fiq)2种State: ARM stateThumb state寄存器: 通用寄存器备份寄存器(banked register)当前程序状态寄存器(Curren...
2019-03-06 10:51:38
250
原创 USB Driver
USB Driver基于linux的usb驱动及libusb的常用接口usb的硬件设计usb协议Linux usb驱动libusb的使用基于linux的usb驱动及libusb的常用接口基于linux的usb驱动分析和host端基于libusb的接口实现usb的读写.usb的硬件设计USB的硬件设计简单介绍usb协议USB的概念和协议等.问1. 既然还没有&amp;amp;amp;amp;quot;驱动程序&amp;amp;amp;amp;quot;,为何能知道
2019-03-06 10:51:15
1858
原创 代码重定向
开发板上存储模块1, 4k片内存储SRAM,可读可写,如果是nor启动,启始地址是0x4000 0000,如果是nand启动,启始地址是0.2, SDRAM,可读可写,启始地址是0x3000 00003, 所以当我们把bin文件烧写到nor或者nand时,需要进行代码重定向.4, 一个程序包含一下内容: 代码段(text),数据段(全局变量data),只读数据段(const全局变量 ro...
2019-03-05 10:57:43
983
原创 sdram内存控制
cpu如何获取内存中数据通过地址线,数据现和偏选信号(chip select) 和存储器(网卡,sdram,nor…)件相连, 通过发出地址个内存控制器,由内存控制器将数据取出返回给cpu.如何控制不同存储之间不会项目干扰内存控制器会根据不同addr来发出偏选信号, 没有偏选信号的设备不会响应寻址操作.内存控制器寻址能力和地址线数量有关, A1~A27个地址先可以寻址128M空间.不同...
2019-03-05 10:57:11
433
原创 SRAM,SDRAM,NOR,NAND
发现自己先前对于SRAM、SDRAM、nor flash、nand flash的理解十分模糊,所以重新查阅资料学习,现分析如下:1、SRAM(Static Random Access Memory)静态随机存取存储器,它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据,掉电消失。制作工艺复杂,成本较高,所以使用较少。一般容量较小,但是读写速度很快。2、SDRAM(Sync...
2019-03-05 10:56:44
1384
转载 终极内存技术指南
作为电脑中必不可少的三大件之一(其余的两个是主板与CPU),内存是决定系统性能的关键设备之一,它就像一个临时的仓库,负责数据的中转、暂存……不过,虽然内存对系统性能的至关重要,但长期以来,DIYer并不重视内存,只是将它看作是一种买主板和CPU时顺带买的“附件”,那时最多也就注意一下 内存的速度。这种现象截止于1998年440BX主板上市后,PC66/100的内存标准开始进入普通DIYer的视野...
2019-03-05 10:56:19
224
原创 uart串口
简单原理图RS-232可以支持更长距离传输如何使用:设置波特率和格式(数据位,停止位,校验位,流控)传输能力: 一秒能传多少数据(根据波特率和格式决定)其他:fatal error: sys/cdefs.h No such file or directory 解决方案在64位的ubuntu系统,使用gcc想编译出32位的应用程序,需要使用gcc -m32选项,但是使用...
2019-03-05 10:55:29
230
原创 clock时钟
时钟种类soc芯片上,时钟一般分为三种:1, fclk : 一般是cpu工作的时钟.2, hclk: AHB总线上适用(High), 如usb,内存,相机等.3, pclk: APB总线使用(peripheral), 入i2s,i2c,spi 等.如何得到不同频率的时钟.1, osc:表示晶振(2440上是16M).2, pll表示锁相环(Phase-Locked-Lo...
2019-03-05 10:54:54
2994
原创 jz2440 nfs 挂载
保证网络在统一端口,保证开发板和虚拟机可以ping通pc机通过ipconfig查看:例如192.168.3.223linux虚拟机通过ifconfig: 例如192.168.3.225开发板和虚拟机一样, 如果不在3网段则修改ifconfig eth0 192.168.3.43ifconfig虚拟机上安装nfs服务sudo apt-get inst...
2019-03-05 10:54:16
782
原创 Makefile
Makefile的语法通配符: %.o$@ 表示目标$< 表示第1个依赖文件$^ 表示所有依赖文件打印变量信息$(info/warning/error) 来打印@echo 打印但是需要在target后面,并且加上tab.pwd:=$(shell pwd)$(info "info")$(warning "warning")$(error "error: this ...
2019-03-05 10:53:44
98
原创 ARM汇编指令
问题:没有说清楚arm读取指令字对齐最低两位是零问题.参考:arm读取指令字对齐最低两位是零ldr和mov的区别参考: LDR 和MOV 指令区别LDR : 读内存,load例子: LDR r0,[r1]解释: 假设r1的值是0x123,读取0x123地址的数据(4字节),保存到r0中例子: LDR r0,#0x12345678解释: 错误指令,#0x12345...
2019-03-05 10:52:18
292
原创 Uboot
1, 解压uboottar xjf u-boot-1.1.6.tar.bz22, 打补丁, -p1 表示乎略掉patch中的第一个目录,因为当前已经进到该目录了.patch -p1 < u-boot-1.1.6_jz2440.patch在patch中–表示原始文件,++表示修改后文件.3, 配置make 100ask24x0_config4, 编译make如...
2019-03-05 10:50:38
153
原创 ALSA音频驱动概述
文章出处官网介绍概述ALSA(Advanced Linux Sound Architecture)是linux上主流的音频结构,在没有出现ALSA架构之前,一直使用的是OSS(Open Sound System)音频架构。关于OSS的退出以及ALSA的出现,可以看 Linux音频驱动-OSS和ALSA声音系统简介及其比较。关于OSS和ALSA音频架构之间的区别图如下:主要的区别就是在O...
2019-02-27 09:37:53
464
原创 Linux常用操作
查找问题中字符串出现次数cat file|grep -i 字符串 |wc -llubuntu 回复默认任务栏google 搜索 : lubuntu lxpanel default参考cp /usr/share/lxpanel/profile/Lubuntu/panels/panel ~/.config/lxpanel/Lubuntu/panelslxpanelctl restart...
2019-02-27 09:36:39
876
IMEI_check
2017-09-15
commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar
2015-06-01
ubuntu虚拟机硬盘扩容问题
2017-05-01
格式会变动的json怎么解析
2016-12-21
PreferenceFragment中设置的值是否可以直接在其他地方访问
2016-12-18
js动态创建的方法传递参数
2015-09-25
在jsp中两个页面和在一起切换显示
2015-06-16
android surfaceview 和activity之间数据传递
2015-06-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人