您现在的位置: 爱51代码网 >> 范文 >> 文章正文
OpenRisc-21-添加自己的IP core到ORSoC并测试
KERN_ERR "mkg check_mem_region bussy error!\n");
  return -1;
 }

 ret_from_request = request_mem_region(MKG_MEM_BASE, MKG_MEM_LEN, "ip_mkg");

 //===ioremap mkg registers

 g_mkg_mem_base = ioremap(MKG_MEM_BASE,MKG_MEM_LEN);
 if(NULL == g_mkg_mem_base)
 {
  printk(KERN_ERR "mkg ioremap error!\n");
  return -1;
 }
 else
 {
  ;//printk("mkg ioremap addr:%d!\n",g_mkg_mem_base);
 }

 printk("mkg module init done!\n");

 iowrite32(0x1,g_mkg_mem_base);
 printk("mkg write1!\n");
 iowrite32(0x2,g_mkg_mem_base+4);
 printk("mkg write2!\n");

 while(loop--)
 printk("======%d======read:%d\n",loop,ioread32(g_mkg_mem_base+4*loop));

论文网 

 return 0;
}

void cleanup_module()
{
 release_mem_region(MKG_MEM_BASE, MKG_MEM_LEN);

 unregister_chrdev(MAJOR_NUM, DEVICE_NAME);
}

MODULE_LICENSE("GPL");
MODULE_AUTHOR("Rill zhen:rill_zhen@126.com");
2》ip_mkg.h
[html] view plaincopyprint?
01.#ifndef __IP_MKG_H__ 
02.#define __IP_MKG_H__ 
03. 
04.#define MAJOR_NUM   102 
05.#define DEVICE_NAME "ip_mkg" 
06.#define MKG_MEM_BASE 0x97000000 
07.#define MKG_MEM_LEN 32 
08. 
09.#define IOCTL_REG_SET 0 
10.#define IOCTL_REG_GET 1 
11. 
12. 
13. 
14.struct reg_data  
15.{ 
16.    unsigned short addr; 
17.    int value; 
18.}; 
19. 
20.#endif 
#ifndef __IP_MKG_H__
#define __IP_MKG_H__

#define MAJOR_NUM 102
#define DEVICE_NAME "ip_mkg"
#define MKG_MEM_BASE 0x97000000
#define MKG_MEM_LEN 32

#define IOCTL_REG_SET 0
#define IOCTL_REG_GET 1
struct reg_data
{
 unsigned short addr;
 int value;
};
#endif
3》Makefile

[html] view plaincopyprint?
01.# To build modules outside of the kernel tree, we run "make" 
02.# in the kernel source tree; the Makefile these then includes this 
03.# Makefile once again. 
04.# This conditional selects whether we are being included from the 
05.# kernel Makefile or not. 
06.ifeq ($(KERNELRELEASE),) 
07. 
08.    # Assume the source tree is where the running kernel was built 
09.    # You should set KERNELDIR in the environment if it's elsewhere 
10.    KERNELDIR ?= /home/openrisc/soc-design/linux 
11.    # The current directory is passed to sub-makes as argument 
12.    PWD := $(shell pwd) 
13. 
14.modules: 
15.  

 << 上一页  [11] [12] [13] [14] 下一页

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    sharepoint 2010 获取用户信息Us
    设计包含max函数的队列
    随机从数组中取出指定的不重复的
    mysql主从同步延迟方案解决的学习
    青岛科学六年级下册教材分析
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    总分公司财务核算
    mysql主从同步延迟方案解决的学习
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    总分公司财务核算
    恢复使用繁体字可行性研究报告
    保险受益人制度相关问题的探讨
    初中生地理读图能力培养的研究
    搞笑生日祝福
    NLP中文信息处理---正向最大
    中国工作流厂商形成战略联盟
    TIME_WAIT状态下对接收到的数
    The layout of PID & PORT i
    hadoop核心逻辑shuffle代码分
    The layout of PID & PORT i
    The layout of PID & PORT i
    The layout of PID & PORT i
    MapReduce错误任务失败处理 
    Oracle恢复内部原理(介质恢
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |