打印

新手ads编译裸机源程序,遇到困难,求助

[复制链接]
1421|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
aibushishou|  楼主 | 2011-4-23 11:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现在学arm裸机程序,但是一上手遇到很多问题,我想从简单的led灯弄起,我把开发板配套的 测试的综合程序裁剪只留下led功能部分,但我编译时报很多错,我知道有一些文件不可少我又添加了2440slib.s , 2440init.s 2440lib.c这几个文件但还是不能编译。还有错,我就不知咋整了,我自己觉得arm上编译程序没得51那么简单,但我不知道怎样才能编译出来,!

我是想弄清楚 要在2440上运行这些裸机程序 要注意哪些问题, 用ads编译程序时 程序需要哪些条件才能生成目标代码,与51有哪些不同 !


  如果你有s3c2440的一些简单的裸机程序源代码发给我好吗,我在网上找半天 没找到,开发板配套的实验程序对我来说有些复杂不好上手,我想找一些很简单的代码分析 自己学者编写
   
我用的是tq2440开发板,,谁有ads编译常见错误分析文档也可一发给我下,不胜感激 邮箱:banilaiai@126.com

我在书上看到一段源代码 用ads编译 但也不行





;**************************************************************
;Chinese Academy of Sciences, Institute of Automation
;File Name: Init.s
;Description:
;Author: JuGuang.Li
;Date:
;**************************************************************
IMPORT Main
AREA Init,CODE,READONLY
ENTRY
LDR R0, =0x3FF0000   
LDR R1, =0xE7FFFF80 ;配置SYSCFG,片内4K Cache,4K SRAM
STR R1, [R0]
LDR SP, =0x3FE1000 ;SP指向4K SRAM的尾地址,堆栈向下生成
BL Main
B .
END
   




//*****************************************************************
//Chinese Academy of Sciences, Institute of Automation
//File Name: main.c
//Description:
//Author: JuGuang.Li
//Date:
//***************************************************************
#define IOPMOD (*(volatile unsigned *)0x03FF5000) //IO port mode register
#define IOPDATA (*(volatile unsigned *)0x03FF5008) //IO port data register
void Delay(unsigned int);
int Main()
{
unsigned long LED;
IOPMOD=0xFFFFFFFF; //将IO口置为输出模式
IOPDATA=0x01;
for(;;){
LED=IOPDATA;
LED=(LED<<1);
IOPDATA=LED;
Delay(10);
if(!(IOPDATA&0x0F))
IOPDATA=0x01;
}
return(0);
}
void Delay(unsigned int x)
{
unsigned int i,j,k;
for(i=0;i<=x;i++)
for(j=0;j<0xff;j++)
for(k=0;k<0xff;k++);
}


相关帖子

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

本版积分规则

3

主题

13

帖子

1

粉丝