找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4613|回复: 0
打印 上一主题 下一主题
收起左侧

ADS编程问题

[复制链接]
跳转到指定楼层
楼主
ID:27926 发表于 2011-3-13 15:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

   上回玩板子大概也有一个星期了,接下来就是要做点正事,其实我说的正事也没什么啦,就是编程,无操作系统下的ADS(一个通用的ARM编程软件)编程。在ADS下我同样也遇到了很多意想不到的问题,不过遇到问题解决问题,一如既往。其实回过头想想,有时候真觉得遇到问题不一定就是坏事,反而是件好事,为什么呢?因为在每一次把问题解决之后,你就会发现,你进步了不少,在解决问题的过程中我们不断的从个个角度去分析问题,思考问题,如果没有遇到这些问题,我们会那样做吗。我觉得遇到问题并不可怕,可怕的是遇到问题时却没有勇气去试着解决!朋友们你们说不是吗?为什么我会选择先区学习ADS编程呢?其实我也是有想过的,我是这样认为的:首先我是一个初学者,关于ARM-linux我没有什么基础,其次是我以前有学过80C51单片机(水平也就一般般啦),想琢磨琢磨这arm-linux和单片机到底有什么不同,又有什么联系,如何从单片机转向ARM-linux,最重要的是我想学学ARM的一些硬件应用,比如想什么Uart编程啦,IO的应用啦,whatchdog的应用啦,AD/DA转换啦等等,基本上也练习了一边(不过有些还不是怎么会,呵呵)。好了,接下来看看我在学习ADS编程过程中遇到的一些问题吧

 

   我觉得其实ADS编程和Keil编程(一个非常好用的51单片机编程软件)没多大区别,但是在刚接触ADS还是一样遇到了一些比较棘手问题,我记得印象最深的有两个问题,一是工程的设置,二是库函数的调用。我先说第一个问题吧,我记得刚编程的时候,都是一个非常简单helloworld.编程,这么简单的程序,编译应该不会错吧,结果刚好和想法相反,

出错了,提示大概就是没有找到什么什么地址。我一想郁闷了,还有什么地址不地址,后来才知道原来是工程设置时,没有设置好,就是在ARM link 那一项里没有弄好,其实一开始我就知道问题在这里了,可是不知道怎么设置,后来是去电了技术支持,才知道原来RO base

这里设的地址太多了,不再编译区内,解决的办法很简单,写一个小一点的地址就OK了,比如0x0001也行啊,还有RW base 这一项又怎么写呢,后来我是干脆不写,而是之选了relocatabl其他的不选,实践证明正确。记得哦这不是我们的重点,不要花时间在这里非弄清为什么不可。因为我们的时间太保贵了,不能把时间花在这种没有多大意义的细节上,能编译就行了。接下来就是编程时出现的问题了,还记在windos 上写helloworld时的情况吗,就是我们加上头文件#include<stdio.h> 然后我们用printf()就可以在终端上显示我们的hello world !了,可是在在ARM上却什么也看不到,其实这个比较好理解,因为我们调用的是标准I/O,要想在终端上打印就必须是基于ARM平台的IO打印函数,其实这个也好办,那就拿别人写好的IO打印函数就可以了嘛,想着简单,拿了别人的Uart_Print(),想应该没有什么了吧,但是问题就是从这里开始了,错误提示:没有定义Uart-Print(),很容易想到可能是没有写头文件,可是加上头文件,却是一大堆错误,(我已经在我的工程上加了相关的头文件还有库函数),怎么会是这样,就这样一个简单的问题,把我困了整整2天,还未得其解,同样也去电了技术支持,但是这次却未解,因为他说的,就是我做的。后来没办法了,我就直接研究那些输入输出函数,然后自己写!(够傻吧),自己建立自己的函数库,下来下的那些实验我都是调用自己的库函数。我这样做也是没有办法的办法,其实我觉如果能用别人的那就去用别人的,不要花时间在这细节上,划不来啊!我在ADS上也没花多少时间,从买板子到结束ADS编程,大概一个月。好了我想ADS就到这里吧。接下来就是要进入我向往已久的arm-linux 世界了!!

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表