• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
主题 : 将代码改成ADS环境下为什么不行 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 1084
精华: 0
发帖: 40
金钱: 345 两
威望: 41 点
综合积分: 80 分
注册时间: 2008-07-16
最后登录: 2010-11-17
楼主  发表于: 2010-05-24 14:21

 将代码改成ADS环境下为什么不行

将韦东山的某段代码改为在ADS环境下编译
;******************************************************************************
; File:crt0.S
; 功能:通过它转入C程序
;******************************************************************************      

    IMPORT  main
    
    AREA start,CODE,READONLY
    ENTRY
    EXPORT _start
_start
    ldr    r0,=0x56000010        ;WATCHDOG寄存器地址
    mov    r1,#0x0
    str    r1,[r0]                ;写入0,禁止WATCHDOG,否则CPU会不断重启

    ldr    sp,=1024*4            ;设置堆栈,注意:不能大于4k, 因为现在可用的内存只有4K
                                    ;nand flash中的代码在复位后会移到内部ram中,此ram只有4K
    bl    main                        ;调用C程序中的main函数
halt_loop
    b    halt_loop
    END

结果编译时出现如下错误:
Warning:L6305W:Image does not have an entry point.(Not specified or not set due to multiple choices.)
请高手帮忙解答一下!
级别: 侠客
UID: 4843
精华: 0
发帖: 102
金钱: 810 两
威望: 554 点
综合积分: 204 分
注册时间: 2009-03-31
最后登录: 2012-11-14
1楼  发表于: 2010-05-24 16:58
将“AREA start,CODE,READONLY ”改为“AREA Init,CODE,READONLY” 试一下。
级别: 新手上路
UID: 1084
精华: 0
发帖: 40
金钱: 345 两
威望: 41 点
综合积分: 80 分
注册时间: 2008-07-16
最后登录: 2010-11-17
2楼  发表于: 2010-05-25 08:45
改过了也不行
级别: 侠客
UID: 4843
精华: 0
发帖: 102
金钱: 810 两
威望: 554 点
综合积分: 204 分
注册时间: 2009-03-31
最后登录: 2012-11-14
3楼  发表于: 2010-05-25 12:27
你得先设置好ADS工程,具体怎么弄看mini2440的手册吧
级别: 新手上路
UID: 1084
精华: 0
发帖: 40
金钱: 345 两
威望: 41 点
综合积分: 80 分
注册时间: 2008-07-16
最后登录: 2010-11-17
4楼  发表于: 2010-05-26 08:41

 回 3楼(ofourme) 的帖子

ADS工程是按照QQ2440手册上做的。真不知道是怎么回事啊?
级别: 侠客
UID: 4843
精华: 0
发帖: 102
金钱: 810 两
威望: 554 点
综合积分: 204 分
注册时间: 2009-03-31
最后登录: 2012-11-14
5楼  发表于: 2010-05-26 09:35
你先理解一下编译器提示的错误究竟是怎么一回事。
级别: 侠客
UID: 4843
精华: 0
发帖: 102
金钱: 810 两
威望: 554 点
综合积分: 204 分
注册时间: 2009-03-31
最后登录: 2012-11-14
6楼  发表于: 2010-05-26 09:39
最简单的方法,拿一个可以正常运行的工程,看它里面的设置,再和你的对比一下。不要连这个都懒得做。
级别: 新手上路
UID: 1084
精华: 0
发帖: 40
金钱: 345 两
威望: 41 点
综合积分: 80 分
注册时间: 2008-07-16
最后登录: 2010-11-17
7楼  发表于: 2010-06-08 16:17
不是懒,是不懂得方法,呵呵
谢谢!
级别: 侠客
UID: 4843
精华: 0
发帖: 102
金钱: 810 两
威望: 554 点
综合积分: 204 分
注册时间: 2009-03-31
最后登录: 2012-11-14
8楼  发表于: 2010-06-08 21:38
给你个工程,看里面是怎样设置的。再不懂我也没办法。

不要老说自己不懂,连自己不懂在哪里都懒得说,谁能帮你?!

ads_test.rar (9 K) 下载次数:53
级别: 新手上路
UID: 23436
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
综合积分: 22 分
注册时间: 2010-06-20
最后登录: 2012-03-17
9楼  发表于: 2010-06-20 04:23
你把main改改名字就好了,可能main是c一个默认的入口,所以就出现多重入口,连接器不知道用哪个
或者你在设置里直接设置crt0.o(start) 作为entry也可以的
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go