error: A1355U: A Label was found which was in no AREA (keil3.22(for arm))
2410h.sct(5): error: A1355U: A Label was found which was in no AREA
LR_ROM1 0x00000000 { ; load region错再此行,但不知为何
ER_ROM1 0x00000000 0x0100000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
}
RW_RAM1 0x30000000 0x4000000 { ; RW data
.ANY (+RW +ZI)
}
RW_IRAM1 0x40000000 0x00002000 {
.ANY (+RW +ZI)
}
}
编译器用的是keil3.22(for arm),是将ads的工程转过来所犯的错误。
LR_ROM1 0x30200000
ER_ROM1 0x30200000 0x0800000
试试这个。我的2410没用分散加载文件。在link选项里
--info totals --ro-base 0x30200000 --first start.o(selfboot)
转到keil可以跑起来。
分散加载文件里这些地址怎么分配算出来的,期待高人解答一下。
看看你ADS工程里RO base的地址是多少。换那个地址看看
keil貌似可以自动生成2410的工程吧,自己生成一个,然后再添加你以前的应该比较好。
引用: 引用 4 楼 gooogleman 的回复:
keil貌似可以自动生成2410的工程吧,自己生成一个,然后再添加你以前的应该比较好。
就是这样做才产生的问题。
看看你ADS工程里RO base的地址是多少。换那个地址看看
RO base=0x0
也不行
我现在的办法就是把编译好的ads的文件,用keil下载调试。
还是不明白为何error: A1355U: A Label was found which was in no AREA
貌似keil也不是很多人用来开发ARM9以上的东西。
楼主对于这个建立工程 的东西,你最好啃啃keil的原版帮助文档。总之我觉得ADS也不错。没有出现什么问题现在。
ads1.2不能下载flash,keil可以,所以。。。。
刚买了本书,研读一下,希望帮助。揭帖了。
呵呵,回看自己之前的帖子:
2410h.sct(5): error: A1355U: A Label was found which was in no AREA
LR_ROM1 0x00000000 { ; load region
ER_ROM1 0x00000000 0x0100000 { ; load address = execution address
*.o (RESET, +First) ;是汇编中的第一个代码段名称不对,ads下是Init。keil下是这个。所以无法编译通过。
*(InRoot$$Sections)
.ANY (+RO)
}
RW_RAM1 0x30000000 0x4000000 { ; RW data
.ANY (+RW +ZI)
}
RW_IRAM1 0x40000000 0x00002000 {
.ANY (+RW +ZI)
}
}
编译器用的是keil3.22(for arm),是将ads的工程转过来所犯的错误。
这段代码是分散加载文件,不能加入到工程进行编译。要通过在option->linker->scatter file路径中指定。
呵呵,老问题,看来没人解答出来,看俺的
这个问题是由于你分散加载文件的属性引起的,你只需在分散加载文件上单击右键,在弹出菜单上选“Options For File”选项,将该分散加载文件的属性改为“Text Document file”即可
看你工程的启动代码(即是用汇编写的那个) 看那个用AREA关键字定义的段名就是SCATTER文件中的那个段名了