5754|16

78

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

【急问】下载到arm上的程序如何运行?? [复制链接]

最近在学习arm7,周立功的lpc2294的板子,一个循环点灯的程序,我用ads1.2和h-jtag进行仿真能通过,而且在板子上跑得蛮好,但是我用H-Flash下载到板子上不能运行,不知道这是为啥?我是直接下载完后断电,然后上电,板子没有反应,arm裸机不是可以直接跑程序的吗?
我是初学者,还望大牛能指点指点,谢谢了
此帖出自ARM技术论坛

最新回复

因为是zlg的板子,那么肯定是用的他们demo咯,不应该是程序的什么设置的问题。。首先确保是能下载进去。。。然后在检查一些跳线的设置。。。我估计是跳线问题。。  详情 回复 发表于 2009-12-28 09:59
点赞 关注
 

回复
举报

71

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
你的h-jtag仿真难道是把程序下载在RAM里面? 该不是的吧?

一般来说,如果用h-jtag仿真,程序开始运行的时候,就已经用那个H-flash把程序烧到Flash了...
此帖出自ARM技术论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
查查H-Flash把程序下载到板子上什么地址了。应该从0开始
此帖出自ARM技术论坛
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

4
 
中断向量的累加和不等于0?
此帖出自ARM技术论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

5
 
引用 1 楼 great_bug 的回复:
你的h-jtag仿真难道是把程序下载在RAM里面? 该不是的吧?

一般来说,如果用h-jtag仿真,程序开始运行的时候,就已经用那个H-flash把程序烧到Flash了...



我是想把程序下载到外部flash,在这个板子上是sst39vf1601,通过bank1选择,所以它的地址应该是0x81000000,我是先在ads中生成了.bin文件,然后用h-flash把这个文件下载到板子,这么做对吗?
此帖出自ARM技术论坛
 
 
 

回复

89

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 2 楼 schlafenhamster 的回复:
查查H-Flash把程序下载到板子上什么地址了。应该从0开始


谢谢你啊,不过,我是想下载到外部flash,片内flash是从0开始的是吧,片外的好像不是,关键是我这边器材和文档不一致,器材是hjtag,文档easyjtag,所以只能自己摸索,唉
此帖出自ARM技术论坛
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

7
 
是不是你仿真的时候ADS里面你选的是DbugInRAM呀?我曾经用jtag仿真的时候也是这么选的,下载到板子运行的时候就不行了,改选DbugInFLASH就可以了,不知道是不是这个原因,可能是我那时候哪步操作不对吧~
不知道DbugInRAM和DbugInFLASH对仿真以及下载到板子上有什么区别吗,LZ要是解决了说下是啥原因~
此帖出自ARM技术论坛
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

8
 
最后在flash还是在RAM中运行?
此帖出自ARM技术论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

9
 
引用 6 楼 think_logo 的回复:
是不是你仿真的时候ADS里面你选的是DbugInRAM呀?我曾经用jtag仿真的时候也是这么选的,下载到板子运行的时候就不行了,改选DbugInFLASH就可以了,不知道是不是这个原因,可能是我那时候哪步操作不对吧~
不知道DbugInRAM和DbugInFLASH对仿真以及下载到板子上有什么区别吗,LZ要是解决了说下是啥原因~


我是在lpc的专用模板下建的工程,直接选择了DebugInExram,这里只有四种选择是:debuginexram,DebugInChipflash,RelInChip,RelOutChip,没有你说的那种选择。。。
现在还很迷糊,如果弄懂了,一定跟大家分享
此帖出自ARM技术论坛
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 7 楼 schlafenhamster 的回复:
最后在flash还是在RAM中运行?



谢谢你哈。只是我很疑惑,我如果下载的时候下载到外部flash中,这个不是存储的吗?运行时是不是还是在ram里面运行?我记得在哪看到说代码开始运行时都是从0开始,那边存放的是一些启动之前的初始信息,然后才转去执行main处的程序?
另外我不明白,计算机都是把代码存放在硬盘,程序在执行时操作系统是应该把这些代码拷到内存里面去执行是吧,那么在没有操作系统的arm里面,程序的执行是代码在哪里就在哪里执行吗?还是会做跟电脑类似的处理?
此帖出自ARM技术论坛
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

11
 
没玩过LPC,但是NORFLASH是可以支持XIP的,LZ看看是不是有什么跳线可以设定启动方式的
此帖出自ARM技术论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

12
 
你试一下"RelOutChip"....可能要配置H-Flasher....

或者"DebugInChipflash",用内部的Flash.

H-JTAG好像有专门对NXP做过优化,用内部Flash程序储存该很容易.
此帖出自ARM技术论坛
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

13
 
1。32位CPU有2种复位地址(即开机复位后CPU开始执行的第一条指令)0000 0000(低端) 和 FFFF FF00(高端)。arm芯片原来只有0000 0000 的那种,现在也有从高端启动的了。
2。如果flash只是存代码(一般为NAND flash),那么代码中必须有把代码搬到RAM中执行的指令。
3. 如果芯片支持nand flash(如三星2440)那么芯片必须有(垫脚石 step stone)能把nand中的头一个4k映射到0地址。
4. 如果使用 NOR flash (可能就是你那种芯片的内部flash),那么该flash的地址从0开始。
此帖出自ARM技术论坛
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

14
 
引用 11 楼 great_bug 的回复:
你试一下"RelOutChip"....可能要配置H-Flasher....

或者"DebugInChipflash",用内部的Flash.

H-JTAG好像有专门对NXP做过优化,用内部Flash程序储存该很容易.


我使用了debuginchipflash,仿真时跑的也是正确的,下载后再重新上电还是不能运行,不知道应该怎么做
内部flash地址应该就是0x00000000,我就是这么设的
此帖出自ARM技术论坛
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

15
 
仿真时跑的是正确的,并不表示程序就是对的,如果复位地址没问题,那就是CPU初始化有问题,
尤其是“时钟PLL”,“存储器的参数”,因为仿真时仿真器会做一些初始化,这样就帮了你。
此帖出自ARM技术论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

16
 
那你再检查一下中断向量检验和的问题....如果已经注意了这个问题就不是它....
此帖出自ARM技术论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

17
 
因为是zlg的板子,那么肯定是用的他们demo咯,不应该是程序的什么设置的问题。。首先确保是能下载进去。。。然后在检查一些跳线的设置。。。我估计是跳线问题。。
此帖出自ARM技术论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表