在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 2753|回复: 0

[求助] 请教一下linux memory分配的问题

[复制链接]
发表于 2012-3-31 15:24:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
大家好:
菜鸟报道……想求教一下关于memory分配的问题。

假设有一个SOC芯片,用的mips核,外接的有flash和DDR。如果想进行嵌入式开发的话应该怎么进行memory 分配?

我知道一般都是让上电从0xBFC00000运行,据说是mips的要求,一般这个地址是在flash里面,然后把需要的内容拷贝到DDR里面继续运行。
1. 我知道虚拟地址是从程序的角度来看的可以映射的空间包含flash和DDR,但是某一个虚拟地址究竟是指向了flash还是指向了DDR这个是如何判断的?
2. 0xBFC00000为什么就能够指向flash呢?0xBFC00000应该是一个虚拟地址,按照《see mips run》来讲指向的应该是物理地址为0x1FC00000,可是一般烧写bootloader不都是在flash的0物理地址么?
3. 我搜百度上有关于存储器映射的描述  “ARM7TDMI的存储器映射可以有0X00000000~0XFFFFFFFF的空间,即4G的映射空间,但所有器件加起来肯定是填不满的。一般来说, 0X00000000依次开始存放FLASH——0X00000000,SRAM——0X40000000,BOOTBLOCK,外部存储器 0X80000000,VPB(低速外设地址,如GPIO,UART)——0XE0000000,AHB(高速外设:向量中断控制器,外部存储器控制器)——从0XFFFFFFFF回头。”,这里面的地址究竟是物理地址还是虚拟地址啊??我怎么查看我的芯片是怎么要求的呢?
4. 如果现在需要构建linux在这个系统上面,是不是要严格进行memory分配,是分配虚拟地址还是物理地址?分配有什么要求呢?我看到一个分配从0地址开始是kernel到0x3e00000->userdata1->userdata2->从0xA100000到0xe00 0000又是kernel->userdata3 共256M,这个究竟是什么意思,怎么还有两个kernel?对于kernel的地址难道没有要求么?
5. 此外如果成功建立了整个系统的软件,诸如bootloader,kernel,用户程序,都是需要烧写到flash里面才能运行的,要根据什么在flash的物理地址中摆放这些内容呢?

多谢大家。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-22 14:43 , Processed in 0.028713 second(s), 12 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表