移植u-boot-2010.09到S3C2440(六)—— SDRAM地址与容量的计算(转)
来源:互联网 发布:js只允许输入数字 编辑:程序博客网 时间:2024/05/17 18:03
唉,我还是算错了。。。
对于 GEC2410 开发板,SDRAM 的物理起始地址是 0x30000000,结束地址是 0x34000000,大小是
64Mbytes。
我有个疑问?为什么SDRAM 的物理起始地址是 0x30000000,结束地址是 0x34000000,得出的大小是
64Mbytes?
因为容量是用10进制显示的,故我们得把0x34000000-0x30000000=0x4000000转换成10进制。(转换方法见附)
4*16^6+0*16^5+0*16^4+0*16^3+0*16^2+0*16^1+0*16^0=67108864(Byte)
一般不要用十六进制转成二进制,二进制转成10进制方法算那个比较麻烦:
0x4000000=0100 0000 0000 0000 0000 0000 0000(B) 转成10进制就是 1*2^26+0*2^25+0*2^24+0*2^23+0*2^22+0*2^21+0*2^20+0*2^19+0*2^18+0*2^17+0*2^16+0*2^15+0*2^14
+0*2^13+0*2^12+0*2^11+0*2^10+0*2^9+0*2^8+0*2^7+0*2^6+0*2^5+0*2^4+0*2^3+0*2^2+0*2^1
+0*2^0=67108864(Byte) 注意权值是从0开始的。
67108864/1024(变成K)/1024(变成M)=64M
注:规定与传输速度有关的“B”一般指的是“Bit”;与容量有关的“B”一般指的是“Byte”。
***********************************************************************************************************************************
附:十六进制转换成十进制的方法
十六进制数转换成十进制数
2进制,用两个阿拉伯数字:0、1;
8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7;
10进制,用十个阿拉伯数字:0到9;
16进制,用十六个阿拉伯数字……等等,阿拉伯人或说是印度人,只发明了10个数字啊?
16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写。
十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……
所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X * 16的N次方。
假设有一个十六进数 2AF5, 那么如何换算成10进制呢?
用竖式计算:
2AF5换算成10进制:
第0位: 5 * 160 = 5
第1位: F * 161 = 240
第2位: A * 162 = 2560
第3位: 2 * 163 = 8192 +
-------------------------------------
10997
直接计算就是:
5 * 160 + F * 161 + A * 162 + 2 * 163 = 10997
(别忘了,在上面的计算中,A表示10,而F表示15)
现在可以看出,所有进制换算成10进制,关键在于各自的权值不同。
假设有人问你,十进数 1234 为什么是 一千二百三十四?你尽可以给他这么一个算式:
1234 = 1 * 103 + 2 * 102 + 3 * 101 + 4 * 100
***********************************************************************************************************************************
- 移植u-boot-2010.09到S3C2440(六)—— SDRAM地址与容量的计算(转)
- 移植u-boot-2010.09到S3C2440(二)——ARM汇编中的LDR及ADR的区别及其在U-BOOT中的应用 (SDRAM)
- 移植u-boot-2010.09到S3C2440(一)——硬件初始化与测试
- U-boot在S3C2440上的移植详解(六)
- U-boot在S3C2440上的移植详解(六)
- 移植u-boot-2010.09到S3C2440(五)—— 通过OPENJTAG、OPENOCD、ECLIPSE进行调试
- 移植u-boot-1.3.4到S3C2440 (转)
- 移植u-boot-1.3.4到S3C2440 (转)
- 移植u-boot-2010.09到S3C2440(三)——判断NAND还是NOR启动的汇编代码
- 移植u-boot-2011.03到S3C2440(utu2440)的方法与步骤###2. 让u-boot-2011.03跑起来
- 移植u-boot-2011.03到S3C2440(utu2440)的方法与步骤###4.支持内核启动
- s3c2440的U-boot移植(一)
- uboot-2011.12移植到S3C2440(序二)—— binutils二进制工具集与u-boot
- QLJT移植u-boot-2010.09到s3c2440
- uboot-2011.12移植到S3C2440(一)—— 简单修改使u-boot能够编译
- 移植u-boot-2010.09到S3C2440(四)——通过BSS段和_start判断uboot大小
- U-Boot移植到s3c2440
- U-Boot移植——设置SDRAM
- php 多维数组去掉重复项
- 统一建模语言
- Klout推Brand Squads 帮助品牌进行社交网络推广
- proxool.xml文件 详解
- Fastboot的学习
- 移植u-boot-2010.09到S3C2440(六)—— SDRAM地址与容量的计算(转)
- Qt d指针简单实现及解析--威力加强版
- 普通PC键盘和苹果键盘比较图
- 基于钩子的改键
- GUI程序设计
- 网页中、英文安全字体选择及设置
- NSString中解析URL
- 跳转到上一个页面
- 堆栈