共2条
1/1 1 跳转至页
问
我现在正在学习DSP,现在对DSP有如下几点不太理解,不知道我的理解是否正确,请同行们帮助
1、2407的程序存储器分为片内和片外两部分,内部程序存储器的空间是0000H-7FFFH,外部的程序存储器空间是8000H-FFFFH,而DSP的一个引脚MP/MC上的电平决定了DSP是使用外部存储器还是使用内部存储器,当MP/MC=0,使用内部存储器,当MP/MC=1 时,DSP使用外部存储器。那么如果我的程序大于32K但小于64K,那末我如何安排我的程序,是片内存一部分,然后把剩下的存到片外吗?CC2000有这样的功能吗?还是需要专门的编程器,或者还是通过JTAG下载?
2、DSP2407的开发过程,是不是这样的:
我先做一块实验板,上面做出JTAG接口,再扩展一个大的调试用的RAM,我调试的时候把程序直接下载到外部RAM中去,等把所有的功能都调试好了后再做产品?这时产品上可以不要扩展RAM,直接用片内的RAM空间就够用。然后在产品板上留出JTAG接口,专门用于下载程序。那我觉得这时的产品板上留有的JTAG接口就显得有些多余,如果产品板上不留JTAG接口的话,那我的程序通过什么途径下载到存储器里面去,难道要我专门做一台下载程序的所谓的编程器吗?
3、如果我的程序直接使用片内的RAM和FLASH空间就足够了,是不是我就不用什么bootloader了,直接就在片内Flash中执行了,还是我仍旧必需要扩展外部RAM和ROM,然后专做一个Bootloader,把片外的ROM中的程序搬到片外的RAM中去,然后执行?
3、如果我以前用汇编语言所编的程序大概在32K左右(80c198CPU)?我现在改用DSP后,如果实现同样的功能的话,程序大小有变化吗?如果没有变化,是否意味着我可以用DSP2406 ?
4、DSP2406不带有外部存储器接口,那么,我怎么样调试程序呢?片内的RAM才2.5Kwords,那么是否意味着我必需要把程序烧写到片内的Flash 中去进行调试,那样的话岂不是太麻烦了吗?
以上几个问题真心希望版主抽出时间给予解答,如果您是有经验的DSP开发者,也非常希望您能发表您的看法! 答 1: 关注中。。。。。。 答 2: 不是斑竹的回答1.可以最大用到64K,但是在DSP.CMD中指明不同的块和基地址,有一个块指向片内,一个片指向片外.一般要用到32K以上,就要上万行的C代码.
2.使用串口下载烧写FLASH,具体方法很多介绍的.
3.只要烧到FLASH中,就不用片外的了.烧FLASH需要专门程序和方法,开发工具都提供的.
4.如果是数据处理的程序,程序体积必然缩小不少!2406的32K的FLASH是字不是字节!如果照字节算,是64K.
5.不能用2406调试,应该用2407的外扩RAM,否则无法加断点调试.调试通过了再写2406.可以买块开发板,省钱省事省力. 答 3: 谢谢freefish的回答,还有问题1、那我现在在开发板上把程序调试好了,我怎样把已经调试编译好的程序下载到我的2406里面的flash里面去,我是先烧写2406再去把它焊接到我的产品板上吗?还是先焊接到我的产品板上,再烧写?如果事后者,那我的产品板上就必须留有Jtag接口,是不是?
2、你说的通过串口烧写,也必须要有一个烧写程序运行在RAM中吧?那我的烧写程序如何下载到片内RAM中呢?还是通过Jtag吗?
1、2407的程序存储器分为片内和片外两部分,内部程序存储器的空间是0000H-7FFFH,外部的程序存储器空间是8000H-FFFFH,而DSP的一个引脚MP/MC上的电平决定了DSP是使用外部存储器还是使用内部存储器,当MP/MC=0,使用内部存储器,当MP/MC=1 时,DSP使用外部存储器。那么如果我的程序大于32K但小于64K,那末我如何安排我的程序,是片内存一部分,然后把剩下的存到片外吗?CC2000有这样的功能吗?还是需要专门的编程器,或者还是通过JTAG下载?
2、DSP2407的开发过程,是不是这样的:
我先做一块实验板,上面做出JTAG接口,再扩展一个大的调试用的RAM,我调试的时候把程序直接下载到外部RAM中去,等把所有的功能都调试好了后再做产品?这时产品上可以不要扩展RAM,直接用片内的RAM空间就够用。然后在产品板上留出JTAG接口,专门用于下载程序。那我觉得这时的产品板上留有的JTAG接口就显得有些多余,如果产品板上不留JTAG接口的话,那我的程序通过什么途径下载到存储器里面去,难道要我专门做一台下载程序的所谓的编程器吗?
3、如果我的程序直接使用片内的RAM和FLASH空间就足够了,是不是我就不用什么bootloader了,直接就在片内Flash中执行了,还是我仍旧必需要扩展外部RAM和ROM,然后专做一个Bootloader,把片外的ROM中的程序搬到片外的RAM中去,然后执行?
3、如果我以前用汇编语言所编的程序大概在32K左右(80c198CPU)?我现在改用DSP后,如果实现同样的功能的话,程序大小有变化吗?如果没有变化,是否意味着我可以用DSP2406 ?
4、DSP2406不带有外部存储器接口,那么,我怎么样调试程序呢?片内的RAM才2.5Kwords,那么是否意味着我必需要把程序烧写到片内的Flash 中去进行调试,那样的话岂不是太麻烦了吗?
以上几个问题真心希望版主抽出时间给予解答,如果您是有经验的DSP开发者,也非常希望您能发表您的看法! 答 1: 关注中。。。。。。 答 2: 不是斑竹的回答1.可以最大用到64K,但是在DSP.CMD中指明不同的块和基地址,有一个块指向片内,一个片指向片外.一般要用到32K以上,就要上万行的C代码.
2.使用串口下载烧写FLASH,具体方法很多介绍的.
3.只要烧到FLASH中,就不用片外的了.烧FLASH需要专门程序和方法,开发工具都提供的.
4.如果是数据处理的程序,程序体积必然缩小不少!2406的32K的FLASH是字不是字节!如果照字节算,是64K.
5.不能用2406调试,应该用2407的外扩RAM,否则无法加断点调试.调试通过了再写2406.可以买块开发板,省钱省事省力. 答 3: 谢谢freefish的回答,还有问题1、那我现在在开发板上把程序调试好了,我怎样把已经调试编译好的程序下载到我的2406里面的flash里面去,我是先烧写2406再去把它焊接到我的产品板上吗?还是先焊接到我的产品板上,再烧写?如果事后者,那我的产品板上就必须留有Jtag接口,是不是?
2、你说的通过串口烧写,也必须要有一个烧写程序运行在RAM中吧?那我的烧写程序如何下载到片内RAM中呢?还是通过Jtag吗?
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图四被打赏50分 | |
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 |