资源简介
包含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实现PID.v
- 基于FPGA的sdi视频传输工程(k7_sdi_rx
- FPGA彩条显示
- Xilinx-FPGA-引脚功能详细介绍.doc
- 基于xilinx FPGA的PCIe设计实战
- 基于PCIe的FPGA动态配置设计与实现
- 为什么工程师要掌握FPGA开发知识?
-
imx6qSBP的jli
nk初始化脚本 - uboot到linux logo显示不间断 补丁
- 数字频率合成dds正弦波基于FPGA的DDS产
- Verilog FPGA UART串口控制器
- gmsk调制在FPGA上实现
- 一个简单的verilog编写的DMA IP CORE,和
- FPGA在步进电机驱动上的应用实例及代
- fpga实现频率测量
- FPGA开发-ChipScope教程
- 红外循迹小车VHDL程序
- 基于FPGA的USB接口设计
- DE2模拟的交通红绿灯
- 一种抗SEU存储器电路的FPGA设计
- Cyclone 10LP Remote Update Intel FPGA IP 官方工
- imx6q ch452驱动矩阵键盘扫描
- nRF24L01无线模块在单片机与FPGA上的应
- 基于FPGA多协议转换网关设计
- fpga数字钟
- FPGA按键消抖
- 具有可编程环路补偿功能高密度电源
- FPGA系统中有源电容放电电路设计需注
- 玩转Altera FPGA:基于PLL分频计数的LE
- 二院型号FPGA 硬件描述语言编程准则
评论
共有 条评论