找回密码
 注册
搜索
查看: 1484|回复: 8

[讨论] 自问自答,也希望高手进来纠正和补充

[复制链接]
发表于 2010-7-26 16:36:15 | 显示全部楼层 |阅读模式
问:ARM体系结构的存储方法

答:ARM,作为32位的处理器,支持最大的寻址空间是4GB

0---0X FFFF FFFF

ARM体系有两种方法存储数据:大端模式  小端模式

介绍之前,先说说数据类型

嵌入式编程中,我们习惯有8位数据  16位数据 32位数据

对应的有BYTE  WORD  DWORD

约定俗成的,我们认为BYTE是8位,WORD是16位,DWORD是32位。

我本人在编程中,对于无符号数据类型,也是这样写的,习惯了,
不过MTK貌似更喜欢用比较直白的比如
typedef kal_bool                bool;
typedef unsigned char       U8;
typedef signed char         S8;
typedef unsigned short      U16;
typedef signed short        S16;
typedef unsigned int        U32;
typedef signed int          S32;
typedef unsigned long long  U64;
typedef signed long long    S64;

按照严格的来说,我这个定义不是确切的

WORD应该是芯片的字长,比如16位的单片机,WORD是16位的

对于32位的ARM,WORD是32位的

对于大端模式,一个字,字数据的高字节存储在低地址,低字节存放在高地址。

比如,我们要存放2个32位的数据,怎么放呢

2个32位的数据,总共8个BYTE:BYTE0,BYTE1,.....

字地址0存放状态:
32   31   30...............0
BYTE0   BYTE1  BYTE2  BYTE 3

字地址1存放状态:
32   31   30...............0
BYTE4   BYTE5  BYTE6  BYTE 7


对于小端模式:
低地址存数据的低字节,高地址存数据的高字节

字地址0存放状态:
32   31   30...............0
BYTE3   BYTE2  BYTE1  BYTE 0

字地址1存放状态:
32   31   30...............0
BYTE7   BYTE6  BYTE5  BYTE 4


MTK才用的是小段模式,这也符合我们中国人的习惯。
发表于 2010-7-26 18:36:26 | 显示全部楼层
这个系统实时性做的不错~
响应很及时~
点评回复

使用道具 举报

 楼主| 发表于 2010-7-26 17:03:33 | 显示全部楼层
问:内存映射是什么?

答:内存映射(MEMORY MAP UNIT,简称MMU,内存空间管理单元)。

这个概念出台的背景应该是为了方便驱动软件的操作,比如外设中有两块SRAM,你为了同意编址,映射到一块连续的内存上去。

比如

SRAM1的地址原本是0X 10---0X12

SRAM2的地址原本是0X 50----0X52

现在统一编址为  0X  80--0X85

先开个头,有事,中断来了,我要去响应
点评回复

使用道具 举报

发表于 2010-7-29 19:12:56 | 显示全部楼层
谢谢,分享,学习了
点评回复

使用道具 举报

 楼主| 发表于 2010-7-29 08:09:56 | 显示全部楼层
我在酝酿内存和FLASH的东西,弄好了再风险给大家
点评回复

使用道具 举报

发表于 2010-7-28 23:57:10 | 显示全部楼层
写得很不错 通俗易懂 继续回来写吧
点评回复

使用道具 举报

发表于 2010-7-27 10:30:56 | 显示全部楼层
[em08]在线等中断返回~
点评回复

使用道具 举报

发表于 2010-8-5 01:24:36 | 显示全部楼层
while(1)
{
    waitforupdate();
}[em14]
点评回复

使用道具 举报

发表于 2013-9-11 10:48:51 | 显示全部楼层
学习了 longlong  小段模式。谢谢
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-12-23 23:25 , Processed in 0.049317 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表