资源简介
包含imx6处理器设置eim接口的设备树,以及用户应用程序对eim接口的访问(外设是FPGA)
代码片段和文件信息
#include
#include
#include
/* file management */
#include
#include
/* as name said */
#include
/* sleep write() read() */
#include
/* converting string */
#include
/* memory management */
#include
/* time */
#include
#include
#define WEIM_CTRL_base (0x21B8000)
#define FPGA_ADDRESS (0x50000000)
#define FPGA_SIZE (0x02000000)
#define TYPE unsigned int
#define PAGE_SIZE 4096
#define TYPE_LENGTH 2
#define MAX_INDEX 20000
#define DATA_SIZE (MAX_INDEX << TYPE_LENGTH)
int main(int argc char const *argv[])
{
int ffpga;
TYPE *ptr_fpga;
TYPE *ptr_fpga_ori;
TYPE buf[DATA_SIZE/4];
TYPE *res;
TYPE i = 0;
char *ptr_fpga_start;
TYPE *weim_ctrl;
struct timespec start_time;
struct timespec end_time;
for(i=0;i< MAX_INDEX;i++)
{
buf[i] = (i << 2);
}
ffpga = open(“/dev/mem“O_RDWR | O_SYNC);
if(ffpga < 0)
{
perror(“open failed\n“);
}
ptr_fpga = mmap(0 FPGA_SIZE PROT_READ | PROT_WRITE MAP_SHARED ffpga FPGA_ADDRESS);
ptr_fpga_ori = ptr_fpga;
if(ptr_fpga == NULL)
{
perror(“mmap failed\n“);
exit(-1);
}
clock_gettime(CLOCK_REALTIME &start_time);
for(i = 0 ;i < MAX_INDEX;i++)
{
*ptr_fpga = buf[i];
buf[i] = *ptr_fpga;
ptr_fpga++;
}
clock_gettime(CLOCK_REALTIME &end_time);
printf(“write %d byteswhole time:%ds %dns\n“DATA_SIZEend_time.tv_sec -start_time.tv_secend_time.tv_nsec - start_time.tv_nsec);
// ptr_fpga = ptr_fpga_ori;
// clock_gettime(CLOCK_REALTIME &start_time);
// for(i=0;i< MAX_INDEX;i++)
// {
// buf[i] = *ptr_fpga++;
// }
// clock_gettime(CLOCK_REALTIME &end_time);
// printf(“read %d byteswhole time:%ds %dns\n“DATA_SIZEend_time.tv_sec -start_time.tv_secend_time.tv_nsec - start_time.tv_nsec);
// for(i=0;i< MAX_INDEX;i++)
// printf(“buf[%d] = 0x%x\n“ibuf[i]);
munmap(ptr_fpga FPGA_SIZE);
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 256 2018-08-28 15:56 eim_fpga\EIM设备树
文件 1974 2018-08-22 10:12 eim_fpga\fpga_eim.c
文件 1033 2018-04-11 17:42 eim_fpga\Makefile
目录 0 2018-08-28 15:56 eim_fpga
----------- --------- ---------- ----- ----
3263 4
- 上一篇:UISpy+Inspect64
- 下一篇:读取以及写入Jpg图片内的Exif信息
相关资源
- 视频图像灰度信号直方图的FPGA实现
- quartusUSB驱动
- 基于FPGA和ADV7123的VGA显示接口的设计和
- 32位SPI通信FPGA
- 实测亲测xilinx fpga uart 串口rs232工程,
- 用FPGA生成SPWM波形
- USB接口芯片FT245的FPGA程序
- FPGA-cpld串口rs232模块 发送接收程序
- verilog实现的带FIFO的UART模块
- 基于FPGA的交通灯控制器设计
- 基于fpga的ecc算法实现
- 基于FPGA的电梯控制系统.PDF
- FPGA 数字时钟
- netFPGA的顶层模块结构
- 基于FPGA的位同步信号提取
- 基于fpga的ask_psk_fsk信号的设计与实现
- FPGA按键消抖程序
- FPGA 64位浮点乘法器代码
- FPGA 交通灯程序
- FPGA 4X4矩阵键盘VHDL程序
- 基于NIOSII处理器的数字钟设计
- FPGA 串口调试 源代码
- 数字下变频DDC VHDL语言 FPGA
- VHDL FPGA 数控振荡器NCO
- SDSoC License
- 基于FPGA的DDS信号发生器
- Xilinx FPGA上实现MicroBlaze并运行uCOS的详
- fpga实现CAN总线源码
- 基于fpga的电子锁的设计
- MAX 10 FPGA 配置用户指南
评论
共有 条评论