自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Johnson的技术博客

长期安逸的工作意味着将来更大的风险

  • 博客(34)
  • 资源 (7)
  • 收藏
  • 关注

原创 基于Tesseract OCR的文字识别Android应用开发资料整理

前言一、Tesseract OCR引擎  Tesseract OCR是HP公司于1985~1995年间开发的商业级OCR(Optical Character Reader, 光学字符阅读器)引擎,并于2005年开放源代码。以下是它sourceforge上的网址:  http://sourceforge.net/projects/tesseract-ocr

2014-09-15 16:16:41 7122 1

原创 基于Linux的USB子系统学习 --- <基础知识与USB协议概述> ing

一、参考资料  1.《USB基础知识概论》     http://www.crifan.com/files/doc/docbook/usb_basic/release/html/usb_basic.html  2.《USB in a NutShell》    http://www.beyondlogic.org/usbnutshell/usb1.shtml  3.《

2014-09-15 13:49:48 1623

原创 《深入Linux内核架构》附录A<体系结构相关知识>笔记

附录A 体系结构相关知识A.1 概述为便于扩展到新的体系结构,内核严格隔离了体系结构相关和体系结构无关的代码。内核中特定于处理器的部分,包含定义和原型的头文件保存在include/asm-arch/(例如,include/asm-arm/)目录下,而C语言和汇编程序源代码实现则保存在arch/arch/(例如,arch/arm/)目录下。联编系统也考虑到一般代码可能需要

2014-08-18 16:31:26 1444

原创 ARM处理器基础知识ing

1. ARM处理器模式

2014-07-31 14:13:25 1679

原创 基于Eclipse的Android JNI层测试应用开发过程记录

前言  本文记录一个Java层与JNI层参数与数据交互的应用程序开发过程,为实现一个功能完整的带Java与JNI的应用程序打下基础。本文假设读者已搭建好Android的Eclipse与NDK开发环境,包括通过ADB连接手机的配置。1. 构建基本的Android应用程序 1.1 引导界面配置  打开Eclipse,"File"->"New"->"Andro

2014-06-29 14:16:48 1599

原创 GNU风格ARM汇编编程实战之一 <C与汇编混合编程>

一、参考资料

2014-05-30 15:48:38 4459

原创 《Cortex™-A系列编程者指南(V3.0)》第14章<其它异常处理>笔记

在本章中,我们会简单的看看用于中止、未定义指令和SVC指令的中断处理程序,看看Linux内核是如何处理中断的。复位处理程序在第15章启动代码里将会深入涉及。

2014-05-28 10:52:32 1930

原创 《Cortex™-A系列编程者指南(V3.0)》第13章<中断处理>笔记

在本章,我们会看看ARM处理器处理中断的一系列方法,简单地看看通用中断控制器(Generic Interrupt Controller,GIC)架构。  旧版本的ARM架构允许实现者在他们的外部中断控制器设计中相当大的自由,没有关于中断类型或数量,或者是被用于中断控制模块接口的软件模型的协议。GIC架构提供一个更为严格的控制规范,使得来自不同制造商之间的中断控制器之间有更高程度的一致性。这

2014-05-27 10:23:56 2992 1

转载 C\C++代码优化的27个建议

1. 记住阿姆达尔定律:funccost是函数func运行时间百分比,funcspeedup是你优化函数的运行的系数。所以,如果你优化了函数TriangleIntersect执行40%的运行时间,使它运行快了近两倍,而你的程序会运行快25%。这意味着不经常使用的代码不需要做较多优化考虑(或者完全不优化)。这里有句俗语:让经常执行的路径运行更加高效,而运行稀少的路径正确运行。

2014-05-24 10:37:26 1019

原创 《Cortex™-A系列编程者指南(V3.0)》第12章<异常处理>笔记

在本章,我们看看ARM处理器如何响应异常。异常是任何需要挂起正常执行转而运行与每个异常类型相关联软件(称为异常处理程序)的条件。12.1 异常的类型如我们在第四章看到,A系列和R系列架构支持七种处理器模式,六种特权模式(称为快速中断模式、外部中断模式、管理模式、中止模式、未定义模式和系统模式),一种非特权模式(用户模式)。如果虚拟化扩展和安全扩展被实现,Hyp和Monito

2014-05-22 16:01:24 2238

原创 《Cortex™-A系列编程者指南(V3.0)》第4章<ARM寄存器、工作模式和指令集>笔记

《Cortex-A系列编程者指南(3.0版)》文档来源:DEN0013C_cortex_a_series_PG.pdf说明:前三章是介绍性的,略过,值得关注的是Linaro:www.linaro.org。第四章 ARM寄存器、工作模式和指令集本章介绍ARM处理器的基础特性,包括寄存器、工作模式和指令集的细节。我们也会涉及一些处理器实现细节,包括指令流水线和分支预测。

2014-05-21 13:54:36 6358 1

原创 《Using OpenMP》第五章<如何通过使用OpenMP获得好的性能>笔记 ing

5.2 串行程序的性能考虑目前,单核处理器的性能经常归因为未充分利用的cache内存子系统。特别地,缓存分层中的最高层缓存未命中的代价是高昂的,因为这意味着数据在使用之前必须从主内存中获取。典型地,相比从缓存中获取数据,通常需要付出5-10倍更多的代价。在一个共享内存多核处理器系统中,这一负面影响更为严重:涉及的线程越多,潜在地性能问题越大。我们简约的讨论了存储器分层和它的

2014-04-30 20:42:23 3024

原创 OpenMP for Android初学记录

OpenMP是一种应用程序接口(API),支持多平台共享内存的C/C++/Fortran多处理器编程,可以运行在绝大多数处理器架构和操作系统上,包括Solaris, AIX, HP-UX, GNU/Linux, Mac OS X和Windows平台。它由编译器指令集、库函数和环境变量组成,影响运行时行为。

2014-04-28 14:05:05 7818

原创 《Autotools - GNU Autoconf, Automake与Libtool实践者指南》第三章<用Autoconf配置你的项目>

因为对于原本的Autoconf框架,Automake和Libtool本质上是追加的组件,花费一些时间使用Autoconf而不使用Automake和Libtool是有用的。通过暴露这个工具的那些经常被Automake隐藏的部分,提供给你关于Autoconf如何运作相当多的见解。  在Automake出现之前,Autoconf是被单独使用的。实际上,很多遗留的开源软件项目从没有做从Autoco

2014-03-27 17:30:49 3768

原创 《Autotools - GNU Autoconf, Automake与Libtool实践者指南》第二章<理解GNU编码标准>

在第一章中,我给出了GNU Autotools和一些资源的概述,可以帮助降低所需要的学习曲线来掌握它们。在这一章节中,我们会退一小步,调查可用于任何工程的项目组织技术,不仅仅使用Autotools。当你完成阅读这一章节,你应该会熟悉普通的make目标,知晓它们为何存在。你应该也会对工程组织方式有一个坚实的理解。当你完成这一章节,你会是很好地在通往Automake专家的路上。

2014-03-18 20:12:27 3134

原创 《Autotools - GNU Autoconf, Automake与Libtool实践者指南》第一章<GNU Autotools简要介绍>

前言  本文根据《Autotools - A Practioner's Guide to GNU Autoconf, Automake, and Libtool》第一章翻译整理,省略了部分语句。正文

2014-03-16 17:19:32 7862

原创 《Mali OpenCL SDK v1.1.0》教程样例之六“索贝尔滤波器”

Sobel图像滤波器是一种简单的卷积滤波器,主要用于边缘检测算法。样例结果输入图像输出图像算法  一种做图像边缘检测的技术是,找出图像的梯度。大梯度值的区域对应图像色彩或密度的剧变区域。典型地,这些区域是边缘。  如果你对于幅图像卷积两个Sobel算子,你会得到两个输出: > X方向的梯度(dX) > Y方

2014-03-14 14:26:10 3928 1

原创 《Mali-T600系列GPU OpenCL开发者指南》第六章< 为Mali GPU调整现有OpenCL代码>笔记

本章介绍如何为 Mali GPU 优化现有的 OpenCL 代码。它包含以下小节: > 关于为优化现有代码 > 为优化现有代码的步骤 6.1 关于为 Mali GPU 优化现有 OpenCL 代码  OpenCL 是一种可移植语言,但并不总是在性能上可移植。这意味着 OpenCL 可以在不同类型的计算设备上工作,但性能无法维持。现有的 OpenCL 通常针对桌面

2014-03-12 16:50:45 3563 3

原创 《Mali-T600系列GPU OpenCL开发者指南》第五章<转换现有代码到OpenCL>笔记

5.1 检索你的应用程序  检索你的应用程序,寻找计算最密集的部,这些是值得移植到OpenCL上的部分。  你可以使用DS-5来检索你的应用程序,从Mali开发者网站下载DS-5:http://www.malideveloper.arm.com5.2 为并行化分析你的代码  该部分描述如何为并行化,分析计算密集型代码,包含以下部分: >为并行

2014-03-12 10:22:26 2637

原创 《Mali OpenCL SDK v1.1.0》教程样例之五“64位整数与原子操作”

介绍  在本教程中,我们将会看到在OpenCL中使用长数据类型。我们也会触及如何和为什么要在OpenCL中使用原子变量。在这个过程中,我们介绍了Mali-T600系列GPU支持的64位原子扩展。长数据类型  在OpenCL嵌入式

2014-03-10 14:50:46 2850

原创 《Mali OpenCL SDK v1.1.0》教程样例之四“图像对象”

介绍  纹理(图像)是现代图像应用的很大一部分。正因为如此,图形硬件已经发展到允许高访问性能地对纹理进行访问和操作。为充分使用这一硬件,OpenCL包括了一个可选的图像数据类型。这些"图像对象"在所有Mali-T600系列GPU上受到支持。图像代表大型数据网格,可以并行地被处理。正应为如此,图像数据和图像操作通常非常适合在OpenCL中做加速。图像数据有两种方式可以被OpenCL存储和

2014-03-04 16:46:21 4028

原创 DirectFB+GTK交叉编译记录

一、问题记录1. 最好使用32位Linux主机编译,否则有些软件包中使用Python时会有错误;2. 设置的DirectFB的安装路径是根文件系统中的/usr/directfb,那么在目标系统中也必须保证DirectFB是在这样的一个目录中。因为DirectFB编译时已经把这个目录编译到程序中,无法后期设置。所以可以把所有软件包都安装在这个目录。

2014-02-28 23:22:16 2585

原创 《Mali OpenCL SDK v1.1.0》教程样例之三“内存缓冲区”

本文讲述如何在Mali-T600系列GPU和CPU之间高效共享内存。介绍  当处理大量数据时(在OpenCL应用中这是典型的情况),确保主机与OpenCL设备之间尽可能高效地共享内存是非常重要的。我们已在hello world样例中看到了如何使用内存缓冲区。hello world例程遵循了我们认为的对于在主机和OpenCL设备之间共享内存的“最佳实践”。这一教程讲述这些

2014-02-28 16:25:28 4779

原创 《Mali OpenCL SDK v1.1.0》教程样例之二“程序模板”

在OpenCL SDK根目录下的samples\template,存有程序的模板,其中“template.cpp”是宿主机代码模板,“assets/template.cl”是内核代码模板。“template.cpp”使用了common目录下的“common.cpp”库来建立环境。1. 构建OpenCL环境1.1 创建上下文  在第一个可用平台上创建一个上下文

2014-02-28 14:30:08 3451

原创 《Mali OpenCL SDK v1.1.0》教程样例之一“Hello World”

1、算法简述  实现矩阵相加:Cn = An + Bn。这个例子虽然很简单,但是由于矩阵元素之间相互独立,每个元素可以非常容易地进行并行计算,可以非常理想地在OpenCL中实现。2. C/C++实现  /* * This confidential and proprietary software may be used only as * aut

2014-02-27 16:48:42 6842 3

原创 OpenCL案例研究之一<矩阵乘法>

一、案例简述  本案例讲述使用OpenCL计算矩阵乘法:C = A * B 。  设A、B、C分别是大小为N*P、P*M和N*M的矩阵,那么顺序实现的C代码可以如下所示: // C Functionvoid mat_mul( int Ndim, int Mdim, int Pdim, float* A, float* B, float* C){ in

2014-02-24 15:00:12 11150 2

原创 Ubuntu12.04(64位)下搭建DirectFB PC模拟运行环境

1. DirectFB源码与样例程序下载  DirectFB源码DirectFB-1.4.11.tar.gz: http://directfb.org/index.php?path=Main%2FDownloads  DirectFB样例DirectFB-examples-1.2.0.tar.gz: http://directfb.org/index.php?path=Main%2

2014-02-18 14:55:48 2146 1

原创 基于CUDA的OpenCL开发环境搭建与入门程序示例

参考资料:《详细程序注解学OpenCL一 环境配置和入门程序》、《VS2010 NVIDIA OpenCL 开发环境配置》一、搭建开发环境1. 下载和安装CUDA SDK  下载路径:https://developer.nvidia.com/cuda-downloads ;  如果默认安装路径的话,是在:C:\Program Files\NVIDIA GPU

2014-02-12 09:31:42 5816 9

原创 基于RDP协议的远程桌面连接(Win7与Ubuntu12.04间互连)

一、Win7连接Ubuntu2.041. Ubuntu12.04中安装与启动XRDP(开源RDP Server)//安装xrdp# apt-get install xrdp//启动服务service xrdp start2. Win7中连接在Win7中:开始-->所有程序-->附件-->远程桌面连接,如下图。其中选项中可配置“体验”、“显示”等参数,点

2014-02-10 22:51:58 8693

原创 OpenCL简单入门介绍(根据《OpenCL Overview》翻译整理)

根据《OpenCL Overview》与《OpenCL Technical Overview》整理编写,由于第一次接触OpenCL,定会有部分的专业词汇翻译不当,敬请指正。1.《OpenCL Overview》整理笔记这是一个异构的世界  OpenCL让程序员写单一的可移植程序,在一个异构平台上使用所有的资源。OpenCL使用  1. 定义平台; 2.

2014-01-27 16:36:24 4892

原创 《GNU_Make 中文手册》笔记之二 ing

第五章 规则的命令

2014-01-24 15:42:00 1369

原创 《GNU_Make 中文手册》笔记之一

第一章 概述

2014-01-21 13:25:20 7688 1

原创 u-boot移植与分析记录之二【S5PV210芯片手册时钟控制器部分的翻译】

前言  本文是对S5PV210芯片手册中启动部分的翻译,原文位于《S5PV210 RISC Microprocessor User's Manual, Revision 1.10》第二部分“系统”中的第三章“时钟控制器”。  本章讲述S5PV210支持的时钟管理单元(CMU)。系统控制器(SYSCON)管理S5PV210中的CMU和电源管理单元(PMU)。

2014-01-19 22:02:05 2230

原创 u-boot移植与分析记录之一【S5PV210芯片手册启动顺序部分的翻译】

一、S5PV210芯片手册中启动顺序部分原文:《S5PV210 RISC Microprocessor User's Manual, Revision 1.10》第二部分 系统 ---> 第六章 启动顺序    只针对重点部分进行了翻译1.1 启动顺序综述S5PV210内部存储器由64KB ROM和96KB SRAM组成。S5PV210从内部ROM启动来确保安全启动,这确保镜像不被未授

2014-01-18 17:54:38 2269 1

USB相关资料文档集合

包含自己在学习USB过程相关的资料,作为自己收藏,并和大家分享。

2014-09-15

GNU_Make中文手册

对“info make”的翻译整理,不是一个纯粹的语言翻译版本,其中对GNU make的一些语法和用法进行了一些详细分析和说明,也加入了一些个人的观点和实践总结。 本书的所有的例子都可以在支持V3.8版本的GNU make的系统中正确执行。

2014-01-23

TI DSP-BIOS用户手册与驱动开发 中文版(第二部分,共两部分)

第二部分,绝对好的DSP/BIOS资料,TI的DSP/BIOS用户手册及驱动开发的中文翻译本。

2011-02-24

TI DSP-BIOS用户手册与驱动开发 中文版(第一部分,共两部分)

DSP/BIOS用户手册及驱动开发的中文译本,TI经典资料! DSP/BIOS是TI公司特别为其TMS320C6000TM,TMS320C5000TM和TMS320C28xTM系列DSP平台所设计开发的一个尺寸可裁剪的实时多任务操作系统内核,是TI公司的Code Composer StudioTM开发工具的组成部分之一。 本书着重介绍了DSP/BIOS用户手册和DSP/BIOS设备驱动的开发与使用,共分12章和4个附录,具体内容包括DSP/BIOS概述、程序生成、监测、线程调度、存储器和低级函数、I/O概述和管道、流I/O和设备驱动; 设备驱动开发工具包(DDK)简介、DSP/BIOS设备驱动的结构和使用、使用DSP/BIOS设备驱动、GIO类驱动、微型驱动的开发步骤、IOM接口、PIO适配器、LIO模型到IOM模型的移植和GIO API的ASYNC扩展。 本书可供基于TI DSP的程序开发人员、系统设计工程师等参考,也可以作为相关专业本科生和研究生选修课程的参考书。

2011-02-24

FPGA学习建议合集

很好的FPGA学习建议总结合集,非常详细哈。

2011-02-14

高速PCB设计指南(1-8)全部资料,网络整理后的

非常经典的PCB设计资料,强烈推介下载哈。

2010-07-16

空空如也

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

TA关注的人

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