|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
请问用ADS如何实现C和汇编的混编?
我看了之前的ADS教程,按照上面的例子一模一样的做了一遍
其中代码如下:
C部分:
//*****************************************************************
//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++);
}
汇编部分:
;**************************************************************
;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
可是编译总是说我出错
一下是错误信息:
Error : A1167E: Invalid line start
Init.s line 1
1 00000000 ;**************************************************************
Error : A1163E: Unknown opcode
Init.s line 2
2 00000000 ;Chinese Academy of Sciences, Institute of Automation
Error : A1163E: Unknown opcode
Init.s line 3
3 00000000 ;File Name: Init.s
Error : A1167E: Invalid line start
Init.s line 4
4 00000000 ;Description:
Error : A1163E: Unknown opcode
Init.s line 5
5 00000000 ;Author: JuGuang.Li
Error : A1167E: Invalid line start
Init.s line 6
6 00000000 ;Date:
Error : A1167E: Invalid line start
Init.s line 7
7 00000000 ;**************************************************************
Error : A1137E: Unexpected characters at end of line
Init.s line 9
9 00000000 AREA Init,CODE,READONLY
Error : A1186E: Code generated in data area
Init.s line 11
11 00000000 LDR R0, =0x3FF0000
Error : A1186E: Code generated in data area
Init.s line 12
12 00000000 LDR R1, =0xE7FFFF80 ;配置SYSCFG,片内4K Cache,4K SRAM
Error : A1186E: Code generated in data area
Init.s line 13
13 00000000 STR R1, [R0]
Error : A1186E: Code generated in data area
Init.s line 14
14 00000000 LDR SP, =0x3FE1000 ;SP指向4K SRAM的尾地址,堆栈向下生成
Error : A1186E: Code generated in data area
Init.s line 15
15 00000000 BL Main
Error : A1186E: Code generated in data area
Init.s line 16
16 00000000 B .
14 Errors, 0 Warnings
哪位仁兄能帮忙解释解释?
或者能给发一个C和汇编混编的可以编译通过的例子?
跪等回音
|
|