打印

请高手回答问题?

[复制链接]
1340|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
free_teddy|  楼主 | 2009-10-8 20:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近开始用KEIL实验smartarm2200开发板,已经能在ram中运行程序,lcd上显示画面,但还有一些不理解,请高手解答,谢谢
cpu是2200,带64kram,无flash,使用keil自带的startup启动文件,程序写入ram后能运行,但我单步运行发现startup并没有运行。去掉startup文件,下载后无法运行。
1:请问:startup到底有没有用?,我在汇编中找不到,可是没有又不行,为什么?
2:按照教材的说法,reset后从00开始,但是2200没有flash,ram是从0x40000000开始的,也就是说00是没有的,那么没有00如何开始?
3:如果对于第二个问题的答案是地址映射,那么也就是说,一开始的几个跳转地址必须放在映射的首地址上,我用的是ram中调试,可是我在0x40000000没有发现那几个跳转地址,为什么?
4:如果我想从外部flash启动,那么该怎么办?将boot01改变,remap改变,可是
boot01改变可以理解,remap的值放在哪里了呢?如果在flash中,remap不可能起作用,放在ram中掉电了也不行?
请高手出来解答!!谢谢!

相关帖子

沙发
free_teddy|  楼主 | 2009-10-8 22:25 | 只看该作者
查看的人一堆,就是没有人回答问题啊

使用特权

评论回复
板凳
阿南| | 2009-10-9 11:51 | 只看该作者
1。单步执行最好设置在混合方式,这样可以看到反汇编的每条代码语句
2、3。如果是在RAM中调试,调试器是可以直接控制指向任意地址的,如果是复位运行,PC会指向0x0开始,所以需要一上电复位前就做好映射等工作,当然也可以在0x0开始保存有代码,启动运行后实现。
4。如果是Flash,通常直接在Flash中运行,如果希望将代码复制或映射到RAM中,则需要Flash启动后自行控制实现

使用特权

评论回复
地板
free_teddy|  楼主 | 2009-10-9 22:24 | 只看该作者
回啊南,谢谢你的解答,对于地一点,我确定在汇编里没有的。
今天我已经成功在外部ram上运行,但是对第一个问题还是存在,同时发现以下问题,请帮忙解答?
1,运行速度非常慢,比在内部ram慢很多,why?怎么修改?
2,我尝试在主程式开始时增加pll设定,startup中有,但没运行,最后发现程式在等待时钟稳定的时候,不能跳出,硬件应该没有问题的,怎么处理?
3,我用的是ulink2,老是在写程式的时候报错,内存校验出错,反复几次ok,什么原因,怎么解决?

使用特权

评论回复
5
阿南| | 2009-10-9 23:10 | 只看该作者
Flash一定会比RAM里慢的
LPC的ARM最好还是请教ZLG团队

使用特权

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

本版积分规则

6

主题

17

帖子

0

粉丝