
嵌入式
文章平均质量分 85
yuyin86
这个作者很懒,什么都没留下…
展开
-
Architecture of a DRM driver
+ Architecture of a DRM driver+i ----------------------------++Written by Laurent Pinchart +Last revised: May 30, 2012+++1. Driver initialization+------------------------++- Create a stati转载 2015-04-11 11:32:07 · 3102 阅读 · 0 评论 -
内核态和用户态通讯知识收集
内核态和用户态通讯知识收集在一台运行 Linux 的计算机中,CPU 在任何时候只会有如下四种状态:【1】 在处理一个硬中断。【2】 在处理一个软中断,如 softirq、tasklet 和 bh。【3】 运行于内核态,但有进程上下文,即与一个进程相关。【4】 运行一个用户态进程。 1. Linux中的进程间通信机转载 2013-12-24 22:50:31 · 923 阅读 · 0 评论 -
应用调试之配置内核输出应用程序的段错误信息
根据之前的调试我们知道,当应用程序出错的时候,会打印一些信息。但是有时候这些信息时不够的,那么我们能否配置内核使其输出更多的信息呢?答案是肯定的,本节我们就来详细讲一下:还记得我们在运行firstdrvtest的时候曾经输出过如下一些错误信息:Unable to handle kernel paging request at virtual address 56000050pg转载 2013-12-22 23:31:06 · 2318 阅读 · 0 评论 -
ubuntu Linux Trace Toolkit
LTTng Stable PPA“Ubuntu LTTng” team LTTng Stable PPAPPA descriptionLTTng (Linux Trace Toolkit Next Generation) project repository.For more information: http://l转载 2014-01-04 22:08:17 · 1003 阅读 · 0 评论 -
Linux Trace Toolkit
1 概念1.1 功能LTT是一个用于跟踪系统详细运行状态和流程的工具,它可以跟踪记录系统中的特定事件。这些事件包括: 系统调用的进入和退出 陷阱/中断(Trap / Irq)的进入和退出 进程调度事件 内核定时器 进程管理相关事件:创建 ,唤醒,信号处理等等 文件系统相关事件:Open / Read / Write / Seek / Ioct转载 2014-01-04 01:47:27 · 959 阅读 · 0 评论 -
使用 ftrace 调试 Linux 内核,第 2 部分
使用 ftrace 调试 Linux 内核,第 2 部分ftrace 使用ftrace 是 Linux 内核中提供的一种调试工具。使用 ftrace 可以对内核中发生的事情进行跟踪,这在调试 bug 或者分析内核时非常有用。本系列文章对 ftrace 进行了介绍,分为三部分。本文是第二部分,通过示例介绍了如何使用 ftrace 中的跟踪器,并对不同格式的跟踪信息进行转载 2013-12-19 01:02:46 · 984 阅读 · 0 评论 -
lmbench的使用方法 与CPU上下文切换的次数和时间(context switch)
一、引言要评价一个系统的性能,通常有不同的指标,相应的会有不同的测试方法和测试工具,一般来说为了确保测试结果的公平和权威性,会选用比较成熟的商业测试软件。但在特定情形下,只是想要简单比较不同系统或比较一些函数库性能时,也能够从开源世界里选用一些优秀的工具来完成这个任务,本文就通过lmbench 简要介绍系统综合性能测试。二、测试软件Lmbench是一套简易,可移植的,符合ANSI/转载 2013-12-19 01:02:38 · 10801 阅读 · 1 评论 -
kernel oops 分析
https://groups.google.com/group/linux.kernel/browse_thread/thread/b70bffe9015a8c41/ed9c0a0cfcd31111from Linus原文如下:---On Mon, 7 Jan 2008, Kevin Winchester wrote: > J. Bruce Fields wrote:转载 2013-12-17 23:39:14 · 1177 阅读 · 0 评论 -
Oops, Linux crashes
Oops, Linux crashesYou've just started kernel development and got something like that: Unable to handle kernel NULL pointer dereference at virtual address 00000000 pgd = c0004000 [00000000] *pgd转载 2013-12-17 11:38:45 · 1080 阅读 · 0 评论 -
omap移植systemtap
参考网站:http://omappedia.org/wiki/Systemtaphttp://blog.youkuaiyun.com/lzuzhp06/article/details/7778189http://blog.youkuaiyun.com/sunnybeike/article/details/7794183http://pastebin.com/Fka5h427http转载 2013-12-14 00:37:03 · 851 阅读 · 0 评论 -
ti 各种trace,xdc
http://processors.wiki.ti.com/index.php/Trace_in_Framework_Componentshttp://rtsc.eclipse.org/docs-tip/Using_xdc.runtime_Logginghttp://processors.wiki.ti.com/index.php/Log_setup.cfghttp://pro原创 2013-11-09 01:38:49 · 968 阅读 · 0 评论 -
U-Boot在内核为Cortex-A8的飞思卡尔处理器i.MX53上的移植
U-Boot在内核为Cortex-A8的飞思卡尔处理器i.MX53上的移植本文章介绍了如何在于i.MX53处理器的目标板上,引导、运行和编译B-Boot程序。一、概括U-Boot是一个支持多平台开发、串行口引导,且开源的Boot-loader实用程序,其支持引导和管理boot镜像文件,如Linux等系统。U-Boot具备以下特征:支持网络下载模式:TFTP、BOOTP、DH转载 2013-10-19 07:43:39 · 2545 阅读 · 0 评论 -
TI ARM+DSP异构多核通信机制
本文介绍了TI的ARM+C6000 DSP异构多核平台(如Davinci系列,OMAP3系列,OMAP-L系列)的通信机制,包括Codec Engine、IUNIVERSAL API、C6Accel、C6Run、RPMSG、RCM和OpenCL等。从底层的通信(CMEM+DSPLINK/SYSLINK)到高层的封装和构建系统。Overview 本文介绍了TI的ARM+C60转载 2013-09-06 13:35:00 · 8885 阅读 · 0 评论 -
Qt for Embedded Linux Environment Variables
http://qt-project.org/doc/qt-4.7/qt-embedded-envvars.htmlThese environment variables are relevant to Qt for Embedded Linux users.VariableDescriptionPOINTERCAL_FILE转载 2013-08-25 18:58:51 · 1073 阅读 · 0 评论 -
QT Embedded----FAQ
1.如何管理从堆中new出的QObject对象?如何安全delete才能避免内存泄露? 这个问题看起来很愚蠢,new出QObject,不用时delete了,不就行了,怎么会有这种问题呢? 问题就在于"不用时"难以确定. QT是一个图形平台系统,有些时候,对象之间的逻辑关系比较复杂,用户可能找不到合适的时机delete或者需要写额外的代码来delete。为此,QT提供了一些机制,转载 2013-08-25 18:46:58 · 1082 阅读 · 0 评论 -
linux 内核线程创建
转载http://lupaworld.blogbus.com/logs/37201575.html1. 头文件#include //wake_up_process()#include //kthread_create()、kthread_run()#include //IS_ERR()、PTR_ERR()转载 2013-12-27 00:45:02 · 2935 阅读 · 0 评论 -
Debugging Portal for linux
http://elinux.org/Debugging_PortalDebugging PortalThis page is the new portal for all debugging related stuff. It currently deals with Kernel topics, but feel free to add user spac转载 2014-01-12 22:37:52 · 896 阅读 · 0 评论 -
DMA控制器
DMA控制器是一种在系统内部转移数据的独特外设,可以将其视为一种能够通过一组专用总线将内部和外部存储器与每个具有DMA能力的外设连接起来的控制器。它之所以属于外设,是因为它是在处理器的编程控制下来执行传输的。值得注意的是,通常只有数据流量较大(kBps或者更高)的外设才需要支持DMA能力,这些应用方面典型的例子包括视频、音频和网络接口。 一般而言,DMA控制器将包括一条地址总线、一条转载 2015-03-12 12:50:43 · 2533 阅读 · 0 评论 -
drm:Direct Rendering Manager
Direct Rendering ManagerFrom Wikipedia, the free encyclopediaDirect Rendering ManagerOriginal author(s)kernel.org & freedesktop.orgDeveloper(s)kernel.org & freedesktop.转载 2014-09-02 08:15:09 · 4279 阅读 · 0 评论 -
linux基础之uboot load address、entry point、 bootm address以及kernel运行地址的意义及联系
按各地址起作用的顺序,uboot引导linux内核启动涉及到以下地址:load address:entry point: 这两个地址是mkimage时指定的bootm address:bootm为uboot的一个命令,以此从address启动kernelkernel运行地址:在具体mach目录中的Makefile.boot中指定,为kernel启动后实际运行的物理地转载 2014-08-31 01:40:35 · 2716 阅读 · 0 评论 -
Power Architecture Platform Reference
From Wikipedia, the free encyclopediaThis article is outdated. Please update this article to reflect recent events or newly available information.(November 2010)Power转载 2014-08-10 22:06:10 · 2494 阅读 · 0 评论 -
Flattened Device Tree (FDT)
Device TreesContents [hide] 1 Introduction1.1 The Flattened Device Tree is...1.2 The Flattened Device Tree is not...2 Advantages2.1 for distributions2.2转载 2014-08-10 09:40:09 · 3844 阅读 · 0 评论 -
linux2.6中的platform和of_platform机制B
A platform机制platform_driver_register,什么时候调用PROBE函数 注册后如何找到驱动匹配的设备platform_driver_register(struct platform_driver *drv)注册后如何找到驱动匹配的设备struct platform_driver { int (*probe)(struct platf转载 2014-08-21 00:09:11 · 1989 阅读 · 0 评论 -
ARM Linux&设备树(Device Tree)
宋宝华!Barry!Song!!1. ARM&Device&Tree起源&Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is a f*cking pain in the ass”,引发ARM Linux社区的地震,随后ARM社区进行了一系列的重大修正。在过去的ARM Linux中,arch/arm/pl转载 2014-08-03 11:16:15 · 2217 阅读 · 0 评论 -
yocto
1.https://www.yoctoproject.org/2.http://elinux.org/images/9/93/Elce11_stewart.pdf原创 2014-05-08 14:17:22 · 1104 阅读 · 0 评论 -
阅读ARm芯片手册 阅读方法
一 overview1 table of contents -***2 product overview -*** 芯片概述3 feature *** 每一个功能的特点4 block diagram -****** 芯片的内部组织结构框图 4.1 arm core 芯片所选用的arm内核版本 4.2 periptheral 芯片转载 2014-03-10 23:54:48 · 2680 阅读 · 0 评论 -
Linux下调试器工作原理
Linux下调试器工作原理之一—基础篇介绍关于Linux下的调试器实现的主要组成部分——ptrace系统调用。本文中出现的代码都在32位的Ubuntu系统上开发。请注意,这里出现的代码是同平台紧密相关的,但移植到别的平台上应该不会太难。动机要想理解我们究竟要做什么,试着想象一下调试器是如何工作的。调试器可以启动某些进程,然后对其进行调试,或者将自己本身关联到一个已存在的转载 2014-01-27 14:19:37 · 1979 阅读 · 0 评论 -
用gprof分析程序性能
综述gprof用于分析函数调用耗时,可用之抓出最耗时的函数,以便优化程序。gcc链接时也一定要加-pg参数,以使程序运行结束后生成gmon.out文件,供gprof分析。gprof默认不支持多线程程序,默认不支持共享库程序。gcc -pg 编译程序运行程序,程序退出时生成 gmon.outgprof ./prog gmon.out -b 查看输出注意事项程序如果不是转载 2014-01-25 14:25:10 · 1293 阅读 · 0 评论 -
GCC支持的ARM NEON 内联SIMD Intrinsics
本文介绍了arm-linux编译器针对ARM处理器NEON的内建Intrinsics指令的介绍,当-mfpu=neon编译选项使能时就可以在C/C++代码内使用ARM的SIMD指令了,包括加法、乘法、比较、移位、绝对值 、极大极小极值运算、保存和加载指令等。These built-in intrinsics for the ARM Advanced SIMD extension are a转载 2014-01-16 01:30:39 · 4672 阅读 · 0 评论 -
NEON的一些总结
参考文章:1、http://blog.sina.com.cn/s/blog_4ae178ba01013yax.html2、http://blog.youkuaiyun.com/conowen/article/details/72559203、【整理】SIMD、MMX、SSE、AVX、3D Now、NEONhttp://www.arm.com/zh/products/proc转载 2014-01-16 01:24:55 · 1286 阅读 · 0 评论 -
嵌入式开发九:OMAP4 pandaboard ES开发资料总结
OMAP4开发资源总结:一、TI OMAP4官网介绍:http://www.ti.com.cn/general/cn/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12843&contentId=53243二、OMAPpedia.org,This site has information on v转载 2014-01-16 01:33:11 · 1420 阅读 · 0 评论 -
Linux环境下的编译,链接与库的使用
链接参数控制链接器中提供了-dn -dy 参数来控制使用的是动态库还是静态库,-dn表示后面使用的是静态库,-dy表示使用的是动态库例:g++ -Lpath -Wl,-dn -lx -Wl,-dy -lpthread 这样如果在path路径下有libx.so和libx.a这个时候只会用到 libx.a.注意在最后的地方如果没有-Wl,-dy 让后面的库都使用动态库,转载 2013-08-23 21:11:24 · 1598 阅读 · 0 评论 -
Libudev和sysfs指南 翻译
在unix和类unix系统中,硬件设备可以通过/dev目录下的特殊文件进行访问,这些文件又被称为设备文件或设备节点。通过操作普通文件一样读写这些文件可以利用内核设备驱动程序与硬件设备通信,而这个过程不是读写磁盘上的数据,网上有许多描述/dev目录下文件细节的资源。以前,这些特殊文件是在系统安装的时候通过mknod命令创建的,最近几年,linux系统开始使用udev来在运行时管理/dev下的设备文件转载 2013-07-26 19:14:24 · 1734 阅读 · 0 评论 -
libudev and Sysfs Tutorial
Introduction and MotivationOn Unix and Unix-like systems, hardware devices are accessed through special files (also called device files or nodes) located in the /dev directory. These files are r转载 2013-07-26 19:02:01 · 1084 阅读 · 0 评论 -
异构多核片上系统实例
当考虑多核架构时,嵌入式设计人员正面临着一种选择,同构还是异构?这也就是说,我们都在寻求一种方案,使得在今天的芯片密度条件下可以实现并行处理。并且在这样做的同时,我们需要评估如何才能更好地利用这一技术能力。同构MPSoCs (多处理片上系统)一般是由很多(10,100,也可能是1000)复制,通用处理器或DSP,以及在一个单芯片上提供通用的多处理能力的方案组成。这样的架构是为了更好地提高计转载 2012-11-12 08:42:14 · 2165 阅读 · 0 评论 -
How Computers Boot Up
The previous post described motherboards and the memory map in Intel computers to set the scene for the initial phases of boot. Booting is an involved, hacky, multi-stage affair – fun stuff. Here’s转载 2012-11-12 08:55:58 · 825 阅读 · 0 评论 -
在Cortex-A8平台下memcpy ARM/NEON汇编性能的测试
本文介绍了基于ARMv7架构的Cortex-A8芯片(FreeScale i.MX51 / i.MX53/QualComm msm8x50 / msm7x30/Samsung s5pc100 / s5pc110/TI omap 3430 / omap 3730芯片)上采用C语言、ARM汇编和NEON汇编实现的memcpy的性能对比,并输入分析了NEON指令(不同处理器的NEON内存位宽从64-转载 2012-11-02 08:44:23 · 1417 阅读 · 0 评论 -
嵌入式系统设计中常用总线和接口
任何一个微处理器都要与一定数量的部件和外围设备连接,但如果将各部件和每一种外围设备都分别用一组线路与CPU直接连接,那么连线将会错综复杂,甚至难以实现。为了简化硬件电路设计、简化系统结构,常用一组线路,配置以适当的接口电路,与各部件和外围设备连接,这组共用的连接线路被称为总线。采用总线结构便于部件和设备的扩充,尤其制定了统一的总线标准则容易使不同设备间实现互连。 微机中总线一般有内部总线转载 2012-10-11 18:45:06 · 1087 阅读 · 0 评论 -
在Cortex-A8平台下memcpy ARM/NEON汇编性能的测试
本文介绍了基于ARMv7架构的Cortex-A8芯片(FreeScale i.MX51 / i.MX53/QualComm msm8x50 / msm7x30/Samsung s5pc100 / s5pc110/TI omap 3430 / omap 3730芯片)上采用C语言、ARM汇编和NEON汇编实现的memcpy的性能对比,并输入分析了NEON指令(不同处理器的NEON内存位宽从64-转载 2012-09-17 20:53:03 · 2938 阅读 · 0 评论 -
DSP采用Linux与DSP/BIOS RTOS双OS
在系统性能与编程简易性之间的权衡折中是通用操作系统与实时操作系统之间的主要区分点之一。GPOS 倾向于提供较高程度的资源抽象,这不仅可通过支持软件模块性与资源隔离来提高应用的便携性、简化开发流程,同时还能增强系统的稳健性。这使 GPOS 成为诸如网络、用户界面以及显示管理等通用系统组件的理想选择。然而,该抽象需要以系统资源的精细粒度控制作为代价,以满足信号处理代码等高强度算法的计算转载 2012-09-17 20:42:09 · 3084 阅读 · 0 评论