一种基于ARM-Linux的FPGA程序加载方法

嵌入式系统 时间:2012-11-30来源:网络

  int fpga_open(struct inode *inode, struct file *filp){

  int minor;

  minor = MINOR(inode->i_rdev);

  init_fpga();

  fpga_devices[minor]++;

  printk("FPGA is ready.");

  return 0;

  }

  ssize_t fpga_write(struct file *flip,const char *buffer,size_t count,loff_t

  *ppos){

  int i;

  if(copy_from_user(buf,buffer,count)){

  printk("error ");

  return -EFAULT;

  }

  printk("%d numbers have been received!",count);

  printk("The number is:%d",count);

  for(i=0;icount;i++){

  ARM_GPDDAT=(ARM_GPDDAT0x3F00)|buf[i];

  set_register_bit(FPGA_CCLK);

  }

  printk("data write finished");

  for(i=0;i4;i++){

  set_register_bit(FPGA_CCLK);

  clear_register_bit(FPGA_CCLK);

  }

  return count;

  }

  int fpga_release(struct inode *inode, struct file *filp){

  int minor;

  minor = MINOR(inode->i_rdev);

  if (fpga_devices[minor])

  fpga_devices[minor]--;

  printk("Goodbye cruel world");

  return 0;

  }

  void cleanup_module(void){

  printk("Goodbye cruel world");

  }

  5、结束语

  本文的创新点:基于ARM-Linux平台,实现了一种FPGA的程序加载模式,加载速度快,灵活高效。

1 2 3

关键词: ARM Linux FPGA 程序加载

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版