[发明专利]嵌入式系统中连续物理内存分配方法和装置无效
| 申请号: | 200910192199.1 | 申请日: | 2009-09-08 |
| 公开(公告)号: | CN101706754A | 公开(公告)日: | 2010-05-12 |
| 发明(设计)人: | 施金前;蔡怀琳 | 申请(专利权)人: | 厦门敏讯信息技术股份有限公司 |
| 主分类号: | G06F12/06 | 分类号: | G06F12/06;G06F9/445 |
| 代理公司: | 厦门市诚得知识产权代理事务所 35209 | 代理人: | 黄国强 |
| 地址: | 361009 福建省*** | 国省代码: | 福建;35 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 嵌入式 系统 连续 物理 内存 分配 方法 装置 | ||
1.一种嵌入式系统中连续物理内存分配方法,其特征在于,包括:
在所述嵌入式系统的引导加载程序中,将全部物理内存数量与需分配的连续物理内存数量之差作为参数值设置内核管理内存数量的内核启动参数;
在所述嵌入式系统的驱动中按所述需分配的连续物理内存数量分配所述连续物理内存。
2.根据权利要求1所述的方法,其特征在于:
所述嵌入式系统是Linux嵌入式系统;
所述设置内核管理内存数量的内核启动参数的步骤包括:在Linux嵌入式系统的引导加载程序中设置的内核启动参数中加入如下信息:mem=C,其中所述C为全部物理内存数量与需分配的连续物理内存数量之差。
3.根据权利要求2所述的方法,其特征在于:
在所述嵌入式系统的驱动中按所述需分配的连续物理内存数量分配所述连续物理内存的步骤包括:
在所述嵌入式系统的驱动中按所述需分配的连续物理内存数量指定所述连续物理内存的物理地址;
在所述嵌入式系统的驱动中重映射所述连续物理内存的物理地址为虚拟地址。
4.根据权利要求3所述的方法,其特征在于:
在所述嵌入式系统的驱动中按所述需分配的连续物理内存数量指定所述连续物理内存的物理地址的步骤包括:在所述嵌入式系统的驱动中通过如下语句来指定所述连续物理内存的物理地址:
#define REAL_MEM_SIZE 0x2000000;
u8 *pp_virt_buf=NULL;
dma_addr_t pp_phys_buf;
unsigned int t_size=0x100000;
pp_phys_buf=PHYS_OFFSET+(REAL_MEM_SIZE-t_size);
在所述嵌入式系统的驱动中重映射所述连续物理内存的物理地址为虚拟地址的步骤包括:在所述嵌入式系统的驱动中通过如下语句来重映射所述连续物理内存的物理地址为虚拟地址:
pp_virt_buf=ioremap_nocache(pp_phys_buf,t_size)。
5.根据权利要求1至4任一项所述的方法,其特征在于,在分配所述连续物理内存的步骤之后,包括:
通过所述引导加载程序的命令修改所述设置内核管理内存数量的内核启动参数的参数值,以改变所述需分配的连续物理内存数量。
6.根据权利要求1至4任一项所述的方法,其特征在于,在分配所述连续物理内存的步骤之后,包括:
通过所述引导加载程序的命令去掉所述设置内核管理内存数量的内核启动参数,以释放所述分配的连续物理内存时。
7.根据权利要求4所述的方法,其特征在于,在分配所述连续物理内存的步骤之后,包括:
将pp_virt_buf作为DMA内存地址发送给所述驱动。
8.一种嵌入式系统中连续物理内存分配装置,其特征在于,包括:
参数设置单元,用于在所述嵌入式系统的引导加载程序中,将全部物理内存数量与需分配的连续物理内存数量之差作为参数值设置内核管理内存数量的内核启动参数;
内存分配单元,用于在所述嵌入式系统的驱动中按所述需分配的连续物理内存数量分配所述连续物理内存。
9.根据权利要求8所述的装置,其特征在于,进一步包括:
内存改变单元,用于通过所述引导加载程序的命令修改所述设置内核管理内存数量的内核启动参数的参数值,以改变所述需分配的连续物理内存数量。
10.根据权利要求9所述的装置,其特征在于,进一步包括:
内存释放单元,用于通过所述引导加载程序的命令去掉所述设置内核管理内存数量的内核启动参数,以释放所述分配的连续物理内存时。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门敏讯信息技术股份有限公司,未经厦门敏讯信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910192199.1/1.html,转载请声明来源钻瓜专利网。





