您现在所在的是:

嵌入式系统

回帖:0个,阅读:938 [上一页] [1] [下一页]
847
yanhong_90
文章数:59
年度积分:50
历史总积分:847
注册时间:2010/6/2
发站内信
发表于:2011/3/30 13:39:41
#0楼
以led 实验在OK2440-III 上运行为例。
打开ADS1.2(CodeWarrior for ARM Developer Suite)建立工程文件
图
在主菜单FILE-􀃆new….,如下图设置,点击确定
图
同样在主菜单FILE--􀃆new….如下图设置,点击确定
图
用同样的方法在建立led.c 文件。
编辑代码,下面代码敲进对应的文件:init.s 汇编文件和led.c:
Init.s //注意此文件的代码不能顶格写
AREA |DATA|,CODE,READONLY
ENTRY
ldr r13, =0x1000
IMPORT ledMain
b ledMain
END

Led.c
/**********************LED实验*********************************/
// 公司名称:飞凌嵌入式技术有限公司
// 描述:LED
// 版权:飞凌嵌入式技术有限公司
// 网址:www.witech.com.cn
/***************************************************************/
/*
本实验接口说明
GPF3 ------ LED0
GPF4 ------ LED1
GPF5 ------ LED2
GPF6 ------ LED3
*/

/*------------------------地址声明---------------------------*/
//地址是s3c2440芯片手册里规定好的,具体说明参考芯片手册GPIO章节
#define GPFCON (*(volatile unsigned *)0x56000050)
#define GPFDAT (*(volatile unsigned *)0x56000054)
#define GPFUP (*(volatile unsigned *)0x56000058)
#define uchar unsigned char
#define uint unsigned int
/*-------------------------------------------------------------
函数名称: ledMain
功能描述: 入口程序
初始化后,进入跑马灯死循环
传参: 无
返回值: int 0
-------------------------------------------------------------*/
int ledMain(void)
{
void Delay();
GPFCON &= 0xffc03f; // GPF3,GPF4,GPF5,GPF6设置为输出
GPFCON |= 0x1540;
GPFDAT = ((1<<3)|(1<<4)|(1<<5)|(1<<6)); //使LED全灭
GPFUP |= 0x78;
while (1) // 死循环
{
GPFDAT = ~(1<<3); //LED0亮
Delay(500);
GPFDAT = ~(1<<4); //LED1亮
Delay(500);
GPFDAT = ~(1<<5); //LED2亮
Delay(500);
GPFDAT = ~(1<<6); //LED3亮
Delay(500);
}
return 0;
}
/*------------------------------------------------------------/

函数名称: Delay
功能描述: 延时函数,该函数只是大概时间,没有具体时间值
传参: int x
返回值: 无
/*********************************************************/
void Delay(int x)
{
int k, j;
while(x)
{
for (k=0;k<=0xff;k++)
for(j=0;j<=0xff;j++);
x--;
}
}

代码编辑完毕之后保存。这时候可以编译一下,看是否有语法错误。选中源文件,点击make。
没问题的话就继续下一步。
图
代码编译没问题,可能在内存里抛尸没问题的,但是一旦下载到开发板上就不行了。
下面开始讲述下载到开发板上如何进行设置。
在上图中(红色方框)打开DebugRel Setting……
图
如果你的工程最后没有生成bin 文件,那么你要检查一下上图中Post-linker 是否设置为了
“ARM fromELF”。
图
我们所用的CPU 内核是ARM920T;
图
图
图
图



保存退出(其他的使用默认)之后,重新编译,这时的bin 就可以下载到开发板中运行了。



[此贴子已经被作者于2011/3/30 13:48:11编辑过]

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

31.2002