CODE_LINUX_DRV_DDR3

主要用途:实现NAND Flash中IO操作功能。

能力分类:嵌入式

应用领域:安防监控,游戏玩具,健康医疗,智能家居,照明显示

交易方式: 定制

参考价格:50000.00 小贴士:当前佣金是0%

好评率:100%| 综合评分:5.0| 已购买:0次
联系我 收藏店铺
分享: 

 模块描述

1.1  原理及方式

该驱动实现ZYNQ平台下DDR ECC驱动

1.2  主要功能

实现NAND FlashIO操作功能

 标准模块

根据Linux驱动架构设计。

 模块设计

3.1  结构体设计

1) zynq_edac_priv

DDR控制器私有数据结构体,存放IO基地址等信息

struct zynq_edac_priv {

void __iomem *baseaddr;

u32 ce_count;

u32 ue_count;

};

 

3.2  主要函数说明

1) DDR驱动初始化函数

函数原型

static int zynq_edac_mc_init(struct mem_ctl_info *mci, struct platform_device *pdev)

功能描述

初始化DDR控制器

输入参数

mciDDR控制器结构体指针

pdev,设备指针

输出参数

全局变量值的变化

返回值

0成功;其他,失败

2) DDR设备搜索函数

函数原型

static int zynq_edac_mc_probe(struct platform_device *pdev)

功能描述

检查DDR设备驱动并与设备绑定,为DDR设备驱动申请必要的资源

输入参数

pdev,设备指针

输出参数

全局变量值的变化

返回值

0成功;其他,失败

3) NAND设备移除函数

函数原型

static int zynq_edac_mc_remove(struct platform_device *pdev)

功能描述

移除DDR设备驱动,取消绑定的驱动,并释放资源等

输入参数

pdev,设备指针

输出参数

全局变量值的变化

返回值

0

 使用方法

1. zynq_edac.c放置在Linux内核的drivers/edac/

2. 在该目录下的Makefile中增加

obj-$(CONFIG_ZYNQ_PS_EDAC) += zynq_edac.o”

3. 在该目录下的Kconfig文件中增加

config EDAC_ZYNQ

tristate "ZYNQ DDR Memory Controller"

depends on EDAC_MM_EDAC && ARCH_ZYNQ

help

  This enables support for EDAC on the ECC memory used

  with the ZYNQ DDR memory controller.

 应用举例

 其他


总体评价

好评率:100%

好评数量:0

总体评分

工作速度:5分

工作质量:5分

工作态度:5分

暂无评价

企业其他能力

More>