打印
[ZLG-ARM]

怎么进行ARM7汇编编程?

[复制链接]
4109|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
makebetter|  楼主 | 2008-10-23 10:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我新学ARM7,买了周立功的Smart2300,里面的芯片是LPC2300。
现在遇到的问题是:
我写了一个main.s,把它放到芯片里去调试/运行,但不知如何下手,不知该放芯片哪(可能是芯片里的Flash的起始),但就算知道放哪,又该怎样调试才能让它链接到那?是不是靠分散加载文件?分散加载文件又如何写?

希望有哪位大方的工程师能帮我描述一下程序的编写到编译到运行的整个过程,十分感谢!

相关帖子

沙发
makebetter|  楼主 | 2008-10-23 18:30 | 只看该作者

周工?出来?

使用特权

评论回复
板凳
zlg_lly| | 2008-10-24 09:30 | 只看该作者

RE:makebetter

您好!
您应该是想做汇编实验吧,如果用23还写汇编,那就浪费了。

1、用ADS自带的模板 ARM Executable Image 建立一工程,导入您的Main.S文件
2、在 ARM Linker 的 Output 中设置一下RO Base (想在哪里调试就设多少啦),然后在Options中设置一下Image enter Point (=RO base)

简单的实验,分散加载文件就不用了。

在我们22系列的开发板中提供过带分散加载文件的汇编模板,您可以与相识的销售工程师联系一下,或许他可以传您一份。

使用特权

评论回复
地板
makebetter|  楼主 | 2008-10-28 12:27 | 只看该作者

好的,谢谢

使用特权

评论回复
5
makebetter|  楼主 | 2008-10-28 12:29 | 只看该作者

还有一个问题。

开发板附送的例程关于uCOSII的代码全删掉了,为什么?

使用特权

评论回复
6
ZLG_Dengz| | 2008-10-28 12:39 | 只看该作者

版权

在学习平台上,我们无权提供UCOS-II源码. 但你可以在UCOS网站上免费获得.

使用特权

评论回复
7
makebetter|  楼主 | 2008-10-28 15:07 | 只看该作者

但是下载了N个uCOSII就是不行,,,

我刚学ARM,本来想好好从低层弄弄,可项目要求紧,想参看周立功的例子,晕,全是含空文件夹的“uCOSII”,然后就是无法编译。后在网上下载N个uCOSII按里面的说明放好文件,没有一次能编译成功。我现在刚学,要我一下子会移植是不可能的。

使用特权

评论回复
8
zlg_lly| | 2008-10-29 09:35 | 只看该作者

RE:makebetter

您好!
我们的模板内的移植代码是基于uCOSII 2.52的,注意下载时注意uCOSII的版本信息。

使用特权

评论回复
9
makebetter|  楼主 | 2008-10-30 09:20 | 只看该作者

谢谢你的回复,现在试用成功。

又有一个新问题。
:我用周立功的TCP/IP模板然后用里面的TCP通信例子,可以通信,但是会有这种情况——有时发信息很快就返回,有时就要等一下子,有时就没有回,但是不回的出现几次后就再也不能正常工作了。这是为什么?我在里面加了几条语句,发现接收正常且反映很快,但转发时就有时慢,有时是直接超时退出,这样退出几次后就不行了。
我想知道这是什么问题,是不是发送函数的问题?(TCP的send函数),是不是里面发送缓冲区溢出?怎么解决?

使用特权

评论回复
10
makebetter|  楼主 | 2008-10-30 10:42 | 只看该作者

补充:

在PC机上的调试软件调试时,在没接到ARM芯片回应数据时如果继续发送,刚会出现死机现象,这又是怎么回事啊?怎么解决?

使用特权

评论回复
11
makebetter|  楼主 | 2008-10-30 14:34 | 只看该作者

再补充:

下午再来试以前的程序,发现很好!怪哉,莫非是板子没做好,不稳定?周工做板会不稳定???一摸,确实是网卡芯片好热,会不会是这原因呢?周工快给点意见啊。。。。

使用特权

评论回复
12
makebetter|  楼主 | 2008-10-30 14:36 | 只看该作者

还有:

下午在调时,在send里的循环原是<2,被我改为<5,我猜想是重试次数,所以就算接收有延时也接到了。

使用特权

评论回复
13
makebetter|  楼主 | 2008-10-30 14:47 | 只看该作者

另一个问题:

在问之前,先谢谢周工们热心为我解答!!!
    uCOSII 加 IP 代码共32K多了,这些代码放芯片(LPC2378)里的flash是够了,但要再加载到RAM内存里运行的话会不会有点“挤”?(还会有其它数据存储区要用空间。)实际情况下,代码是如何配置的?是一部份放flash一部分放RAM,还是其它的??

再次谢谢!!

使用特权

评论回复
14
Makebetter| | 2008-10-30 15:41 | 只看该作者

网络的又发现一点现象,工程师们帮我分析一下。

  刚才又用那个TCP/UDP监视软件调Smart2300的网络,调的是TCP。
现在每次都能:在这头发送字符,很快接到字符,就算慢点也会接到;但当我在未接到之前就再发的时候,就好像发送和接收函数(ARM芯片里的)互相卡住了,都停了,要么等好长一段时间就一起发回来,要么就真死了。
我分析是:是不是里面的发送函数有些关键地方没保护好(没有进入临界区),然后接收的检测到在发--等待,发送的被接收中止--等待,造成都不动的情况?(另外,接收通常很好,很快,因为我在接收到后面加了一下蜂鸣器响来调试。)
不知是什么原因,希望贵公司的工程师们帮我分析一下,因为我不知道里面到底是个什么机制,这现象如何解决?

使用特权

评论回复
15
Makebetter| | 2008-10-31 08:56 | 只看该作者

调了一下,好像是阻塞的现象。

昨晚再调试了一下,好像是数据包阻塞了,不知道内部有没有抗阻塞的机制啊。
                     描述很详细了吧,周工们帮忙分析一下啊!~

使用特权

评论回复
16
zlg_lly| | 2008-10-31 09:49 | 只看该作者

RE:Makebetter

您好!
在SmartARM2300光盘中提供的开源代码是教学版本的,为的是让用户学习TCP/IP,没有抗阻塞的机制。
用户如果要开发产品,需要在学习好TCP/IP后对代码进行修改。在SmartARM2300中还提供了不公开源码的TCP/IP例程,您也可以调试一下。
《嵌入式SoC智能平台(ESoC)开发指南—基于LPC2300》配套例程第4章 高级软件资源

使用特权

评论回复
17
Makebetter| | 2008-10-31 14:58 | 只看该作者

好的,谢谢,我去试试。

使用特权

评论回复
18
Makebetter| | 2008-11-3 14:20 | 只看该作者

....算了,还是一样。

使用特权

评论回复
19
xinjie1023| | 2011-12-13 21:06 | 只看该作者
这个得标记。学习

使用特权

评论回复
20
相见欢喜| | 2011-12-14 13:41 | 只看该作者
学习了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

61

主题

506

帖子

0

粉丝