arm交叉编译lmbench

一、下载lmbench

www.bitmover.com/lmbench 官网下载,http://www.bitmover.com/lmbench/lmbench3.tar.gz

我没有下载下来,找的别人的百度云下载

链接: https://pan.baidu.com/s/1tGo1clCqY-jQPN8G1eWSsg 提取码: f6jd

二、修改makefile

修改三个文件

2.1 修改scripts/os

在最后一行echo $OS前,增加

OS=arm-linux (增加行)

echo $OS

2.2 修改scripts/compiler

在最后一行echo $CC前,增加

CC=arm-linux-gnueabihf-gcc(增加行)

echo $CC

2.3 修改scripts/build

将LDLIBS=lm修改为LDLIBS="-static -lm"

三、编译

直接make,编译完成后在bin目录下生成stream可执行文件。

四、运行出错处理

stream在我们的环境中运行,直接会报Segmentation fault,无其他任何打印。

通过gdb发现无任何堆栈信息,只是报错:Starting program: /mnt/test/zhixin_stream/stream

During startup program terminated with signal SIGSEGV, Segmentation fault.

在网络上查也没有查到啥有用信息,最后通过查看stream.c的源码发现,STREAM_ARRAY_SIZE参数过大,导致申请的数组大小已经大于内存大小。

#ifndef STREAM_ARRAY_SIZE

define STREAM_ARRAY_SIZE 10000000

#endif

static STREAM_TYPE a[STREAM_ARRAY_SIZE + OFFSET],

系统起来以后的剩余内存只有128M,之前STREAM_ARRAY_SIZE大小为接近1G,,由此导致在程序加载的时候超过运行内存大小而出现段错误。修改STREAM_ARRAY_SIZE大小为原来的十分之一,问题解决。

相关推荐
szxinmai主板定制专家1 小时前
【NI测试方案】基于ARM+FPGA的整车仿真与电池标定
arm开发·人工智能·yolo·fpga开发
森G2 天前
2一、u-boot下载编译
linux·arm开发
GilgameshJSS2 天前
STM32H743-ARM例程23-USB_HID
arm开发·stm32·嵌入式硬件
半夏微凉半夏殇2 天前
除了arm 还有那些开源的芯片架构
arm开发·架构·开源
XINVRY-FPGA2 天前
XC7A100T-2FGG484I Xilinx Artix-7 FPGA
arm开发·嵌入式硬件·fpga开发·硬件工程·信息与通信·信号处理·fpga
文火冰糖的硅基工坊3 天前
[嵌入式系统-123]:中高端图形处理器RM Mali-G610 MP4 GPU 是 ARM 公司推出的基于 Valhall 架构 的移动 GPU
arm开发·ai·架构·嵌入式·gpu
武文斌774 天前
项目学习总结:CAN总线、摄像头、STM32概述
linux·arm开发·stm32·单片机·嵌入式硬件·学习·c#
roshy4 天前
x86、arm、rsc-v指令集架构,指令集、OS、应用3者的关系
java·arm开发·架构
szxinmai主板定制专家5 天前
基于ARM+FPGA的无人机数据采集卡,6通道24bit采集
arm开发·嵌入式硬件·fpga开发·无人机·能源
czhaii5 天前
KEIL 同时安装C51 C251 ARM &Link D USB 2UART
arm开发