我正在运行启动到终端的linux(没有gui)。

我有一个ZyBo电路板,它有一个ArmV7处理器。我写了一个C程序来输出PMOD上的时钟和相应的数据序列。 PMOD的切换速度高达50MHz。但是,我的程序创建的时钟只有115 Hz的最大频率。我需要这个程序尽可能快地输出,因为PMOD I使用的能力是50MHz。

我使用以下代码行编译了我的程序:

gcc -ofast (c_program)。

#include

#include

#define ARRAYSIZE 511

//________________________________________

//macro for the SIGNAL PMOD

//________________________________________

//DATA

//ZYBO Use Pin JE1

#define INIT_SIGNAL system("echo 54 > /sys/class/gpio/export"); system("echo out > /sys/class/gpio/gpio54/direction");

#define SIGNAL_ON system("echo 1 > /sys/class/gpio/gpio54/value");

#define SIGNAL_OFF system("echo 0 > /sys/class/gpio/gpio54/value");

//________________________________________

//macro for the "CLOCK" PMOD

//________________________________________

//CLOCK

//ZYBO Use Pin JE4

#define INIT_MYCLOCK system("echo 57 > /sys/class/gpio/export"); system("echo out > /sys/class/gpio/gpio57/direction");

#define MYCLOCK_ON system("echo 1 > /sys/class/gpio/gpio57/value");

#define MYCLOCK_OFF system("echo 0 > /sys/class/gpio/gpio57/value");

int main(void){

int myarray[ARRAYSIZE] = {//hard coded array for signal data

1,0,0,1,0,1,0,0,1,0,1,0,0,1,0,1,0,0,1,0,1,0,0,1,0,0,1,0,1,0,0,1,1,0,0,1,1,0,1,0,0,0,0,0,1,0,0,1,1,1,0,0,1,1,1,0,1,1,1,1,0,0,1,0,0,0,1,0,1,0,0,1,1,1,0,0,1,0,1,0,1,0,0,1,0,1,1,0,1,0,1,1,0,0,1,1,1,1,0,0,1,0,1,0,0,1,1,1,1,1,1,0,0,1,0,0,1,1,0,1,0,0,0,0,1,0,0,0,1,1,0,0,1,0,1,1,1,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,1,0,1,1,1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,1,0,1,0,1,0,1,1,0,0,0,0,0,0,0,0,1,0,1,1,0,1,1,1,1,1,0,0,1,1,1,0,0,1,1,0,1,1,0,1,1,1,0,0,1,1,1,1,1,0,0,1,0,1,0,1,0,1,1,0,1,0,0,0,1,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,0,0,0,1,1,1,0,1,1,1,1,0,1,1,0,1,0,1,0,1,0,0,1,0,1,1,1,0,1,1,1,0,0,1,1,1,0,1,0,0,1,0,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,1,1,0,1,0,1,1,1,0,0,0,0,0,1,0,0,0,1,0,1,1,1,1,1,1,1,0,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,0,1,1,0,1,0,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,0,1,1,1,0,1,0,1,1,1,0,0,0,1,0,1,0,1,0,0,1,1,0,0,1,1,0,1,0,0,1,0,0,1,0,1,1,1,1,1,1,0,1,1,0,1,0,1,1,1,1,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,1,0,1,0,1,0,1,0,0,1,1,1,0,1,1,0,0,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0

};

INIT_SIGNAL

INIT_MYCLOCK;

//infinite loop

int i;

do{

i = 0;

do{

/*

1020 is chosen because it is twice the size needed allowing for the changes in the clock.

(511= 0-510, 510*2= 1020 ==> 0-1020 needed, so 1021 it is)

*/

if((i%2)==0)

{

MYCLOCK_ON;

if(myarray[i/2] == 1){

SIGNAL_ON;

}else{

SIGNAL_OFF;

}

}

else if((i%2)==1)

{

MYCLOCK_OFF;

//dont need to change the signal since it will just stay at whatever it was.

}

++i;

} while(i < 1021);

} while(1);

return 0;

}

如何使我的可执行程序输出至少达到MegaHertz的大小?

linux+arm+gpu加速,加速可执行程序Linux - arm处理器。比特切换相关推荐

  1. [Linux RK Debian 10] chrome浏览器开启GPU硬件加速|CSDN创作打卡

    platform:RK OS:Linux Kernel: 4.4.143 filesystem:debian10 文章目录 简易查看GPU硬件加速 开启GPU硬件加速 (1) 启动桌面的浏览器加速配置 ...

  2. 对国产板子有阴影这些软硬件开源的ARM开发板可以学习Linux驱动

    对国产板子有阴影?这些软硬件开源的ARM开发板可以学习Linux驱动开发 为了点亮一块MIPI屏幕,我们除了要了解MIPI DSI的工作原理之外,大前提要了解整个MIPI DSI图显系统的组成,更需要 ...

  3. NVIDIA GRID 和 NICE DCV 技术用于实现 Linux 和 Windows® 图形加速虚拟桌面

    NVIDIA GRID 和 NICE DCV 技术用于实现 Linux 和 Windows® 图形加速虚拟桌面. NICE DCV: 满足 LINUX 和 WINDOWS 的远程 3D 通过 NICE ...

  4. 如何利用多核CPU来加速你的Linux命令

    如何利用多核CPU来加速你的Linux命令 原文出处: rankfocus   译文出处: 外刊IT评论 你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或在里面搜索,或其它操作--一些无法并 ...

  5. 【Linux】ARM篇一--计算机基础与RAM处理器概论

    ARM篇一--计算机基础与ARM处理器概论 一.计算机基础 1.Linux嵌入式底层导学 1.1 Linux学习过程 1.2 操作系统的分层作用 2.计算机基础知识 2.1 计算机的进制 2.2 计算 ...

  6. Linux 之父是个果粉:给自用 M2 Mac 装上 Fedora Linux,除图形加速和 Chrome 都搞定了...

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 要说苹果Macbook最忠实的大神用户,Linus Torvalds当属其一. 当支持M2芯片的几个Linux项目 ...

  7. linux kernel git clone加速

    加速的主要思路就是从国内镜像下载大部分资料,然后同步Kernel官方的最新部分. 中科大的 USTC Mirror,清华的 Tuna Mirror,它们镜像了各大知名的开源项目,比如 Linux Ke ...

  8. linux 速锐tcp.加速,【转载】锐速 ServerSpeeder 常规配置资料

    安装成功后,安装程序会在您的服务器文件系统的根目录下面创建一个/serverspeeder 目录,下面包含bin.etc 和log 三个子目录:各目录及文件的说明如下: 名称类型说明 /servers ...

  9. linux控制cache使用值e,[轉]Linux塊設備加速緩存bcache和dm-cache:使用SSD來加速服務器...

    在 LSFMM 2013 峰會上,Mike Snitzer, Kent Overstreet, Alasdair Kergon, 和 Darrick Wong 共同主持了一個討論,內容是關於兩個彼此獨 ...

  10. linux 编译缓存,Linux下SSD缓存加速之open cas试用

    Linux下SSD缓存加速之open cas试用 猫先生 • 2019 年 09 月 06 日 之前写过 Linux下bcache安装测试的文章 Linux下SSD缓存加速之bcache试用,还是那个 ...

最新文章

  1. Oracle 常用命令 及近期使用问题集合
  2. maven修改运行环境配置
  3. mysql密码高级_MySQL数据库高级操作(图文详解)
  4. boost::is_convertible相关的测试程序
  5. 转:Redis 集群搭建详细指南
  6. 网站白痴的 ASP.NET website 学习日志
  7. 阿里2019财年收入达3768.44亿元 盘前涨幅一度超4%
  8. 中国有什么拿得出手的开源软件产品?|原力计划
  9. 40美元18分钟训练整个ImageNet!他们说,这个成绩人人可实现
  10. Datastructure
  11. 【你必须知道的.NET】:【大话String】
  12. lnmp mysql 哪个好_[LNMP]Mysql生产环境配置
  13. 使用ajax实现文件上传功能
  14. Spring中整合Quartz插件【一】基于MethodInvokingJobDetailFactoryBean实现任务管理
  15. 黑客与电脑白的聊天记录
  16. ext2文件系统初步
  17. 维修手册 html 打开,戴尔Dell Latitude E6410/E6510官方拆机图解维修手册
  18. 传教士 野人 过河问题
  19. 高等数学(第七版)同济大学 习题7-7 个人解答
  20. Conky-colors详细教程

热门文章

  1. KKT条件(Karush–Kuhn–Tucker conditions)
  2. docker安装并启动mysql
  3. 【论文导读】Inferring deterministic causal relations
  4. CocosCreator更改预览浏览器
  5. 在线靶场-墨者-电子数据取证1星-安卓手机文件分析取证(陌陌发送的视频)
  6. 快速搭建前后端分离项目框架
  7. 2T架构师教学视频打包分享
  8. Oracle入门精读36-表空间删除及其数据文件(drop tablespace )
  9. 判断一个对象为空对象的五种方法
  10. 论文解读 ——TimesNet 模型