Leon Lu
码龄17年
关注
提问 私信
  • 博客:150,072
    社区:17,045
    167,117
    总访问量
  • 33
    原创
  • 1,086,428
    排名
  • 105
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2008-03-01
博客简介:

Johnson的技术博客

博客描述:
长期安逸的工作意味着将来更大的风险
查看详细资料
个人成就
  • 获得45次点赞
  • 内容获得24次评论
  • 获得178次收藏
  • 代码片获得144次分享
创作历程
  • 34篇
    2014年
成就勋章
TA的专栏
  • ARM
    6篇
  • Linux Kernel
    1篇
  • USB
    1篇
  • Android
    2篇
  • OpenCL
    11篇
  • OpenMP
    2篇
  • Optimization
    1篇
  • RDP
    1篇
  • DirectFB
    2篇
  • u-boot
    2篇
  • Autotools
    5篇
  • Camera
兴趣领域 设置
  • 人工智能
    opencv语音识别计算机视觉机器学习深度学习神经网络自然语言处理tensorflowpytorch图像处理nlp
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

351人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

基于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 ·
7232 阅读 ·
2 点赞 ·
1 评论 ·
11 收藏

USB相关资料文档集合

发布资源 2014.09.15 ·
zip

基于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 ·
1681 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

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

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

ARM处理器基础知识ing

1. ARM处理器模式
原创
发布博客 2014.07.31 ·
1826 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

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

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

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

一、参考资料
原创
发布博客 2014.05.30 ·
4536 阅读 ·
2 点赞 ·
0 评论 ·
9 收藏

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

在本章中,我们会简单的看看用于中止、未定义指令和SVC指令的中断处理程序,看看Linux内核是如何处理中断的。复位处理程序在第15章启动代码里将会深入涉及。
原创
发布博客 2014.05.28 ·
1981 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

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

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

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

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

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

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

《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 ·
6559 阅读 ·
0 点赞 ·
1 评论 ·
19 收藏

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

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

OpenMP for Android初学记录

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

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

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

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

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

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

前言  本文根据《Autotools - A Practioner's Guide to GNU Autoconf, Automake, and Libtool》第一章翻译整理,省略了部分语句。正文
原创
发布博客 2014.03.16 ·
8144 阅读 ·
3 点赞 ·
0 评论 ·
21 收藏

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

Sobel图像滤波器是一种简单的卷积滤波器,主要用于边缘检测算法。样例结果输入图像输出图像算法  一种做图像边缘检测的技术是,找出图像的梯度。大梯度值的区域对应图像色彩或密度的剧变区域。典型地,这些区域是边缘。  如果你对于幅图像卷积两个Sobel算子,你会得到两个输出: > X方向的梯度(dX) > Y方
原创
发布博客 2014.03.14 ·
4045 阅读 ·
1 点赞 ·
1 评论 ·
2 收藏

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

本章介绍如何为 Mali GPU 优化现有的 OpenCL 代码。它包含以下小节: > 关于为优化现有代码 > 为优化现有代码的步骤 6.1 关于为 Mali GPU 优化现有 OpenCL 代码  OpenCL 是一种可移植语言,但并不总是在性能上可移植。这意味着 OpenCL 可以在不同类型的计算设备上工作,但性能无法维持。现有的 OpenCL 通常针对桌面
原创
发布博客 2014.03.12 ·
3653 阅读 ·
2 点赞 ·
3 评论 ·
3 收藏

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

5.1 检索你的应用程序  检索你的应用程序,寻找计算最密集的部,这些是值得移植到OpenCL上的部分。  你可以使用DS-5来检索你的应用程序,从Mali开发者网站下载DS-5:http://www.malideveloper.arm.com5.2 为并行化分析你的代码  该部分描述如何为并行化,分析计算密集型代码,包含以下部分: >为并行
原创
发布博客 2014.03.12 ·
2713 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏
加载更多