自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

转载 ARM的TrustZone技术

Come From: http://www.arm.com/zh/products/processors/technologies/trustzone.php TrustZoneARM TrustZone® 技术是系统范围的安全方法,针对高性能计算平台上的大量应用,包括安全支付、数字版权管理 (DRM) 和基于 Web 的服务。TrustZone 技术与 Cortex™

2017-03-28 19:13:03 729

转载 TLB工作原理

TLB - translation lookaside buffer快表,直译为旁路快表缓冲,也可以理解为页表缓冲,地址变换高速缓存。由于页表存放在主存中,因此程序每次访存至少需要两次:一次访存获取物理地址,第二次访存才获得数据。提高访存性能的关键在于依靠页表的访问局部性。当一个转换的虚拟页号被使用时,它可能在不久的将来再次被使用到,。TLB是一种高速缓存,内存管理硬件使用它来改善

2017-03-27 19:42:30 3506

原创 linux获取音频及播放代码实例

代码功能:采集441帧然后播放出来详细功能参考代码: 1 #include 2 #include 3 #include 4 5 6 int main(void){ 7 /*Name of the PCM device ,like "default"*/ 8 char *dev_name; 9

2016-08-02 20:17:16 5193 2

原创 Linux 获取音频ALSA API编程

ALSA Programming HOWTO根据ALSA写一简单的PCM应用程序,我们首先需要为PCM设备打开一个句柄(Handle),然后指定PCM流的方向是播放或者是捕获(playback还是capture),我们也可以配置一些我们想要的参数,比如,buffer size, sample rate, pcm数据格式等.因此我们就有了一个大体的框架了,简单高效,如下:/* Handl

2016-08-02 20:09:24 8522

原创 ALSA音频概念介绍 ---绝对权威

最近研究了一下linux上ALSA库的使用,下面总结一下:首先先了解一下音频的几个概念,上网一搜一堆介绍,可特么的大多数概念介绍都是模糊的.只想说一句我....................(1) 采样位数 : 也就是codec采样时一个点所占的bit数,通常有8,16,24bit等.(2) 通道数[channel] : 是mono还是stereo,对应的是1或者是2通道.(3)

2016-08-02 17:56:35 4803 3

原创 ROKID桌面机器人麦克风阵列拆解分析及设计建议

ROKID麦克风阵列分析及设计建议,语音增强

2016-07-21 18:24:50 8681 3

原创 Ubuntu 14.04上解决zip格式文件解压文件名乱码问题

大家在使用ubuntu(linux)系统中难免要解压一些zip结尾的压缩文件,由于Windows与ubuntu操作系统的格式问题,所以使用unzip时难免解压乱码问题,解决方法:需要再安装一个解压工具:     sudo apt-get install unar然后查看zip文档:可以看到:最后执行 : unar Speex回声消除测试 ,可以看到问题解

2016-07-15 19:30:29 3947

原创 基于MT7688 原厂SDK 使用SPI控制器驱动TFT屏幕ILI9225驱动器(spi接口)

以下是我的一个利用SPI控制器操作屏的一个操作实例 包含一个bpeer_tft.c 和一个bpeer_tft.h下面是代码:bpeer_tft.c1 /* 2 * MTD SPI driver for ST M25Pxx flash chips 3 * 4 * Author: Mike Lavender, mike@steroidmicros.com 5 *

2016-05-04 18:03:02 11983 1

原创 linux C语言读取bmp文件写屏

直接上代码11 int read_bmp(char* name, unsigned char* buff) 12 { 13 Image* image; 14 Rgbquad* quad; 15 Bitmapfileheader* fileheader; 16

2016-05-04 17:45:55 3634

原创 ubuntu下阅读源码工具

Ubuntu 下 编辑源码用vim,快速查看函数及变量声明就需要使用ctags工具了,俗称vim+ctags步骤如下:1) 安装vim工具    sudo apt-get install vim2) 安装ctags工具    sudo apt-get install ctags这样必备的工具就已经安装好了,接下来配置这些工具,其实就是如何将vim 和 ctags连接在一起:

2016-04-27 15:58:12 6947

原创 为MT7688 SPI添加N个SPI接口

要为SPI控制器中添加设备,以前的方法是在BSP文件中添加,这种方法过于麻烦,现在都使用设备树dts进行外设的描述.要想让SPI控制器能够在加载驱动时添加你的设备,需要在dts中添加设备节点,如下:MT7688的设备树在openwrt_widora-master/target/linux/ramips/dts/ 目录下面: Widora.dts下面添加树节点到SPI驱动器节点下面:

2016-04-26 10:48:03 7308

原创 MT7688 SPI 数据移位问题 SPI控制器驱动更改 openwrt(linux-3.18.29)

MT7688 SPI 控制器的诡异之处: 在SPI接口的设备驱动中进行发数的过程中利用示波器查看发送数据的SDA和SCL发现,数据总是在发送的过程中右移了一位,比如发送的数据是0xaa  二进制为10101010,然而在示波器中读出的数据为11010101.现将解决方法及过程记录下来分享给大家:在判定完自己的驱动无误的情况下,这个问题一直无法解决,最后老大的各种刺激,无奈从底层开始逐个

2016-04-26 09:41:18 5540 4

原创 linux 内存管理分析之-----SLAB层

SLAB层:              想必大多数人一提起linux内存管理,第一反应是"啊,特么的怎么这么复杂",哈哈,其实就是看书时蒙蔽了,别急,兄弟我陪你捋捋.正经的来吧: (1)             先说说平时编程吧,实现个链表,给每个元素申请空间,用的时候添加链表,不用是删除,释放空间,俗话说的增删改查嘛,可是这个效率方面到底高不高呢?答案是:我特么的怎么知道,又不是搞导

2016-03-29 20:58:07 4615

原创 Linux 内存管理分析

在内核里分配内存可不像在其他地方分配内存那么容易,从根本上讲是内核本身不能像用户那样奢侈的使用内存. 内核与用户空间不同,它不具备这种能力,它不支持简单便捷的内存分配方法,比如内核一般不能睡眠.     接下来让看看内核是内核获取内存的方法,哈哈,在深入了解实际分配接口之前,让我们先了解一下内核是如何管理内存的:1)页:内核把物理页作为内存管理的基本单元.尽管处理器的最小可寻址单位通常是字

2016-03-29 17:12:49 632

原创 ubuntu 查看文件编码并进行批量编码修改

由于windows下默认文件编码为gbk或者是gb2312,所以将windows下面的文件移到linux下时,常常会出现乱码的现象。参考链接中的博客,使用enca工具可以进行文件编码的查看。ubuntu下的安装命令:sudo apt-get install encaenca查看文件enca -L zh_CN file 查看文件编码enca -L zh_CN

2016-03-15 17:00:04 769

原创 Centos 7 打开端口及查询端口

Centos 7 采用firewall 防火墙:例如 查询9200端口是否打开命令如下: firewall-cmd    --query-port=9200/tcp返回yes 表示打开打开9300端口命令如下:firewall-cmd   --add-port=9300/tcp返回success表示打开成功顶一下哦亲

2015-12-23 15:44:32 1484

原创 ARM linux 内核更改uart波特率方法

在内核目录/kernel/drivers/tty/serial/ 里面更改波特率

2015-12-22 17:42:53 6171 1

空空如也

空空如也

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

TA关注的人

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