arm交叉编译lmbench

这篇具有很好参考价值的文章主要介绍了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.

arm交叉编译lmbench,arm开发

在网络上查也没有查到啥有用信息,最后通过查看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大小为原来的十分之一,问题解决。文章来源地址https://www.toymoban.com/news/detail-629650.html

到了这里,关于arm交叉编译lmbench的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux下6818开发板(ARM)】SecureCRT串口和交叉编译工具(巨细版!)

    (꒪ꇴ꒪ ),hello我是 祐言 博客主页:C语言基础,Linux基础,软件配置领域博主🌍 快上🚘,一起学习! 送给读者的一句鸡汤🤔: 集中起来的意志可以击穿顽石! 作者水平很有限,如果发现错误,可在评论区指正,感谢🙏 1.串口工具          SecureCRT         SecureCRT是一款功

    2024年02月15日
    浏览(45)
  • ubuntu交叉编译Opencv-4.2及contrib库并移植ARM开发板

             前言:本文介绍在ubuntu-18.04上交叉编译Opencv-4.2.0,交叉编译工具版本是arm-linux-4.9.0。 安装cmake和cmake-gui: $ sudo apt-get install cmake $ sudo apt-get install cmake-qt-gui 安装依赖库: $ sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libtiff5-dev libswscale-

    2024年02月14日
    浏览(51)
  • 在linux中进行arm交叉编译体验tiny6410裸机程序开发流程

    在某鱼上找了一个友善之臂的Tiny6410开发板用来体验一下嵌入式开发。这次先体验一下裸机程序的开发流程,由于这个开发板比较老旧了,官方文档有很多过期的内容,所以记录一下整个过程。 按照光盘A中的文档《04- Tiny6410 Linux开发指南.pdf》的 1.3.5 节描述,用光盘中的 a

    2024年02月15日
    浏览(35)
  • QT学习笔记-oracle oci数据库驱动交叉编译并移植到ARM开发板

    在上一文《QT学习笔记-QT安装oracle oci驱动》中介绍了在Windows环境下使用QT访问oracle数据库时遇到驱动无法加载问题的解决办法,大体思路是对QT源码中数据库驱动的源码oci进行编译,要想通过编译需要依赖对应数据库的头文件和库(可以通过下载oracle instant client),编译通过

    2024年02月13日
    浏览(57)
  • 交叉编译arm程序,编译arm版本的openssl

    开局一个错: 显示没有GCC, 于是下载gcc; 下载gcc有问题: 发现是换源的问题,于是换源后继续安装,安装成功: 接着继续出错: 继续安装库sudo apt-get install libncurses5-dev 接着又报错了,我之前去的github上弄的buildroot,现在去官网下载一个。 果然运行成功了: Target options:

    2024年02月04日
    浏览(41)
  • ARM交叉编译入门及交叉编译第三方库常见问题解析

    交叉编译简单说来,就是编译成果物的地儿不是你运行这个成果物的地儿。最常见的场景,就是我们要编译一个 ARM版本 的可执行程序,但我们编译这个 ARM版本 可执行程序的地方,是在一个 x86_x64 的平台上。 绝大部分的原因,是目标平台不具备编译成果物的算力。具体说来

    2023年04月26日
    浏览(88)
  • Rust交叉编译简述 —— Arm

    使用系统:WSL2 —— Kali(Microsoft Store) 命令列表 写入: 使用qemu进行测试:

    2024年02月12日
    浏览(36)
  • 【交叉编译环境】安装arm-linux交叉编译环境到虚拟机教程(简洁版本)

    就是看到了好些教程有些繁琐,我就写了一个 我这个解压安装的交叉编译环境是Linaro GCC的一个版本,可以用于在x86_64的主机上编译arm-linux-gnueabihf的目标代码 步骤来了 在你的Ubuntu系统中 创建一个目录 ,例如/usr/local/arm,然后将下载好的gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueab

    2024年02月03日
    浏览(43)
  • openssl交叉编译 (ubuntu+arm)

    1.下载安装包  wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz 2.解压安装包 tar -zxvf openssl-1.1.1l.tar.gz 3.进入源码文件夹-修改编译器 CC=arm-linux-gnueabihf-gcc 4.配置编译参数 ./config no-asm -shared --prefix=/home/alientek/sp_test/openssl/sp_install 1)no-asm在交叉编译过程中不使用汇编代码代码加速编译

    2024年02月05日
    浏览(46)
  • Linux——ARM交叉编译环境搭建

    可依据自己当前的环境进行选择下载,官网如下​​​ Downloads | GNU-A Downloads – Arm Developer 我这边选择如下,用于4412开发板的 gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf.tar.xz mkdir  /usr/local/arm tar -xvf gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf.tar.xz 在 vim /root/.bashrc 或 vim /etc/profi

    2024年02月21日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包