夏日飞鹰 发表于 2010-3-21 09:55

楼主,强人啊,谢了

aelvis 发表于 2010-6-18 16:23

下载了,thank you !学习-ing

shangken 发表于 2010-6-21 14:42

准备下下来看看,先谢过了,顶........................:D

witty01 发表于 2010-7-8 10:16

楼主你好
我碰到一个问题,看了您的**,觉得你对cmd理解的比较透彻,所以想请教一下,问题也许很菜,但是现在的我看来真的挺难理解的

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

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

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

玄德 发表于 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”。

witty01 发表于 2010-7-12 10:51

46# 玄德

谢谢你,解释的很明白

你我的PIC 发表于 2010-7-24 21:56

谢谢楼主的指点,小弟感激不尽!

ar_dong 发表于 2010-7-25 07:25

学习了 谢谢

xiaowu5016 发表于 2010-7-25 16:53

刚下了,谢谢LZ
虽然我用的都是使用DSP/BIOS配置自动生成的CMD
但是还是想学习自己怎么写CMD

boluomi999 发表于 2010-7-26 09:01

学习中

rclsq 发表于 2010-8-11 15:05

多谢

wxl2010 发表于 2010-8-22 16:03

我也学了DSP 感觉很难:(

itelectron 发表于 2010-8-25 15:59

楼住 没有说明0X40 -0X43是 密码空间不能随便用 很危险的.

Tom2007 发表于 2010-8-25 23:03

学习了谢谢分享

xiaowai 发表于 2010-9-4 23:20

感谢 接触DSP是两年前
但是一直没有正式的去学
但是看了下 几位高手的**后,就想去学了 呵呵

zoupeng139 发表于 2010-9-10 14:07

2812烧录完成后 ,关电源开电源,程序运转正常,再关掉电源,再开机就不能正常运行了是怎么回事
若是再重新烧录,又可以运行,但是只能像上面一样,运行一次,奇怪的现象

wl1983620 发表于 2010-11-3 09:24

楼主您好: 我有个疑问就是2812的ram是18k.,咱们仿真调试的时候程序量大于18的话,这个怎么办啊?调试成功后怎么烧写flash?谢谢您

yxfyxf2000 发表于 2010-11-3 16:54

写的相当详细和通俗

lusj 发表于 2010-11-12 11:28

谢谢!

yuhundehao 发表于 2010-11-19 22:14

新手,下下来学习!
页: 1 2 [3] 4 5 6 7
查看完整版本: 上传一篇原创的**,讲CMD文件的原理和使用。