主题 : u-boot 内存分布的问题,关于IRQ_STACK_START 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 35785
精华: 0
发帖: 63
金钱: 325 两
威望: 65 点
贡献值: 0 点
综合积分: 126 分
注册时间: 2011-01-06
最后登录: 2014-07-22
楼主  发表于: 2012-03-08 09:54

 u-boot 内存分布的问题,关于IRQ_STACK_START

int interrupt_init (void)
{
/*
* setup up stacks if necessary
*分配IRQ与FIQ使用的栈空间
*/
/*IRQ_STACK_START why -4 ?*/
IRQ_STACK_START = _armboot_start - CONFIG_SYS_MALLOC_LEN - CONFIG_SYS_GBL_DATA_SIZE - 4;
FIQ_STACK_START = IRQ_STACK_START - CONFIG_STACKSIZE_IRQ;

return arch_interrupt_init();
}
u-boot stage2 初始化数组中的函数
有个疑问:IRQ_STACK_START = _armboot_start - CONFIG_SYS_MALLOC_LEN - CONFIG_SYS_GBL_DATA_SIZE - 4;为什么要-4呢?
u-boot 的堆栈是满递减,还是空递减呢