网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > C/C++ > 正文
在VDSP中编译uclinux(2):内存布局_C/C++_开发语言
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/11/27
下载{$ArticleTitle}原创论文样式

1 2 3 4 5 下一页

  1   ucLinux的内存布局

  在uclinux启动时,有一段空间利用的提示:

  Memory map:

 text      = 0x00001000-0x000b0db0
 init      = 0x000b1000-0x000bd23c
 data      = 0x000bf1b8-0x000e5588
 stack     = 0x000c0000-0x000c2000
 bss       = 0x000e5590-0x000f14d8
 available = 0x000f14d8-0x03500000
 rootfs    = 0x03500000-0x03f00000
 DMA Zone = 0x03f00000-0x04000000

  其中text代表这段空间中存储的是uclinux内核的代码;init中存放的也是 uclinux内核的代码,但是这一段空间在内核启动完成后是可以回收的,即它可以供内核重新分配;DATA段是 uClinux 未被初始化的数据空间;BSS段是 uClinux初始化的数据空间,它的初始化操作将在head.s中完成。此外从0到text开始的这一段空间也会被初始化为0。

  2   VDSP中的空间分配

  uclinux的空间定位是由链接器完成的,由arch/blackfin /kernel/vmlinux.lds.s控制完成。而VDSP的空间定位则是由ldf文件完成的,而ldf文件的语法与vmlinux.lds.s相似。我们所要做的就是将vmlinux.lds.s中的相关定义转移到ldf文件中。

  1、定义一块uclinux使用的内存空间:

  MEM_SDRAM_UCLINUX    { TYPE(RAM) START(0x00010000) END(0x001fffff) WIDTH(8) }       在这里,空间的结束使用了一个较大的数值,实际上在uclinux内核中会从代码实际结束的地方开始管理存储空间。

  2、将uclinux内核的入口函数写入到0xFFA00000,即a核的启动地址。

       RESOLVE(__start, 0xFFA00000)
       KEEP(__start,_main)

(责任编辑:admin)

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号