[ARM入门] RVDS编译时出错,求助

[复制链接]
1938|6
 楼主| xyyujn 发表于 2014-1-11 10:01 | 显示全部楼层 |阅读模式
我用的是ARM11的板子,我用RVDS写了一段裸板的LED全亮的程序,最后编译时出错,求大神指教。启动代码和C函数都是我自己写的
启动代码:
        IMPORT main
        AREA Example,CODE,READWRITE
        ENTRY
        CODE32
START
        ldr r0,=0x70000000
        orr r0,r0,#0x13
        mcr p15,0,r0,c15,c2,4

        ldr r0,=0x7E004000
        mov r1,#0
        str r1,[r0]

        ldr sp, =8*1024
        bl main
       
halt b halt
        END
C函数:
int main(void)
{
        volatile unsigned long *gpkcon0 = (volatile unsigned long*)0x7F008800;
        volatile unsigned long *gpkdat = (volatile unsigned long*)0x7F008808;
        *gpkcon0 = (*gpkcon0 & 0xffff) | 0x11110000;
        while(1)
        {
                *gpkdat = *gpkdat | 0x0111;
        }
}
最后编译时出这个错,不知道为什么。是不是我代码有问题,还是进行链接配置时,没配置对?
错误:
    Error:object file for file:one led .o could not be retrieved.Recompile file
阿南 发表于 2014-1-11 16:20 | 显示全部楼层
需要led.o,应该是没有编译正确,或者设置有问题。建议先用官方的例程编译,以确定编译环境是正确的
 楼主| xyyujn 发表于 2014-1-12 09:17 | 显示全部楼层
阿南 发表于 2014-1-11 16:20
需要led.o,应该是没有编译正确,或者设置有问题。建议先用官方的例程编译,以确定编译环境是正确的 ...

版主,我找到错误了。原来是我把启动代码和C函数文件设置了相同的名字的原因
 楼主| xyyujn 发表于 2014-1-12 09:21 | 显示全部楼层
阿南 发表于 2014-1-11 16:20
需要led.o,应该是没有编译正确,或者设置有问题。建议先用官方的例程编译,以确定编译环境是正确的 ...

版主,能帮忙看一下启动代码吗?这个代码是从韦东山的教程上改过来的,但是下载到板子上没有效果。我把启动代码改成官方提供的就没问题。我用的下载方式是SD卡启动,用超级终端和DNW传到板子上的
阿南 发表于 2014-1-13 12:26 | 显示全部楼层
最好以官方的为主,在那上边改,而且启动代码基本不用改的
 楼主| xyyujn 发表于 2014-1-13 14:54 | 显示全部楼层
阿南 发表于 2014-1-13 12:26
最好以官方的为主,在那上边改,而且启动代码基本不用改的

新手学习,需要学会自己写启动代码吗?
阿南 发表于 2014-1-14 18:58 | 显示全部楼层
不需要,但最好去分析理解清楚
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

13

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部