排序:
默认
按更新时间
按访问量

CPU profiler(gperftools)在嵌入式系统上的应用示例

上一篇博文《性能测试工具CPU profiler(gperftools)的使用心得》记录了CPU profiler的基本使用方式。本文以halley2开发板为例记录用CPU profiler在嵌入系统下进行性能分析的方法. 按照上文方法,已经可以让自己的测试程序test_capture生成性能分析...

2018-11-07 14:21:03

阅读数:40

评论数:0

性能测试工具CPU profiler(gperftools)的使用心得

最近因为要研究一个算法的优化问题,需要找一款工具对程序进行性能分析,于是想到了google的性能分析工具gperftools的CPU profiler,本文记录CPU profiler的使用心得。 编译安装gperftools gperftools是一个工具包,CPU profiler是其中的...

2018-11-07 12:18:11

阅读数:64

评论数:0

cmake:gperftools性能分析工具find libprofiler 脚本暨profiler的静态连接问题

gperftools是一个很好用的性能分析工具,但没有提供官方的用于查找profiler库的cmake脚本,所以在基于cmake管理的项目中如果要在系统查找libprofiler库就就要自己写FindPROFILER.cmake脚本。 将脚本所在的文件夹加入CMAKE_MODULE_PATH,调用...

2018-11-07 00:40:07

阅读数:647

评论数:0

XBurst基于MXU指令对YUYV转RGB2的优化

YUV转RGB的公式是固定的,YUV转RGB的代码网上也可以找到很多,不过真的要将这些标准代码用在实际的项目中就会发现, 性能还是不够好。 最近在君正的X1000 CPU上实现YUYV转RGB24时, 为了不使用浮点计算,使用了下面的整数优化公式 B = y + ((443 * (u - 128...

2018-11-04 21:37:22

阅读数:22

评论数:0

minigui 3.2.0:直接访问framebuffer的方法及示例

在做嵌入式应用程序开发时,有的场景下因为要追求图像显示效率,需要直接访问framebuffer,比如更流畅的视频显示。基于minigui框架的应用程序该如何访问framebuffer呢? 最近就在为这个事儿头疼, 之前在设计时,视频输出是将一帧图像解码为BITMAP后作为窗口的背景画到屏幕上,这...

2018-10-30 23:19:09

阅读数:673

评论数:2

minigui 3.2.0:通过环境变量修改minigui的运行参数

在运行环境中可以通过设置环境变量来改变MiniGUI的一些运行参数。这为应用程序部署提供了很大的便利性。 但在使用3.2.0版本时,发现这些参数名全部都无效,查看MiniGUI 3.2.0的源码,才知道升级后为了环境变量命名规范化考虑,这些环境变量名全部都改名了:转为大写,并加了`MG_`前...

2018-10-27 00:54:53

阅读数:484

评论数:0

linux bash shell:最方便的字符串大小写转换(lowercase/uppercase conversion)

关于字符串大小写转换,是写 linux 脚本经常干的事儿,所以总想找个方便的方法让我少打点字儿,搜索国内的中文资源,网上也能找到很多关于这个帖子,介绍的方法都差不多,用typeset是最简单的方法了,但我觉得还是不够简单,因为需要多定义一个变量。 google上找到这个stackoverflow...

2018-10-25 18:24:08

阅读数:68

评论数:0

minigui:自定义字体文件的安装位置(install location for custom font)

我们的基于minigui的嵌入式系统项目中使用了True Type字体,原以以为只要把字体文件放在当前路径下的字体文件夹下就可以了res/font,但实际运行时报错了: NEWGAL>PCXVFB: /usr/local/bin/gvfb 12695...

2018-10-25 16:27:25

阅读数:51

评论数:0

minigui:解决gvfb编译报错undefined reference to symbol 'XkbGetIndicatorState'

minigui在linux PC平台创建开发环境时,需要Virtual Frame Buffer 支持(gvfb,qvfb),minigui官网提供了这两个程序的源码,需要自己下载编译并安装到自己的PC上。 我用的是gvfb,minigui下载地址:http://www.minigui.org/...

2018-10-25 15:16:45

阅读数:47

评论数:0

minigui 3.2.0:对mgncs剪裁遇到的问题error: The pkg-config script could not be found or is too old.

考虑到嵌入式平台的存储和运行空间都有限,在向目标平台移植时肯定要对minigui及其组件进行剪裁,删除掉不需要的功能和特性,以缩小程序体积,对mgncs做剪裁时遇到了一个非常奇怪的问题,虽然解决了,但现在也没找到根本原因: 根据configure --help的提示使用--enable-fash...

2018-10-25 13:59:26

阅读数:50

评论数:0

cmake-gui:创建可选列表ComboBoxes

就像一般的程序设计一样,在设计cmake脚本时有时我们希望一个变量的值限定在一个范围内。如下图,cmake-gui中用户可以选择输出日志的级别,肯定我们不希望用户乱输一气。 这时就要用到CACHE 的属性STRINGS # 日志输出级别 set(LOG_LEVEL FL_LOG_DEBUG CA...

2018-10-22 11:19:10

阅读数:32

评论数:0

static link:关于gcc连接静态库的几种方式

开发一个应用程序不可避免要使用多个第三方库(library). 默认情况下,gcc采用动态连接的方式连接第三方库,比如指定`-lpng`,连接程序就会去找`libpng.so`。 gcc提供了一个`-static`参数,可以改变gcc默认的连接方式,GNU官网上关于gcc连接选项的手册[《...

2018-10-21 15:29:41

阅读数:115

评论数:0

解决git错误: error object file is empty , The remote end hung up unexpectedly

今天执行git pull时遇到麻烦,应该是昨天电脑异常关机造成的git数据损坏: $git pull error: object file .git/objects/88/526655aa4eca14ead2d443e80082276a79e0c2 is empty error: objec...

2018-10-21 11:31:44

阅读数:72

评论数:0

cmake/gcc:strip缩减程序体积

方法1 cmake生成的Makefile中有一个target名为intall/strip可以将install的可执行程序执行strip,执行make help,就可以看到 $ make help The following are some of the valid targets for thi...

2018-10-20 14:14:48

阅读数:188

评论数:0

linux shell: 命令运行符号(control operator) terminated '&'的意义塈了解control operator指南

好久以前就看到一些脚本中执行一个命令用’&'结尾,类似如下: #!/bin/bash lcd_test & 当时搞明白了意思,但现在又忘记了,赶紧补习一下在此做个记录: 根据stackoverflow上这个帖子《What does “&am...

2018-10-19 10:13:16

阅读数:41

评论数:0

cmake:CMAKE_SYSTEM_PROCESSOR为空是怎么回事儿?

今天执行cmake创建Makefile的时候出了个怪事:CMAKE_SYSTEM_PROCESSOR的值为空 反复测试到到了原因:我在执行cmake时加了参数-DCMAKE_SYSTEM_NAME=Linux cmake . -G "Eclipse CDT4 - Unix Ma...

2018-10-17 11:15:29

阅读数:78

评论数:0

minigui:mgplus交叉编译警告 include location "/usr/include/freetype2" is unsafe for cross-compilation

今天在交叉编译mingui的mgplus组件库时输出了一个警告: mips-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../.. -D__MGPLUS_LIB__ -I.. -I../agg -I../../include -I../agg/font_freetyp...

2018-10-16 15:08:02

阅读数:47

评论数:0

minigui:mips平台交叉编译报错error: include location "/usr/include/" is unsafe for cross-compilation

今天在对minigui做交叉编译,下面是编译的部分脚本 ./configure \ --host=$host \ --with-runmode=ths \ --prefix=$_prefix \ || exit -1 make -j8 || exit -1 如果不做交叉编译,host指...

2018-10-15 15:17:32

阅读数:74

评论数:0

cmake:FindLIBCONFIG.cmake查找libconfig的脚本find_package脚本

libconfig 是一个用于读取,操作和编写结构化配置文件的库。cmake并没有为libconfig提供find_package脚本。所以自己撸一个,实现跨平台的查找libconfig库 FindLIBCONFIG.cmake # - Find libconfig # - This mod...

2018-10-14 15:55:18

阅读数:35

评论数:0

minigui:静态编译连接mgncs库时遇到的xml2的问题

最近做一个基于minigui/mgncs的项目,在开发阶段因为是在ubuntu下基于minigui的模拟器开发,所以编译时都是标准的动态库连接。没啥问题,很顺序。 现在项目功能开发告一段落,要向嵌入式平台移植了,就要把编译改为全静态连接(--static)。问题就来了。 编译正常,连接时报了如下一...

2018-10-14 15:33:09

阅读数:52

评论数:0

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