• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Raul.c
博客园    首页    新随笔    联系   管理    订阅  订阅

ARM存储方法

ARM存储方法

ARM体系结构将存储器看做是从零地址开始的字节的线性组合。从零字节到三字节放置第一个存储的字数据,从第四个字节到第七个字节放置的是第二个存储的字数据,依次排列。作为32位微处理器,ARM体系结构所支持的最大寻址空间为4GB。

ARM体系结构可用两种方法存储字数据,称之为大端格式和小端格式,具体说明如下:

1.       大端格式

在大端格式中,字数据的高字节存储在低地址中,而字数据的低字节存储在高地址中,如下图所示:

 

 

         31            24 23              16 15                   8 7                0

8

9


10

1

4

5


6

7

0

1


2

3

 

1.       小端模式

与大端存储格式相反,在小端存储格式中,字数据的低字节存储在高地址中,而字数据的高字节存储在低地址中,如下图所示:

 

 

31                  24 23                  16 15                      8 7                      0

11

10

9

8

7

6

5

4

3

2

1

0

 

今天在做LOGO的时候,看S3C2440Display.cpp函数中,突然遇见一个函数:

if(dwStatus == ERROR_SUCCESS && dwType == REG_DWORD)

       {

              dwSize = sizeof(DWORD);

              dwStatus = RegQueryValueEx(hkDisplay, _T("LCDVirtualFrameBase"), NULL, &dwType,  (LPBYTE) &gdwLCDVirtualFrameBase, &dwSize);

       }

不懂,呵呵,没有办法,谁让我不会的太多了,底子又薄,还好我脸皮比较厚,查看MSDN的过程中,发现函数的原型:

LONG RegQueryValueEx(

 HKEY hKey,

 LPCWSTR lpValueName,

 LPDWORD lpReserved,

 LPDWORD lpType,

 LPBYTE lpData,

 LPDWORD lpcbData

);

其中lpType,参数的取值可能为REG_DWORD_BIG_ENDIAN或者REG_DWORD_LITTLE_ENDIAN得时候就会涉及到ARM存储的方法,于是我又翻书。在ARM嵌入式常用模块与综合系统设计实例精讲这本书的第一章就有介绍!哎哎,汗!

 

posted @ 2010-03-04 20:21  Raul.c  阅读(1666)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3