您的位置:首页 > 其它

关于初学ARM的一些感受

2013-04-13 15:39 281 查看
前些天忙着学习wxWidgets基于wxSocket的学习,学习wx的网络通讯的问题,通过在论坛上向高手求助,算是将网络通讯的一些问题解决了,在这里还是挺感谢wxWidgets谈论群里面的一些朋友的,这几天,接到老师的命令要学习ARM,虽然曾经在学习单片机的时候有过想学习ARM的冲动,不过那是很早以前的事情了,现在重拾学习ARM,心中或多或少是有那么一点喜悦的,可以做做自己感兴趣的东西,但是随之而来的是很大的压力,看了几天的书了,感觉还是摸不到头脑,老师要求的是使用ARM+Linux做嵌入式的开发,自己在网上随便的看了看学习的方法和过程,大多是要学习很多知识,包括C语言,汇编语言,ARM的体系结果和Linux的体系,以及嵌入式的相关知识,对此自己倒是一点印象都没有了,以前学习51单片机的时候就是使用C语言编程,相关的硬件也还算有个大致的了解,老师给我的是一块杭州立宇泰的ARM9开发板,是ARMSYS2440的板子,CPU为2440,flash为KF901280,刚拿到手时,班上还是没有核心板的,结果自己联系厂家购置一款核心板,自己在网上看相应的教程和课本,算是对于学习的过程有了个大致的了解,决定从裸机程序开始,于是就是按照厂家自带的硬件说明书,开始安装并口的驱动,无外乎就是移动几个文件,然后点击运行exe文件,运行移动到driver中.sys文件,但是当使用H-Flasher进行检测时,却不能检测到CPU型号,此时感觉到束手无策,自己仔细看了一遍说明书,还是没有找到相应的说明,就到网上google,结果发现自己没有安装相应的硬件驱动,就是文件中的giveio.inf文件(厂家提供的文件里没有这个文件!!!!!),按照百度上的操作过程,总算是安装了,这算是遇到的第一个问题了,然后,进行程序的烧写,就是按照厂家提供的硬件说明书进行操作,进过可以操作就是烧写u-boot.bin,可以烧录,然后自己尝试着烧写在网上下载的LED跑马灯程序,但是现在却无法烧录,总是提醒can't
download driver to speciafield address,结果点击load后可以下载相应的型号HFC文件,即可,但是当第二次运行的时候,却又提示can't download driver to speciafield address,这是到网站上看到的可能答案:第一次可以的原因是你的FLASH内原来有程序,直接做了初始化。在把你的程序烧写进去后,相当于把初始化给破坏了。所以最稳妥的办法是写初始化脚本。你可以在置顶的HFC收集帖里下参考配置文件进行修改。学习到此,路还很长,但必须坚持走下去……

上次说到遇到提示can't download driver to speciafield address的问题,后来在网上看到相应的说明说是把ARM address改为0x40000000就可以,结果修改后还真的不出现相应的提示了,自己倒是不知道是什么原因,若有学友遇到相同的问题可以试一试这个方法,现在程序终于可以烧进去了,但是烧进去后却没有反应,此时并口还是连接着ARM版的,这个时候就不知道怎么办了,自己又把从CSDN下载的代码看了一遍,确定程序操作的是板上的端口,还是没有什么明显的错误,这就奇怪了,于是自己又试着烧写了一次程序,但是重启ARM后,还是没有结果,于是拔下并口线后,LED灯开始闪烁,但是不是依次闪烁,大致是程序烧进去了,应该是程序出现了问题……等待调试……

接着开始学习ADS1.2的软件,安装了厂家提供的ADS1.2软件后,结果提示要输入序列号,按照要求输入后,启动软件完成编译后,调试的时候,出现 提示“error
starting external process:process error code(0x87)",这是系统的兼容性问题,可在网上查找相应的解决方案,,另外在调试的过程中也会遇到Processor
ARM7TDMI raised an exception.Cause:Undefined instruction 这样的问题,网上会有相应的解决方案,到此,裸机的学习算是告一段落,时间紧任务重,开始接触嵌入式Linux的学习……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: