基于嵌入式系统的存储系统的制作方法

文档序号:16208123发布日期:2018-12-08 07:22阅读:268来源:国知局
基于嵌入式系统的存储系统的制作方法

本发明涉及嵌入式系统存储体系,尤其涉及一种基于嵌入式系统的存储器的系统。



背景技术:

当前,嵌入式系统在远程监控与数据采集、工业控制和电子消费等领域的应用日超广泛,随之人们对嵌入式系统的存储容易也提出了较高的要求。常见的flash存储器的容量远不够用,因此研制适用于嵌入式系统的大容里、高速度和高可靠性的数据存储系统变得日益重要。在嵌入式系统通用ide接口来接硬盘,不仅可以大大扩展嵌入式系统的存储容量,也能方便地与通用pc交换数据。



技术实现要素:

本发明针对以上问题,设计了基于嵌入式系统的存储系统,实现了对ide硬盘的读写,达到了高速率和高可靠性的要求。

本发明采用如下的技术方案实现:

基于嵌入式系统的存储系统,其特征在于,包括硬盘的初始化和硬盘读写驱动的调用;其中所述硬盘的初始化操作,打通了驱动与上层文件系统的通道,硬盘的初始化操作步骤如下:

1)硬盘设备驱动注册;

2)初始化硬盘请求队列;

3)ssmc基址映射并配置读、写周期;

4)硬盘基址和中断gpio基址映射;

5)向内核注册向量中断;

6)为硬盘分配结构空间;

7)注册添加该硬盘结构空间;

8)结束。

步骤2中的请求队列,同内核中的相应队列关联,通过函数blk-init-queue关联。

步骤4,驱动通过内核提供的ioremap函数来完成基址映射。

步骤5,通过request-irq函数为硬盘申请中断请求,并注册中断处理程序。

步骤6,硬盘的分配结构空间,需要调用alloc-disk函数来分配。

硬盘读写驱动的调用,从请求处理函数do-hd-request开始。

本发明技术方案实现的有益效果:

本发明通过硬盘的初始化和硬盘读写驱动的调用,实现了嵌入式系统对ide硬盘的读写,达到了高速率和可靠性的要求。

附图说明

图1是本发明基于嵌入式系统的存储系统中硬盘初始化流程图。

具体实施方式

以下详细描述本发明的技术方案。

实施例

基于嵌入式系统的存储系统,包括硬盘的初始化和硬盘读写驱动的调用。整个驱动是从module-init为驱动入口,调用了硬盘的初始化函数hd-init,对硬盘的初始化,打通与上层文件系统的通道,硬盘初始化的步骤如下:

1)硬盘设备驱动注册;

2)初始化硬盘请求队列;

3)ssmc基址映射并配置读、写周期;

4)硬盘基址和中断gpio基址映射;

5)向内核注册向量中断;

6)为硬盘分配结构空间;

7)注册添加该硬盘结构空间;

8)结束。

ide设备驱动程序在初始化过程中必须完成设备在内核中的注册,驱动通过register-blkdev函数向内核硬盘设备的主设备号和主设备名,完成这个注册任务。在ide硬盘初始化过程中,操作系统提供了一个内核调用函数blk-init-queue,来完成块设备请求队列的初始化和同内核中相应队列的关联。根据ide接口的ssmc、硬盘和选用中断gpio的物理地址,驱动通过内核提供的ioremap函数来完成基址映射。在硬盘初始化中,还要通过request-irq函数为硬盘申请中断请求,并注册中断处理程序。在linux内核中,使用gendisk结构体来表求一个独立的硬盘分区,该结构体是一个动态分配的结构体,驱动不能自己分配这个结构体,需要调用aloc-disk函数分配,被分配之后,再调用add-disk函数来注册,硬盘的初始化全部完成,初始化后,当上层文件系统对硬盘进行读写操作时,整个调用是从请求处理函数do-he-request开始的。



技术特征:

技术总结
本发明公开了基于嵌入式系统的存储系统,包括硬盘的初始化和硬盘读写驱动的调用,基于ARM926E芯片的开发板,根据ATA硬盘接口规范了IDE硬盘的接口电路,本发明实现了对IDE硬盘的读写,达到了高速率和高可靠性的要求。

技术研发人员:奚谷枫
受保护的技术使用者:浙江工规科技有限公司
技术研发日:2018.04.29
技术公布日:2018.12.07
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1