主题 : 关于头文件的添加很困惑 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 10697
精华: 0
发帖: 9
金钱: 70 两
威望: 29 点
综合积分: 18 分
注册时间: 2009-11-14
最后登录: 2010-12-14
楼主  发表于: 2009-12-31 19:22

 关于头文件的添加很困惑

mini2440用户手册里第四章用ADS新建了一个工程,并添加了三个头文件,分别是2440init.s,2440lib.c,2440slib.s,但不知道这三个头文件做什么用的?
看过网上的一些资料,有的干脆把2440test这个示例文件里的所有头文件全部加进去了。

还有自己参考myled这个例程自己写了个小程序,但不知道要添加哪些头文件?

用户手册里把头文件也介绍得不清楚,实在是困惑,因为是刚入门,所以感觉什么都不会,很吃力,都有点泄气了。



程序如下,不知道头文件要添加哪些,编译有的时候有问题,有的时候没问题。
#define rGPBCON (*(volatile unsigned *)0x56000010) //Port B control
#define rGPBDAT (*(volatile unsigned *)0x56000014) //Port B data
#define rGPBUP (*(volatile unsigned *)0x56000018) //Pull-up control B

void delay(unsigned int z )
{
unsigned int i,j;
for(i=0;i<=10000;i++)
for(j=0;j<=z;j++);
}


int main(void)
{
int data = 0x06;
rGPBCON = 0x155555;
rGPBDAT = 0xffffff;
delay(120);
rGPBDAT = 0x000000;
delay(120);
}
级别: 侠客
UID: 4843
精华: 0
发帖: 102
金钱: 810 两
威望: 554 点
综合积分: 204 分
注册时间: 2009-03-31
最后登录: 2012-11-14
1楼  发表于: 2009-12-31 20:14
兄弟,那个是源文件,不是头文件。
想知道他们是干什么的就去看源码。
就你目前的需求来说,添加“2440init.s”就行了。
“编译有的时候有问题,有的时候没问题”说明是你的问题。应该是对编译器还不熟悉。
“int main(void)” 这个改为“int Main(void)”

继续努力~
其实最好是先把例程弄懂了再在原例程的基础上修改。
Eddy Lau (Sun Boy)
级别: 圣骑士
UID: 11202
精华: 1
发帖: 364
金钱: 1885 两
威望: 380 点
综合积分: 748 分
注册时间: 2009-11-30
最后登录: 2010-04-12
2楼  发表于: 2009-12-31 22:26
嵌入式系统的优点就是可以在操作系统下编程啊!

为何还要用ADS来编写裸机程序呢?

快点学习在Qtopia下编程吧!

要写裸机程序,倒不如玩8051吧! 8051做到的事情,为何要用Arm来做呢?

  
為什麼生世間上 此間許多哀與傷 為什麼爭鬥不絕 歡欣不永享 
問為何人存隔膜 顏面無真相 問那天可找得到 理想中的烏托幫 
级别: 侠客
UID: 11182
精华: 0
发帖: 69
金钱: 350 两
威望: 70 点
综合积分: 138 分
注册时间: 2009-11-29
最后登录: 2011-11-27
3楼  发表于: 2010-01-01 22:12
2440init.s,是汇编编写的程序,里面提供了非常重要的系统初始化的功能,这个文件很重要,在ADS下编程的时候,一般情况下,这个文件都是必须的。


2440lib.c,这个c文件,里面包含了一些基本的函数,记不太清了,好像有串口初始化设置之类的。写的很明白,相信你可以看懂
级别: 新手上路
UID: 10697
精华: 0
发帖: 9
金钱: 70 两
威望: 29 点
综合积分: 18 分
注册时间: 2009-11-14
最后登录: 2010-12-14
4楼  发表于: 2010-01-02 11:34
用ADS编程是个过程嘛,肯定要经历这一步的。
Eddy Lau (Sun Boy)
级别: 圣骑士
UID: 11202
精华: 1
发帖: 364
金钱: 1885 两
威望: 380 点
综合积分: 748 分
注册时间: 2009-11-30
最后登录: 2010-04-12
5楼  发表于: 2010-01-02 11:42
引用第4楼dazhi于2010-01-02 11:34发表的  :
用ADS编程是个过程嘛,肯定要经历这一步的。

谁说的?

这是错误的观点!

為什麼生世間上 此間許多哀與傷 為什麼爭鬥不絕 歡欣不永享 
問為何人存隔膜 顏面無真相 問那天可找得到 理想中的烏托幫 
这个阶段正是我事业的上升期,我怎么能走得开呢?
级别: 精灵王
UID: 3197
精华: 3
发帖: 770
金钱: 6995 两
威望: 5398 点
综合积分: 1600 分
注册时间: 2008-12-30
最后登录: 2010-12-31
6楼  发表于: 2010-01-02 13:31

 回 4楼(dazhi) 的帖子

跟学习电脑差不多,并不是所有网民都会C编程,也并不是所有网民遵从8088到酷睿的过程学习电脑。对大部分致力于应用ARM9/11的用户而言,从高处向低处走是更加有效的途径,特别是先从高层的软件入手,遇到问题逐步深入底层查询,而不是先把底层都摸清了再迈向高层。
当然先了解一些基本概念是必要的
Eddy Lau (Sun Boy)
级别: 圣骑士
UID: 11202
精华: 1
发帖: 364
金钱: 1885 两
威望: 380 点
综合积分: 748 分
注册时间: 2009-11-30
最后登录: 2010-04-12
7楼  发表于: 2010-01-02 14:05

 Re:回 4楼(dazhi) 的帖子

引用第6楼26672624于2010-01-02 13:31发表的 回 4楼(dazhi) 的帖子 :
跟学习电脑差不多,并不是所有网民都会C编程,也并不是所有网民遵从8088到酷睿的过程学习电脑。对大部分致力于应用ARM9/11的用户而言,从高处向低处走是更加有效的途径,特别是先从高层的软件入手,遇到问题逐步深入底层查询,而不是先把底层都摸清了再迈向高层。
当然先了解一些基本概念是必要的

一针见血, 简洁有力, 寥寥数语便把重点指出.

小弟非常欣赏!

為什麼生世間上 此間許多哀與傷 為什麼爭鬥不絕 歡欣不永享 
問為何人存隔膜 顏面無真相 問那天可找得到 理想中的烏托幫