打印

上传一篇原创的**,讲CMD文件的原理和使用。

[复制链接]
楼主: 玄德
手机看帖
扫描二维码
随时随地手机跟帖
41
夏日飞鹰| | 2010-3-21 09:55 | 只看该作者 回帖奖励 |倒序浏览
楼主,强人啊,谢了

使用特权

评论回复
42
aelvis| | 2010-6-18 16:23 | 只看该作者
下载了,thank you !  学习-ing

使用特权

评论回复
43
shangken| | 2010-6-21 14:42 | 只看该作者
准备下下来看看,先谢过了,顶........................:D

使用特权

评论回复
44
witty01| | 2010-7-8 10:16 | 只看该作者
楼主你好
我碰到一个问题,看了您的**,觉得你对cmd理解的比较透彻,所以想请教一下,问题也许很菜,但是现在的我看来真的挺难理解的

我用的是2407A的开发板,MP/MC的引脚是接地的,也就是复位之后程序应该从内部的0000H开始,但是开发板的例程里面的cmd文件却是这样定义的
PAGE 0: VECS: origin = 0x8000,  length 0x040

一切都正常,但是我总觉得origin=0X0000,这样试了,无法load提示错误,是为什么呢?

然后我看您**里面说程序空间最好不要从0X8000开始,然后他这个程序还用了,然后还是对的,我从0X0000开始还不对,我觉得挺难理解的,请问,原因是什么?

使用特权

评论回复
45
玄德|  楼主 | 2010-7-9 21:14 | 只看该作者
本帖最后由 玄德 于 2010-7-10 20:54 编辑

to witty01:
归纳你的困惑,是两个问题:
1、程序从0x8000开始,明明是可以运行的,为什么要说“最好不要从0x8000开始”呢?
      答:程序从8000开始存储,确实是可以运行的。我自己也这么用过,走个跑马灯之类的程序确实没有问题;但后来用到某些中断时,就出现莫名其妙的问题,诸如“不产生中断”。这样的情况,别人也有遇到过的,并在21ic的论坛上寻求答案;我回答过这样的问题,提问者还给我发邮件表示感谢。你可以搜我的ID,去找找那个帖子。
      有些例程从8000开始存储,并不能说是错误,但确实误导了很多人。
      另外,从0x0000开始存储有个方便之处:在仿真器调试成功、进入烧写阶段时,CMD文件可以不变;如果从8000开始,则只能用于仿真调试阶段(自己去考虑为什么)。
      至于为什么从8000存储会产生中断问题,我没有深究下去,也没有深究的必要了。

2、改为“从0x0000开始”,为什么“无法load,提示错误”呢?
      答:这种情况,估计你的MP/MC引脚仍然是接地的。看下2407的空间分配图,MP/MC=0时,0x0000的位置是FLASH存储器!这时已经不能再“load”了,而是要通过烧写插件进行“progarm”。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
witty01 + 1 非常感谢
46
witty01| | 2010-7-12 10:51 | 只看该作者
46# 玄德

谢谢你,解释的很明白

使用特权

评论回复
47
你我的PIC| | 2010-7-24 21:56 | 只看该作者
谢谢楼主的指点,小弟感激不尽!

使用特权

评论回复
48
ar_dong| | 2010-7-25 07:25 | 只看该作者
学习了 谢谢

使用特权

评论回复
49
xiaowu5016| | 2010-7-25 16:53 | 只看该作者
刚下了,谢谢LZ
虽然我用的都是使用DSP/BIOS配置自动生成的CMD
但是还是想学习自己怎么写CMD

使用特权

评论回复
50
boluomi999| | 2010-7-26 09:01 | 只看该作者
学习中

使用特权

评论回复
51
rclsq| | 2010-8-11 15:05 | 只看该作者
多谢

使用特权

评论回复
52
wxl2010| | 2010-8-22 16:03 | 只看该作者
我也学了DSP 感觉很难:(

使用特权

评论回复
53
itelectron| | 2010-8-25 15:59 | 只看该作者
楼住 没有说明  0X40 -0X43  是 密码空间  不能随便用 很危险的.

使用特权

评论回复
54
Tom2007| | 2010-8-25 23:03 | 只看该作者
学习了  谢谢分享

使用特权

评论回复
55
xiaowai| | 2010-9-4 23:20 | 只看该作者
感谢 接触DSP是两年前
但是一直没有正式的去学
但是看了下 几位高手的**后,就想去学了 呵呵

使用特权

评论回复
56
zoupeng139| | 2010-9-10 14:07 | 只看该作者
2812烧录完成后 ,关电源开电源,程序运转正常,再关掉电源,再开机就不能正常运行了  是怎么回事
若是再重新烧录,又可以运行,但是只能像上面一样,运行一次,奇怪的现象

使用特权

评论回复
57
wl1983620| | 2010-11-3 09:24 | 只看该作者
楼主您好: 我有个疑问就是2812的ram是18k.,咱们仿真调试的时候程序量大于18的话,这个怎么办啊?调试成功后怎么烧写flash?谢谢您

使用特权

评论回复
58
yxfyxf2000| | 2010-11-3 16:54 | 只看该作者
写的相当详细和通俗

使用特权

评论回复
59
lusj| | 2010-11-12 11:28 | 只看该作者
谢谢!

使用特权

评论回复
60
yuhundehao| | 2010-11-19 22:14 | 只看该作者
新手,下下来学习!

使用特权

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

本版积分规则