打印

LPC2420 ARM GCC Link Script 疑问

[复制链接]
2684|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
无语凝咽|  楼主 | 2010-4-28 15:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
环境:
GCC(yagarto or codesourcery).
LPC2420.
SDRAM 定义为起始地址: 0xA000000,
SRAM 地址: 0x40000000.

.ld 文件的内容类似如下,

/* Section Definitions */
SECTIONS
{
  . = 0xA0000000;                        <------------放到这里没问题
  /* first section is .text which is used for code */
   .text :
  {
/* *crt0.o (.text) */           /* Startup code */
KEEP(*(.vectorg))
KEEP(*(.RESET))
....
} > SDRAM
===============================================

/* Section Definitions */
SECTIONS
{
  /* first section is .text which is used for code */
   .text :
  {
    . = 0xA0000000;        <---------------放到这里有问题
/* *crt0.o (.text) */           /* Startup code */
KEEP(*(.vectorg))
KEEP(*(.RESET))
..........
==============================================================
错误提示如下所示:

LPC2420-SDRAM.ld:155 cannot move location counter backwards (from a0000000 to 40000000)

无论是Makefile, 代码, 还是 ld 文件中都没有地方说明这个 4000000,  
怎么会出现这个问题呢?

请熟悉的同学们帮帮忙..

多谢了!

相关帖子

沙发
想实习去| | 2010-4-28 15:10 | 只看该作者
4000000 是SDRAM的地址吧…… 在MEMORY区定义的吧。

使用特权

评论回复
板凳
思行合一| | 2010-4-28 15:10 | 只看该作者
我没有在这个文件中进行定义.

40000000 在 LPC2000 系列中是SRAM 的地址,
不是 SDRAM

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

88

主题

399

帖子

1

粉丝