打印

请教一个简单的数据结构问题!

[复制链接]
1587|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
crystal860823|  楼主 | 2010-4-13 10:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
(1) 内存映射的描述

可以用如下数据结构来描述 RAM 地址空间中的一段连续(continuous)的地址范围:

typedef struct memory_area_struct {

u32 start; /* the base address of the memory region */

u32 size; /* the byte number of the memory region */

int used;

}
memory_area_t;

这段 RAM 地址空间中的连续地址范围可以处于两种状态之一:

(1)used=1,则说明这段连续的地址范围已被实现,也即真正地被映射到 RAM 单元上。

(2)used=0,则说明这段连续的地址范围并未被系统所实现,而是处于未使用状态。

基于上述
memory_area_t
数据结构,整个 CPU 预留的 RAM 地址空间可以用一个
memory_area_t类型的数组来表示,如下所示:

memory_area_t
memory_map[NUM_MEM_AREAS] = {

[0 ... (NUM_MEM_AREAS - 1)] = {

.start = 0,

.size = 0,

.used = 0

},

};





-----------------------------------------------------------------

memory_area_t
memory_map[NUM_MEM_AREAS] = {

[0 ... (NUM_MEM_AREAS - 1)] = {

.start = 0,

.size = 0,

.used = 0

},

};



看BootLoader技术内幕上的,谁能说说这种表示方法啊,以前怎么从来没见过。


相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

6

帖子

1

粉丝