ltp-ddt realtime_cpu_load涉及的cyclictest 交叉编译
git clone git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git
一直没法连接上。
src/cyclictest/rt_numa.h:29:10: fatal error: numa.h: No such file or directory
apt-get install libnuma-dev export PATH=/opt/gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf/bin:$PATH
make CROSS_COMPILE=arm-linux-gnueabihf-
make install DESTDIR=. 一开始没有
export PATH=/opt/gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf/bin:$PATH
编译出来的结果在psoc上执行报./cyclictest: cannot execute binary file: Exec format error
后来找到原因,which arm-linux-gnueabihf-gcc
/opt/petalinux/tools/linux-i386/gcc-arm-linux-gnueabi/bin/arm-linux-gnueabihf-gcc
所以是i386的,当然无法执行。
make报错impossible constraint in 'asm'
src/queuelat/queuelat.c: In function ‘main_loop’:
src/queuelat/queuelat.c:269:8: error: impossible constraint in ‘asm’
asm volatile("cpuid; rdtsc" : EAX_EDX_RET(val, low, high));
^~~
src/queuelat/queuelat.c:269:8: error: impossible constraint in ‘asm’
asm volatile("cpuid; rdtsc" : EAX_EDX_RET(val, low, high));
^~~
经查发现是src/queuelat/queuelat.c 269行
asm volatile("cpuid; rdtsc" : EAX_EDX_RET(val, low, high));
cpuid; rdtsc是x86汇编,替换为“NOP” arm汇编就不会报错了。 目前先将这一行//注释掉
make CROSS_COMPILE=arm-linux-gnueabihf-还是用的cc
vi Makefile
VERSION = 1.3
CC?=$(CROSS_COMPILE)gcc
AR?=$(CROSS_COMPILE)ar
将这两条#注释掉
然后在后面的目标中加入@echo
$(OBJDIR)/%.o: %.c | $(OBJDIR)
@echo $(CC)
$(CC) -D VERSION=$(VERSION) -c $< $(CFLAGS) $(CPPFLAGS) -o $@
打印出CC就是cc已经定义了。
CC
C语言编译程序。默认命令是“cc”。
再来看?=
还有一个比较有用的操作符是“?=”,先看示例:
FOO ?= bar
其含义是,如果FOO没有被定义过,那么变量FOO的值就是“bar”,如果FOO先前被定义过,那么这条语将什么也不做,其等价于:
ifeq ($(origin FOO), undefined)
FOO = bar
endif
所以CC就是cc
于是将
VERSION = 1.3
CC?=$(CROSS_COMPILE)gcc
AR?=$(CROSS_COMPILE)ar
改为
VERSION = 1.3
CC?=$(CROSS_COMPILE)gcc
AR?=$(CROSS_COMPILE)ar
CC=/opt/gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc
AR=/opt/gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-ar
export PATH=/opt/gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf/bin:$PATH
make
make install DESTDIR=.
另外发现一个问题,
run_cyclictest $latency -S -p98 -m -n -q -D 2m
有一个参数-n
VERSION = 1.3中并没有这个参数
于是又下载了v1.0确实有-n
ltp-ddt realtime_cpu_load涉及的cyclictest 交叉编译的更多相关文章
- ltp-ddt realtime_cpuload_10p 涉及的cpuloadgen交叉编译及安装
1.下载源码 https://github.com/ptitiano/cpuloadgen/archive/v0.94.tar.gz 解压 tar -zxvf cpuloadgen-0.94.tar. ...
- Linux主机上使用交叉编译移植u-boot到树莓派
0环境 Linux主机OS:Ubuntu14.04 64位,运行在wmware workstation 10虚拟机 树莓派版本:raspberry pi 2 B型. 树莓派OS: Debian Jes ...
- Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程)
Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程) 声明:本教程在参考了以下博文,并经过自己的摸索后实际操作得出,本教程系本人原创,由于升级 ...
- 【原+转】用CMake代替makefile进行跨平台交叉编译
在开始介绍如何使用CMake编译跨平台的静态库之前,先讲讲我在没有使用CMake之前所趟过的坑.因为很多开源的程序,比如png,都是自带编译脚本的.我们可以使用下列脚本来进行编译: ./configu ...
- 在Ubuntu下安装imx6linux系统的交叉编译环境遇到的问题总结
这段时间一直忙于手上的嵌入式项目,可以说自己从嵌入式的菜鸟一点点的入门了,关于嵌入式和imx6核心板的开发有了一点的了解,尤其是对于板子环境的搭建.硬件的开发,搭建环境,是一个很大的工程量,也是很重要 ...
- (转)Windows7 64位系统搭建Cocos2d-x 2.2.1最新版以及Android交叉编译环境(详细教程) .
声明:本教程在参考了以下博文,并经过自己的摸索后实际操作得出,本教程系本人原创,由于升级后的cocos2d-x有了一些变化,目前的博文还没有关于Cocos2d-x 2.2.1最新版搭建Android交 ...
- Windows7 64位系统搭建Cocos2d-x 2.2.1最新版以及Android交叉编译环境(具体教程)
原文地址:http://blog.csdn.net/sttyytw/article/details/17005263 声明:本教程在參考了下面博文,并经过自己的摸索后实际操作得出,本教程系本人原创,因 ...
- LTP介绍
1.LTP介绍 LTP--linut test project ,ltp套件是由Linux Test Project所开发的一套系统測试套件.它基于系统资源的利用率统计开发了一个測试的组合,为系 ...
- 如何快速掌握DDT数据驱动测试?
1.前言 (网盗概念^-^)相同的测试脚本使用不同的测试数据来执行,测试数据和测试行为完全分离, 这样的测试脚本设计模式称为数据驱动.(网盗结束)当我们测试某个网站的登录功能时,我们往往会使用不同的用 ...
随机推荐
- 6,Stack
一,Stack简介 Stack是栈.它的特性是:先进后出(FILO, First In Last Out). java工具包中的Stack是继承于Vector(矢量队列)的,由于Vector是通过数组 ...
- ajax传递对象到MVC控制器
1.view层中ajax写法: function Add2() { var model = new Object(); model.UserName = $('#UserName').val(); m ...
- asp.net+扫描仪+图片上传
问题: IE浏览器下使用Activex插件调用客户端扫描仪扫描文件并山传,可以将纸质档案(如合同.文件.资料等)扫描并将扫描图像保存到服务器,可以用于合同管理.档案管理等. 通过插件方式调用扫描仪扫描 ...
- Python_014(面向对象之继承)
一.面向对象之继承 1.初始继承 引入:面向对象的三大特性:继承,多态,封装 a.继承是创建新类的一种方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类;新建的类称为派生类 ...
- 牛客提高D3t1 破碎的矩阵
分析 我们发现如果行的异或和等于列的异或和那么对于n-1行m-1列的所有数的选择都是任意的 因为一定可以在它的行末/列末选一个合适的数是的整体满足 但是我们发现对于右下角那一个数是否满足存疑 我们设矩 ...
- 用C#调用C++DLL提示找不到DLL解决方法【转】
用C#调用自己写的C++ DLL(x64),总是提示找不到DLL,调试可以,发布release老是提示找不到DLL(dll文件确定存在) 原因:Visual C++的DLL分发方式没选:调试默认选择: ...
- MySQL replace into 与insert into
https://blog.csdn.net/helloxiaozhe/article/details/77427266 使用replace带来的问题 1.Replace into 操作在唯一键重复情况 ...
- Mac011--DbWrench Database安装
Mac--DbWrench Database安装 DbWrench <=> powerdesigner 下载网址:http://dbwrench.com/download/install/ ...
- .apk的MIME类型
1.扩展名: .apk MIME类型: application/vnd.android 2.Internet 服务管理器添加.apk:打开IIS --->找到MIME类型,双击之 -- ...
- 协程分析之context上下文切换
协程现在已经不是个新东西了,很多语言都提供了原生支持,也有很多开源的库也提供了协程支持. 最近为了要给tbox增加协程,特地研究了下各大开源协程库的实现,例如:libtask, libmill, bo ...