CN113094119B - 一种嵌入式设备程序动态加载方法 - Google Patents

一种嵌入式设备程序动态加载方法 Download PDF

Info

Publication number
CN113094119B
CN113094119B CN202110469494.8A CN202110469494A CN113094119B CN 113094119 B CN113094119 B CN 113094119B CN 202110469494 A CN202110469494 A CN 202110469494A CN 113094119 B CN113094119 B CN 113094119B
Authority
CN
China
Prior art keywords
program
memory
address
soc
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110469494.8A
Other languages
English (en)
Other versions
CN113094119A (zh
Inventor
许凯
刘怡雄
黄俊翔
任昂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Guoxin Microelectronics Co.,Ltd.
Original Assignee
Hangzhou Nationalchip Science & Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Nationalchip Science & Technology Co ltd filed Critical Hangzhou Nationalchip Science & Technology Co ltd
Priority to CN202110469494.8A priority Critical patent/CN113094119B/zh
Publication of CN113094119A publication Critical patent/CN113094119A/zh
Application granted granted Critical
Publication of CN113094119B publication Critical patent/CN113094119B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44557Code layout in executable memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/482Application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种嵌入式设备程序动态加载方法。大部分嵌入式设备很难加载复杂程序。本发明方法中嵌入式设备的SoC中具有内存保护单元MPU和地址映射单元MMU。MPU将内存划分为可访问区域内存MY和不可访问区域内存MN,并将MN划分成多个内存块;将需要加载的程序R划分成前段程序RF和后段程序RB;将RF加载到MY;如果需要运行RB时,动态地将部分RB加载到MN中,并将MN中的部分空间进行置换。本发明方法实现了运行时重复运行内存,在项目中使用价格更低的SoC,降低项目成本。本发明方法解决了在有限内存的嵌入式内存不够用的问题,使得开发者在内存受限的嵌入式设备中开发出功能更丰富的应用。

Description

一种嵌入式设备程序动态加载方法
技术领域
本发明涉及嵌入式设备技术领域,涉及一种嵌入式设备程序动态加载方法。
背景技术
近年来,随着科学技术的迅速发展,嵌入式技术逐渐普及,在通讯、医疗、工控等领域发挥着越来越重要的作用。不像通用计算机,绝大部分嵌入式设备只有有限的运行内存,很难在嵌入式设备中加载复杂程序。
在嵌入式中,应用程序存储在非易失存储器中。***启动后,应用程序通过一段存储在ROM(Read Only Memory)中的引导程序加载到运行内存中,然后被CPU执行。常见的非易失存储器有NorFlash和NandFlash,它们的特点是容量大、价格低、访问速度慢、断电后数据能保存。常见的运行内存有静态随机访问存储器(SRAM)和同步动态随机存取器(DRAM),它们的特点是容量小、价格昂贵、访问速度快、断电后数据会丢失。所以在嵌入式设备中,运行内存的容量要远远小于非易失存储器容量。
有以下几种技术来解决运行内存过小的问题:XIP片内执行技术、PSRAM外置SRAM技术、MMU虚拟地址映射技术。
XIP(Execute In Place),即芯片内执行。使用XIP的通用方式时把程序的数据段加载到运行内存中,把程序的代码段放在NorFlash中。CPU通过XIP,直接在NorFlash中取指令、译码、执行,不必再把程序的代码段读取到运行内存中执行。但是这种技术存要求存储程序的介质必须是NorFlah,而NorFlash相对与NandFlash的容量比较小,价格高。
PSRAM,全称Pseudo static random access memory,是是为静态随机存储器。内部的内存颗粒和SDRAM相似,但外部接口和SDRAM不同。SDRAM那样复杂的控制器和刷新机制,PSRAM的接口跟SRAM的接口是一样的。PSRAM内部自带刷新机制。一般通过SPI接口作为外设和SoC互联。应为PSRAM是SPI接口的,如果SoC中没有PSRAM控制器,就不能像访问SRAM一样按内存地址访问PSRAM。
MMU虚拟地址映射技术是嵌入式设备及个人计算机、服务器通用的程序动态加载方法。MMU虚拟地址映射技术需要芯片有一个内存管理硬件单元,它是是介于处理器和片外存储器之间的中间层,提供对虚拟地址(VA)向物理地址(PA)的转换。这中技术很通用,但只适用于有内存管理单元的SoC。而很多嵌入式设备使用的SoC根本没有内存管理单元。
发明内容
本发明的目的是针对现有技术的不足,提供一种嵌入式设备程序动态加载方法,能够复用嵌入式设备的运行内存,解决在有限内存的嵌入式内存不够用的问题,使得开发者在内存受限的嵌入式设备中开发出功能更丰富的应用。
为实现上述目的,本发明方法中嵌入式设备的SoC(System on Chip,片上***)中具有以下硬件资源:
a.内存保护单元MPU:MPU将内存M划分为可访问区域内存和不可访问区域内存;当SoC访问到不可访问区域内存时,MPU发出中断信息,触发SoC中断;
b.地址映射单元MMU:MMU将内存映射到多个地址空间;
程序动态加载方法具体如下:
步骤(1)MPU将内存M划分为可访问区域内存MY和不可访问区域内存MN;需要加载的程序逻辑上将不可访问区域内存MN划分成多个固定大小的内存块P1,P2,…,Pm;
步骤(2)将需要加载的程序R划分成两段,前段程序RF的大小R1小于等于可访问区域内存MY的空间大小M1,后段程序RB的大小R2大于不可访问区域内存MN的空间大小M2;
步骤(3)将后段程序RB划分成多个固定大小的程序块K1,K2,…,Kn,每个程序块与划分的内存块大小相同,程序块的数量n大于内存块的数量m;
步骤(4)将前段程序RF链接至一个虚拟地址空间S1,将后段程序RB链接至另一个虚拟地址空间S2;即前段程序RF运行时地址编译为属于S1地址空间的地址,后段程序RB运行时地址编译为属于S2地址空间的地址;
步骤(5)SoC初始化时,配置地址映射单元MMU,MMU将内存M映射的到地址空间S1;
步骤(6)SoC初始化后,配置内存保护单元MPU,将地址空间S1配置为可访问区域,地址空间S2配置为不可访问区域;
步骤(7)启动加载,将前段程序RF加载到可访问区域内存MY,开始执行前段程序RF;
步骤(8)当需要执行后段程序RB时,按照以下操作:
(8-1)如果需要执行后段程序RB中的一个程序块Kx,x∈[1,n],SoC访问虚拟地址空间S2,MPU检测到S2被访问,触发SoC中断;
(8-2)SoC执行中断服务函数,在P1,P2,…,Pm中,如果找到一个没有被使用过的内存块Py,y∈[1,m],则将程序块Kx的内容加载到内存块Py中;
如果全部为已使用,选择其中一个Py,取消其原有映射到S2的映射关系,并标记为未被使用,将程序块Kx的内容加载到内存块Py中;选择Py的策略采用以下之一:
a.按照使用的时间顺序,将最早使用过的映射到S2的内存块作为Py;
b.按照访问次数的顺序,将访问次数最少的映射到S2的内存块作为Py;
(8-4)配置内存保护单元MPU,将程序块Kx对应的地址区域修改为可访问区域;
(8-4)将内存块Py标记为已使用;
(8-5)SoC退出中断服务函数,继续执行;
步骤(9)对后段程序RB中所有的程序块K1,K2,…,Kn按照步骤(8)执行,直至执行完程序R。
采用本发明方法,在程序运行时重复利用嵌入式设备的运行内存,让开发者在内存受限的嵌入式设备中开发出功能更丰富的应用。相比MMU虚拟地址转换技术,本发明方法只需要SoC有一个简单的内存保护单元和简单的地址转换模块,就能实现运行时重复运行内存,在项目中使用价格更低的SoC,降低项目成本。相比XIP技术,本发明方法程序存储介质也可用是NandFlash,降低了存储介质的使用成本。
附图说明
图1为本发明方法中SoC初始化时内存M、程序R的地址空间分配示意图;
图2为动态加载后内存M、程序R的地址空间分配示意图。
具体实施方式
以下结合附图及实施例对本发明作进一步的阐述和说明。
一种嵌入式设备程序动态加载方法,嵌入式设备的SoC中具有内存保护单元MPU和地址映射单元MMU。
内存保护单元MPU:MPU将内存M划分为可访问区域内存和不可访问区域内存;当SoC访问到不可访问区域内存时,MPU发出中断信息,触发SoC中断;
地址映射单元MMU:MMU将内存映射到多个地址空间。
如图1所示:
步骤(1)MPU将内存M划分为可访问区域内存MY和不可访问区域内存MN;需要加载的程序逻辑上将不可访问区域内存MN划分成多个固定大小的内存块P1,P2,…,Pm;
步骤(2)将需要加载的程序R划分成两段,前段程序RF的大小R1小于等于可访问区域内存MY的空间大小M1,后段程序RB的大小R2大于不可访问区域内存MN的空间大小M2;
步骤(3)将后段程序RB划分成多个固定大小的程序块K1,K2,…,Kn,每个程序块与划分的内存块大小相同,程序块的数量n大于内存块的数量m;
步骤(4)将前段程序RF链接至一个虚拟地址空间S1,将后段程序RB链接至另一个虚拟地址空间S2;即前段程序RF运行时地址编译为属于S1地址空间的地址,后段程序RB运行时地址编译为属于S2地址空间的地址;
步骤(5)SoC初始化时,配置地址映射单元MMU,MMU将内存M映射的到地址空间S1;
步骤(6)SoC初始化后,配置内存保护单元MPU,将地址空间S1配置为可访问区域,地址空间S2配置为不可访问区域;
步骤(7)启动加载,将前段程序RF加载到可访问区域内存MY,开始执行前段程序RF。
如图2所示:
步骤(8)当需要执行后段程序RB时,按照以下操作:
(8-1)如果需要执行后段程序RB中的一个程序块Kx,x∈[1,n],SoC访问虚拟地址空间S2,MPU检测到S2被访问,触发SoC中断;
(8-2)SoC执行中断服务函数,在P1,P2,…,Pm中,如果找到一个没有被使用过的内存块Py,y∈[1,m],则将程序块Kx的内容加载到内存块Py中;
(8-3)配置地址映射单元MMU,将内存块Py的地址区域映射到程序块Kx对应的地址区域;
(8-4)配置内存保护单元MPU,将程序块Kx对应的地址区域修改为可访问区域;
(8-4)将内存块Py标记为已使用;
(8-5)SoC退出中断服务函数,继续执行;
(8-6)SoC执行中断服务函数时,如果P1,P2,…,Pm全部为已使用,对其中一个Py取消原有映射到S2的映射关系,并标记为未被使用,继续执行(8-2)~(8-5)。
选择Py的策略为以下之一:
a.按照使用的时间顺序,将最早使用过的映射到S2的内存块作为Py;
b.按照访问次数的顺序,将访问次数最少的映射到S2的内存块作为Py。
步骤(9)对后段程序RB中所有的程序块K1,K2,…,Kn按照步骤(8)执行,直至执行完程序R。
以内置128K内存、64K NorFlash的嵌入式设备SoC为例,在实际方案发现开发过程中,需要运行的程序大小为512K,大于64K NorFlash大小。通过该方法能让芯片内运行该程序。
方案相关模块介绍:
SoC内置SRAM:静态随机存取存储器,程序加载到SRAM才能运行。
SoC内置NorFlash:用于存储可执行程序常用部分。
SoC内置MMU单元:用于内存地址翻译(映射)。
SoC内置MPU单元:用于配置某一块地址空间是否可访问。当访问到一块不可访问的地址空间时,会报异常中断。
外置NorFlash:用于存储动态加载的部分程序。
具体方案:
(1)内置SRAM地址初始化被映射到0x1000_000-0x1001_FFFF.其中0x1000_00000_0x100_FFFF被配置为可访问区域;0x1001_000-0x1001_FFFF配置为不可访问区域,并以4K固定大小分块。
(2)MMU映射一块虚拟的地址空间0x1200_0000-0x1207_FFFF,配置为不可访问区域。
(3)可执行程序R大小为512K,其中的64K运行时地址编译为0x1000_0000-0x100_FFFF,被烧录在内置NorFlash中,其余部分运行时地址编译为0x1200_0000-0x1207_FFFF,烧录在外置NorFlash中。
(4)***启动,把内置NorFlash中的程序加载到SRAM的0x1000_00000_0x100_FFFF开始执行。
(5)程序需要从0x1200_0000-0x1207_FFFF范围内取指,如0x1206_2224,触发MPU中断。
(6)执行中断服务程序中,触发中断的地址进行4K对齐为0x1206_2000,获取到该该地址的内容在外置NorFlash中的位置0x0006_2000。
(7)执行中断服务程序中,在0x1001_000-0x1001_FFFF地址中找一个未被使用过的4K内存块,如0x1001_0000-0x1001_0FFF,从外置NorFlash加载0x0006_2000-0x0006_2FFF范围内的数据到内存0x1001_0000-0x1001_0FFF。
(8)执行中断服务程序中,通过MMU把内存0x1001_0000-0x1001_0FFF地址重新映射到0x1206_2000-0x1206_2FFF,并把该内存标记为已使用。通过MPU把0x1206_2000-0x1206_2FFF配置为可访问区域
(9)执行中断服务程序中,如果发现0x1001_000-0x1001_FFFF全部被重映射使用,通过先入先出算法找到一个最早被映射的内存块,如0x1001_0000-0x1001_0FFF,取消该内存块的原有映射,标记为未使用,重复步骤(6)到(8)。退出中断服务程序,继续执行0x1206_2224地址的代码。
程序在运行过程重会重复执行步骤(5)到(9),实现烧录在外置NorFlash中的程序动态的加载到SRAM中执行。上述实施例仅为本发明较佳的实施方式,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (3)

1.一种嵌入式设备程序动态加载方法,其特征在于:所述的嵌入式设备的SoC中具有内存保护单元MPU和地址映射单元MMU;具体加载方法如下:
步骤(1)MPU将内存M划分为可访问区域内存MY和不可访问区域内存MN;需要加载的程序逻辑上将不可访问区域内存MN划分成多个固定大小的内存块P1,P2,…,Pm;
步骤(2)将需要加载的程序R划分成两段,前段程序RF的大小R1小于等于可访问区域内存MY的空间大小M1,后段程序RB的大小R2大于不可访问区域内存MN的空间大小M2;
步骤(3)将后段程序RB划分成多个固定大小的程序块K1,K2,…,Kn,每个程序块与划分的内存块大小相同,程序块的数量n大于内存块的数量m;
步骤(4)将前段程序RF链接至一个虚拟地址空间S1,将后段程序RB链接至另一个虚拟地址空间S2;即前段程序RF运行时地址编译为属于S1地址空间的地址,后段程序RB运行时地址编译为属于S2地址空间的地址;
步骤(5)SoC初始化时,配置地址映射单元MMU,MMU将内存M映射的到地址空间S1;
步骤(6)SoC初始化后,配置内存保护单元MPU,将地址空间S1配置为可访问区域,地址空间S2配置为不可访问区域;
步骤(7)启动加载,将前段程序RF加载到可访问区域内存MY,开始执行前段程序RF;
步骤(8)当需要执行后段程序RB时,按照以下操作:
(8-1)如果需要执行后段程序RB中的一个程序块Kx,x∈[1,n],SoC访问虚拟地址空间S2,MPU检测到S2被访问,触发SoC中断;
(8-2)SoC执行中断服务函数;在P1,P2,…,Pm中,如果找到一个没有被使用过的内存块Py,y∈[1,m],则将程序块Kx的内容加载到内存块Py中;
如果全部为已使用,选择其中一个Py,取消其原有映射到S2的映射关系,并标记为未被使用,将程序块Kx的内容加载到内存块Py中;
(8-3)配置地址映射单元MMU,将内存块Py的地址区域映射到程序块Kx对应的地址区域;
(8-4)配置内存保护单元MPU,将程序块Kx对应的地址区域修改为可访问区域;
(8-4)将内存块Py标记为已使用;
(8-5)SoC退出中断服务函数,继续执行;
步骤(9)对后段程序RB中所有的程序块按照步骤(8)执行,直至执行完程序R。
2.如权利要求1所述的一种嵌入式设备程序动态加载方法,其特征在于,(8-2)中选择Py的策略是按照使用的时间顺序,将最早使用过的映射到S2的内存块作为Py。
3.如权利要求1所述的一种嵌入式设备程序动态加载方法,其特征在于,(8-2)中选择Py的策略是按照访问次数的顺序,将访问次数最少的映射到S2的内存块作为Py。
CN202110469494.8A 2021-04-28 2021-04-28 一种嵌入式设备程序动态加载方法 Active CN113094119B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110469494.8A CN113094119B (zh) 2021-04-28 2021-04-28 一种嵌入式设备程序动态加载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110469494.8A CN113094119B (zh) 2021-04-28 2021-04-28 一种嵌入式设备程序动态加载方法

Publications (2)

Publication Number Publication Date
CN113094119A CN113094119A (zh) 2021-07-09
CN113094119B true CN113094119B (zh) 2022-07-12

Family

ID=76680889

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110469494.8A Active CN113094119B (zh) 2021-04-28 2021-04-28 一种嵌入式设备程序动态加载方法

Country Status (1)

Country Link
CN (1) CN113094119B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114253588A (zh) * 2022-03-01 2022-03-29 紫光同芯微电子有限公司 芯片软件打补丁的方法、装置和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105677413A (zh) * 2016-01-06 2016-06-15 中国航空无线电电子研究所 一种综合模块化航空电子***多分区应用后加载方法
WO2017015856A1 (zh) * 2015-07-28 2017-02-02 华为技术有限公司 一种调用操作***库的方法、装置及***
CN111190658A (zh) * 2020-01-08 2020-05-22 乐鑫信息科技(上海)股份有限公司 一种基于片内执行且在不具有MMU的SoC片上支持应用程序动态加载的***
CN111813710A (zh) * 2020-09-11 2020-10-23 鹏城实验室 避免Linux内核内存碎片方法、设备及计算机存储介质
WO2021034393A1 (en) * 2019-08-20 2021-02-25 Microsoft Technology Licensing, Llc Protection domains for processes in shared address space

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101697131B (zh) * 2009-11-04 2013-07-03 中兴通讯股份有限公司 一种可重定位文件动态加载的方法及装置
CN110928737B (zh) * 2018-09-19 2021-05-18 华为技术有限公司 监控样本进程的内存访问行为的方法和装置
US11061819B2 (en) * 2019-05-28 2021-07-13 Micron Technology, Inc. Distributed computing based on memory as a service
US11269780B2 (en) * 2019-09-17 2022-03-08 Micron Technology, Inc. Mapping non-typed memory access to typed memory access

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017015856A1 (zh) * 2015-07-28 2017-02-02 华为技术有限公司 一种调用操作***库的方法、装置及***
CN105677413A (zh) * 2016-01-06 2016-06-15 中国航空无线电电子研究所 一种综合模块化航空电子***多分区应用后加载方法
WO2021034393A1 (en) * 2019-08-20 2021-02-25 Microsoft Technology Licensing, Llc Protection domains for processes in shared address space
CN111190658A (zh) * 2020-01-08 2020-05-22 乐鑫信息科技(上海)股份有限公司 一种基于片内执行且在不具有MMU的SoC片上支持应用程序动态加载的***
CN111813710A (zh) * 2020-09-11 2020-10-23 鹏城实验室 避免Linux内核内存碎片方法、设备及计算机存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
嵌入式Linux操作***的研究;刘文峰等;《浙江大学学报(工学版)》;20040430(第04期);全文 *

Also Published As

Publication number Publication date
CN113094119A (zh) 2021-07-09

Similar Documents

Publication Publication Date Title
US8453015B2 (en) Memory allocation for crash dump
US10445245B2 (en) Method, system, and apparatus for page sizing extension
CN107636625B (zh) 用于共享***高速缓存的虚拟化控制的方法和装置
US5530941A (en) System and method for prefetching data from a main computer memory into a cache memory
KR101761044B1 (ko) 메모리 채널 셧다운에 의한 전력 절약
US8694737B2 (en) Persistent memory for processor main memory
US20050091468A1 (en) Processor for virtual machines and method therefor
JPH11161547A (ja) データ処理装置用記憶装置、および記憶場所にアクセスする方法
CN108701024B (zh) 用于在堆栈机器中分配虚拟寄存器堆栈的方法
GB2388447A (en) Performing a data access from low-level code
US11868306B2 (en) Processing-in-memory concurrent processing system and method
CN103927130A (zh) 基于内存管理单元mmu的统一内外存架构
CN114201222A (zh) 针对提早显示器初始化和可视化改善引导过程
CN113094119B (zh) 一种嵌入式设备程序动态加载方法
CN108763760B (zh) 一种基于两级boot结构的***级芯片
US20070266199A1 (en) Virtual Address Cache and Method for Sharing Data Stored in a Virtual Address Cache
CN100377116C (zh) 处理器高速数据缓存重配置方法
CN103377141A (zh) 高速存储区的访问方法以及访问装置
EP1103898A2 (en) Microprocessor and memory
EP3671460A1 (en) Device, system and method to detect an uninitialized memory read
US5835945A (en) Memory system with write buffer, prefetch and internal caches
US5434990A (en) Method for serially or concurrently addressing n individually addressable memories each having an address latch and data latch
US6766435B1 (en) Processor with a general register set that includes address translation registers
US9910767B2 (en) Leveraging instruction RAM as a data RAM extension during use of a modified Harvard architecture processor
Petrov et al. Dynamic tag reduction for low-power caches in embedded systems with virtual memory

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310012 5-6 / F, block a, East Software Park Innovation Building, 90 Wensan Road, Hangzhou City, Zhejiang Province

Patentee after: Hangzhou Guoxin Microelectronics Co.,Ltd.

Country or region after: China

Address before: 310012 5-6 / F, block a, East Software Park Innovation Building, 90 Wensan Road, Hangzhou City, Zhejiang Province

Patentee before: HANGZHOU NATIONALCHIP SCIENCE & TECHNOLOGY Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address