嵌入式-H 2015-01-07 13:15 采纳率: 0%
浏览 1738

s3c6410裸机程序开发?

我想请教一个问题
是s3c6410的第一个led程序
_start:
// 把外设的基地址告诉CPU
ldr r0, =0x70000000 //对于6410来说,内存(0x00000000~0x60000000),外设(0x70000000-0x7fffffff)
orr r0, r0, #0x13 //外设大小:256M
mcr p15,0,r0,c15,c2,4 //把r0的值(包括了外设基地址+外设大小)告诉cpu

请问orr r0 , r0 , 0x13这行代码怎么理解?
为什么是256M?

  • 写回答

4条回答 默认 最新

  • isokdo 2015-01-17 00:01
    关注

    因为你的开发板是256M内存,你前一句已经注释了说外设为(0x7000 0000-0x7fff ffff),外设大小是0x0fff ffff换算下来就是256M。
    把它换算一下,0x0fff ffff(Byte) = 268435455(Byte)=268435455/1024(kByte)=268435455/1024/1024(MByte)=256(MByte);
    也可换算成二进制为从0000 0000 0000 0000 0000 0000 0000 到1111 1111 1111 1111 1111 1111 1111,可以表示的内存为二的二十八次方,即256M个内存单元。又因为内存按字节编址,即每个内存单元1Byte(8Bit),故256M * 8Bit;

    评论

报告相同问题?

悬赏问题

  • ¥30 自适应 LMS 算法实现 FIR 最佳维纳滤波器matlab方案
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥15 Python3.5 相关代码写作
  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像