免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 863 | 回复: 0
打印 上一主题 下一主题

arm启动初期堆栈示意图 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-13 01:33 |只看该作者 |倒序浏览
  RAM (DRAM)
*
*  0xC200 0000 +------------------------------------+
*              |   boot loader (size: 1M)           |
*  0xC1F0 0000 +------------------------------------+
*              |   heap area (size: 1M)             |
*  0xC1E0 0000 +------------------------------------+
*              |   mmu table (size: 16k)            |
*  0xC1DF C000 +------------------------------------+ -----\
*              |   linux command line  (size: 16k)  |       |
*  0xC1DF 8000 +------------------------------------+       |
*              |   vivi parameter table (size: 16k) |   vivi private data
*  0xC1DF 4000 +------------------------------------+       |
*              |   mtd partition table (size: 16k)  |       |
*  0xC1DF 0000 +------------------------------------+ -----/
*              |   stack area (size: 32k)           |
*  0xC1DE 8000 +------------------------------------+
*              |                                    |
*              |                                    |
*              |   free memory                      |
*              |                                    |
*              |                                    |
*  0xC000 0000 +------------------------------------+
*
*
*
*  ROM (NOR Flash)
*
*  0x0200 0000 +-----------------------------+
*              |  (stored) vivi private data |
*  0x01fc 0000 +-----------------------------+
*              |                             |
*              |   usr (size: 29.5M)         |
*              |                             |
*  0x0024 0000 +-----------------------------+
*              |   root (size: 1289k)        |
*  0x0010 0000 +-----------------------------+
*              |   kernel (size: 728k)       |
*  0x0004 0000 +-----------------------------+
*              |   boot loader (size: 256k)  |
*  0x0000 0000 +-----------------------------+
*
*/
#include "sizes.h"
#define ROM_BASE0  0x00000000      /* base address of rom bank 0 */
#define ROM_BASE1  0x08000000      /* base address of rom bank 1 */
#define DRAM_BASE0  0x30000000      /* base address of dram bank 0 */
#define DRAM_BASE1  0x38000000 /* base address of dram bank 1 */
/* Global definitions */
#define FLASH_BASE  ROM_BASE0
#define FLASH_SIZE  SZ_32M
#define FLASH_UNCACHED_BASE 0x10000000 /* to mapping flash memory */
#define FLASH_BUSWIDTH  4
#define DRAM_BASE  DRAM_BASE0
#define DRAM_SIZE  SZ_64M
#define MTD_PART_SIZE  SZ_16K
#define MTD_PART_OFFSET  0x00000000
#define PARAMETER_TLB_SIZE SZ_16K
#define PARAMETER_TLB_OFFSET 0x00004000
#define LINUX_CMD_SIZE  SZ_16K
#define LINUX_CMD_OFFSET 0x00008000
#define VIVI_PRIV_SIZE  (MTD_PART_SIZE + PARAMETER_TLB_SIZE + LINUX_CMD_SIZE)
/* ROM */
#define VIVI_ROM_BASE  0x00000000
#define VIVI_PRIV_ROM_BASE 0x01FC0000
/* RAM */
#define VIVI_RAM_SIZE  SZ_1M
#define VIVI_RAM_BASE  (DRAM_BASE + DRAM_SIZE - VIVI_RAM_SIZE)
#define HEAP_SIZE  SZ_1M
#define HEAP_BASE  (VIVI_RAM_BASE - HEAP_SIZE)
#define MMU_TABLE_SIZE  SZ_16K
#define MMU_TABLE_BASE  (HEAP_BASE - MMU_TABLE_SIZE)
#define VIVI_PRIV_RAM_BASE (MMU_TABLE_BASE - VIVI_PRIV_SIZE)
#define STACK_SIZE  SZ_32K
#define STACK_BASE  (VIVI_PRIV_RAM_BASE - STACK_SIZE)
#define RAM_SIZE  (STACK_BASE - DRAM_BASE)
#define RAM_BASE  DRAM_BASE


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/35418/showart_1411320.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP