开贴布道,免费提供28XX技术支持,申请此版斑竹
我对28XX系列比较熟悉,大家有问题可以跟帖讨论,我每天晚上抽空回复 <br />当然,我不是万能的,尽我所能帮助大家,互相提高<br /><br />希望我个人的绵薄之力能够提高本版人气!建议废了这个版块
现在有了TI版,这个地方就是广告多些,没什么意义了<br /><br />不过有问题还是继续不光TI 有dsp的
adi的做的更少
其他的,基本都不叫DSP了以前有个ADI版的
后来关了,估计是效果不好我就有个2812
能不能给个最小系统电路图,能串口下载就可以了。。买不起仿真器。28系列不带外部ram的怎么仿真?
由于新的28没有外部ram接口,不能像2812那样仿真,并且新的28flash只能擦写100次。不能说我100次以内就可以搞好程序吧?6楼
6楼,原理图可以google到,但串口下载我没做过<br />建议试试<br />http://item.taobao.com/auction/item_detail-0db2-951737cc8c0a7dc575446692b0520bfb.htm<br /><br />7楼,尽量内部RAM仿真,程序比较大的话,就只好FLASH中仿真了,可以选择大容量RAM的芯片做开发,生产时换小RAM的型号电脑上没并口啊,这个50元的并口仿真器我知道
另外2812的flash可以烧多少次啊?2812的FLASH烧写次数
1000次,最少100次<br />手册上说的关于2812定时时间的问题,很基础。谢谢
请问2812哪些寄存器可以控制定时时间,越全越好。或者说影响频率的因素有哪些。我在一个工程中碰到算AD采样的频率,是周期中断触发AD中断。我找了找相关的寄存器,可是算得的结果不对。我知道肯定是我没算对。我找的有:<br />PLLCR=0x0A;//晶振30M,倍频后150M<br />ADCENCLK=1;//使能外设高速时钟频率<br />HISPCP=0x1;//2分频<br />T1CON.TPS=7;//128分频<br />T1CNT=0;T1PR=64;//64个机器周期<br />GPTCONA.T1TOADC=2;//周期中断<br /><br />请问还有没有别的可以影响?我算得的采样频率就是150M/2/128/64=9.15K,但是通过仪器测得是5.8K左右。<br />另外ADCTRL1.ACQ_PS,ADCTRL1.CPS,ADCTRL3.ADCCLKPS对采样周期有没有影响?他们3个影响什么?楼上
不知道你是用哪个定时器触发的?你可以看看《TMS320F2812原理与开发 苏奎峰》,我就不帮你查书了哦<br />这个书的电子版本,可以到hellodsp下载为啥30M晶振不能用
做了块板,F2812,供电芯片选的d301,1.9v,用30M无源晶振,dsp运行在150MHz,通过仿真器一切正常,可就是不能烧写到flash里,换成20MHz的晶振,工作在100MHz下就能烧写,请问这是为什么呢去TI版问问吧哪里有TI的工程师
13楼
<br />是不能烧写FLASH?还是烧写后运行不正常?2812烧写锁死的问题
请教:<br />在自己项目用的主板上调试发现<br />1.工程调试正常,在ram中运行程序正常;<br />2.改cmd文件编程到flash中运行也正常;<br />后来按照ti文档的“从flash拷贝全部程序到ram运行”更改cmd和部分文件后编译通过,但是编程到flash后,编程通过,但是程序未运行,而且flash被锁死;<br />(注:ti文档提供的工程“flash to ram"下载正常,flash未出现锁死现象)<br />这几天一直在査这个问题,但是仍然未果,请告知,不胜感激! <br />楼上
你这个估计是程序里有对FLASH加密的操作了,这种情况下如果不知道密码就没办法解锁,换个CPU吧可以确认程序里没有操作密码的部分
已经挂了两个cpu了,贵啊!<br />在怀疑是不是源程序太大溢出误写了密码区,如果是这样那芯片就太脆弱了<br />现在贴出我项目使用的cmd文件,请帮忙分析一下:<br />我的cmd文件:<br />MEMORY<br />{<br />PAGE 0: /* Program Memory */<br /> /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE1 for data allocation */<br /> RAM_L0L1 : origin = 0x008000, length = 0x002000 /* on-chip RAM */<br /> OTP : origin = 0x3D7800, length = 0x000400 /* on-chip OTP */<br /> FLASH_IJ : origin = 0x3D8000, length = 0x004000 /* on-chip FLASH */<br /> FLASH_GH : origin = 0x3DC000, length = 0x008000 /* on-chip FLASH */<br /> FLASH_EF : origin = 0x3E4000, length = 0x008000 /* on-chip FLASH */<br /> FLASH_CD : origin = 0x3EC000, length = 0x008000 /* on-chip FLASH */<br /> FLASH_AB : origin = 0x3F4000, length = 0x003F80 /* on-chip FLASH */<br /> CSM_RSVD : origin = 0x3F7F80, length = 0x000076 /* Part of FLASHA. Program with all 0x0000 when CSM is in use. */<br /> BEGIN_FLASH : origin = 0x3F7FF6, length = 0x000002 /* Part of FLASHA. Used for "boot to Flash" bootloader mode. */<br /> CSM_PWL : origin = 0x3F7FF8, length = 0x000008 /* Part of FLASHA. CSM password locations in FLASHA */<br /> RAM_H0 : origin = 0x3F8000, length = 0x002000 /* on-chip RAM */<br /> ROM : origin = 0x3FF000, length = 0x000FC0 /* Boot ROM */<br /> RESET : origin = 0x3FFFC0, length = 0x000002 /* part of boot ROM */<br /> VECTORS : origin = 0x3FFFC2, length = 0x00003E /* part of boot ROM */<br /><br /><br />PAGE 1 : /* Data Memory */<br /> /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE0 for program allocation */<br /> /* Registers remain on PAGE1 */<br /><br /> RAMM0 : origin = 0x000000, length = 0x000400 /* on-chip RAM block M0 */<br /> BOOT_RSVD : origin = 0x000400, length = 0x000080 /* Part of M1, BOOT rom will use this for stack */<br /> RAMM1 : origin = 0x000480, length = 0x000380 /* on-chip RAM block M1 */<br />}<br /><br />/**************************************************************/<br />/* Link all user defined sections */<br />/**************************************************************/<br />SECTIONS<br />{<br /><br />/*** Code Security Password Locations ***/<br /> csmpasswds : > CSM_PWL PAGE = 0 /* Used by file CSMPasswords.asm */<br /> csm_rsvd : > CSM_RSVD PAGE = 0 /* Used by file CSMPasswords.asm */ <br /><br />/*** User Defined Sections ***/<br /> codestart : > BEGIN_FLASH, PAGE = 0 /* Used by file CodeStartBranch.asm */<br /> wddisable : > FLASH_AB, PAGE = 0 /* Used by file CodeStartBranch.asm */ <br /> copysections : > FLASH_AB, PAGE = 0 /* Used by file SectionCopy.asm */ <br /><br />/* .reset is a standard section used by the compiler. It contains the */ <br />/* the address of the start of _c_int00 for C Code. /*<br />/* When using the boot ROM this section and the CPU vector */<br />/* table is not needed. Thus the default type is set here to */<br />/* DSECT */ <br /> .reset : > RESET, PAGE = 0, TYPE = DSECT<br /> vectors : > VECTORS PAGE = 0, TYPE = DSECT<br /><br />/*** Uninitialized Sections ***/<br /> .stack : > RAMM0 PAGE = 1<br /> .ebss : > RAMM1 PAGE = 1<br /> .esysmem : > RAMM1 PAGE = 1<br /><br />/*** Initialized Sections ***/ <br /> .cinit : LOAD = FLASH_AB, PAGE = 0 /* Load section to Flash */ <br /> RUN = RAM_H0, PAGE = 0 /* Run section from RAM */<br /> LOAD_START(_cinit_loadstart),<br /> RUN_START(_cinit_runstart),<br /> SIZE(_cinit_size)<br /><br /> .const : LOAD = FLASH_AB, PAGE = 0 /* Load section to Flash */<br /> RUN = RAM_H0, PAGE = 0 /* Run section from RAM */<br /> LOAD_START(_const_loadstart),<br /> RUN_START(_const_runstart),<br /> SIZE(_const_size)<br /><br /> .econst : LOAD = FLASH_AB, PAGE = 0 /* Load section to Flash */ <br /> RUN = RAM_H0, PAGE = 0 /* Run section from RAM */<br /> LOAD_START(_econst_loadstart),<br /> RUN_START(_econst_runstart),<br /> SIZE(_econst_size)<br /><br /> .pinit : LOAD = FLASH_AB, PAGE = 0 /* Load section to Flash */<br /> RUN = RAM_H0, PAGE = 0 /* Run section from RAM */<br /> LOAD_START(_pinit_loadstart),<br /> RUN_START(_pinit_runstart),<br /> SIZE(_pinit_size)<br /><br /> .switch : LOAD = FLASH_AB, PAGE = 0 /* Load section to Flash */ <br /> RUN = RAM_H0, PAGE = 0 /* Run section from RAM */<br /> LOAD_START(_switch_loadstart),<br /> RUN_START(_switch_runstart),<br /> SIZE(_switch_size)<br /><br /> .text : LOAD = FLASH_AB, PAGE = 0 /* Load section to Flash */ <br /> RUN = RAM_L0L1, PAGE = 0 /* Run section from RAM */<br /> LOAD_START(_text_loadstart),<br /> RUN_START(_text_runstart),<br /> SIZE(_text_size)<br />}<br /><br />/******************* end of file ************************/<br /><br />以下是ti提供的cmd文件<br />/*############################################################################<br /><br /> FILE: F281x_nonBIOS_flash.cmd<br /><br /> DESCRIPTION: Linker allocation for all sections. <br />############################################################################<br /> Author: Tim Love<br /> Release Date: March 2008<br />############################################################################*/<br /><br /><br />MEMORY<br />{<br />PAGE 0: /* Program Memory */<br /> /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE1 for data allocation */<br /> RAM_L0L1 : origin = 0x008000, length = 0x002000 /* on-chip RAM */<br /> OTP : origin = 0x3D7800, length = 0x000400 /* on-chip OTP */<br /> FLASH_IJ : origin = 0x3D8000, length = 0x004000 /* on-chip FLASH */<br /> FLASH_GH : origin = 0x3DC000, length = 0x008000 /* on-chip FLASH */<br /> FLASH_EF : origin = 0x3E4000, length = 0x008000 /* on-chip FLASH */<br /> FLASH_CD : origin = 0x3EC000, length = 0x008000 /* on-chip FLASH */<br /> FLASH_AB : origin = 0x3F4000, length = 0x003F80 /* on-chip FLASH */<br /> CSM_RSVD : origin = 0x3F7F80, length = 0x000076 /* Part of FLASHA. Program with all 0x0000 when CSM is in use. */<br /> BEGIN_FLASH : origin = 0x3F7FF6, length = 0x000002 /* Part of FLASHA. Used for "boot to Flash" bootloader mode. */<br /> CSM_PWL : origin = 0x3F7FF8, length = 0x000008 /* Part of FLASHA. CSM password locations in FLASHA */<br /> RAM_H0 : origin = 0x3F8000, length = 0x002000 /* on-chip RAM */<br /> ROM : origin = 0x3FF000, length = 0x000FC0 /* Boot ROM */<br /> RESET : origin = 0x3FFFC0, length = 0x000002 /* part of boot ROM */<br /> VECTORS : origin = 0x3FFFC2, length = 0x00003E /* part of boot ROM */<br /><br /><br />PAGE 1 : /* Data Memory */<br /> /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE0 for program allocation */<br /> /* Registers remain on PAGE1 */<br /><br /> RAMM0 : origin = 0x000000, length = 0x000400 /* on-chip RAM block M0 */<br /> BOOT_RSVD : origin = 0x000400, length = 0x000080 /* Part of M1, BOOT rom will use this for stack */<br /> RAMM1 : origin = 0x000480, length = 0x000380 /* on-chip RAM block M1 */<br />}<br /><br />/**************************************************************/<br />/* Link all user defined sections */<br />/**************************************************************/<br />SECTIONS<br />{<br /><br />/*** Code Security Password Locations ***/<br /> csmpasswds : > CSM_PWL PAGE = 0 /* Used by file CSMPasswords.asm */<br /> csm_rsvd : > CSM_RSVD PAGE = 0 /* Used by file CSMPasswords.asm */ <br /><br />/*** User Defined Sections ***/<br /> codestart : > BEGIN_FLASH, PAGE = 0 /* Used by file CodeStartBranch.asm */<br /> wddisable : > FLASH_AB, PAGE = 0 /* Used by file CodeStartBranch.asm */ <br /> copysections : > FLASH_AB, PAGE = 0 /* Used by file SectionCopy.asm */ <br /><br />/* .reset is a standard section used by the compiler. It contains the */ <br />/* the address of the start of _c_int00 for C Code. /*<br />/* When using the boot ROM this section and the CPU vector */<br />/* table is not needed. Thus the default type is set here to */<br />/* DSECT */ <br /> .reset : > RESET, PAGE = 0, TYPE = DSECT<br /> vectors : > VECTORS PAGE = 0, TYPE = DSECT<br /><br />/*** Uninitialized Sections ***/<br /> .stack : > RAMM0 PAGE = 1<br /> .ebss : > RAMM1 PAGE = 1<br /> .esysmem : > RAMM1 PAGE = 1<br /><br />/*** Initialized Sections ***/ <br /> .cinit : LOAD = FLASH_AB, PAGE = 0 /* Load section to Flash */ <br /> RUN = RAM_H0, PAGE = 0 /* Run section from RAM */<br /> LOAD_START(_cinit_loadstart),<br /> RUN_START(_cinit_runstart),<br /> SIZE(_cinit_size)<br /><br /> .const : LOAD = FLASH_AB, PAGE = 0 /* Load section to Flash */<br /> RUN = RAM_H0, PAGE = 0 /* Run section from RAM */<br /> LOAD_START(_const_loadstart),<br /> RUN_START(_const_runstart),<br /> SIZE(_const_size)<br /><br /> .econst : LOAD = FLASH_AB, PAGE = 0 /* Load section to Flash */ <br /> RUN = RAM_H0, PAGE = 0 /* Run section from RAM */<br /> LOAD_START(_econst_loadstart),<br /> RUN_START(_econst_runstart),<br /> SIZE(_econst_size)<br /><br /> .pinit : LOAD = FLASH_AB, PAGE = 0 /* Load section to Flash */<br /> RUN = RAM_H0, PAGE = 0 /* Run section from RAM */<br /> LOAD_START(_pinit_loadstart),<br /> RUN_START(_pinit_runstart),<br /> SIZE(_pinit_size)<br /><br /> .switch : LOAD = FLASH_AB, PAGE = 0 /* Load section to Flash */ <br /> RUN = RAM_H0, PAGE = 0 /* Run section from RAM */<br /> LOAD_START(_switch_loadstart),<br /> RUN_START(_switch_runstart),<br /> SIZE(_switch_size)<br /><br /> .text : LOAD = FLASH_AB, PAGE = 0 /* Load section to Flash */ <br /> RUN = RAM_L0L1, PAGE = 0 /* Run section from RAM */<br /> LOAD_START(_text_loadstart),<br /> RUN_START(_text_runstart),<br /> SIZE(_text_size)<br />}<br /><br />/******************* end of file ************************/<br />ccs3.1里有没有看运行时长的功能啊
尝试用“profile----clock----enable(view)”,感觉显示的数据很奇怪,应该不是时长或者运行时钟数;<br />关于2812程序下载到FLASH中运行的问题
您好,我有一个关于程序在flash中运行的问题。情况是这样的:程序A,简单的PWM生成程序,有AD中断,但中断服务程序中代码较简单;程序B:在程序A的基础上,将中断服务程序添加了几条运算,以调节PWM占空比。其中,程序A烧写到FLASH中运行良好,程序B在仿真模式下运行良好,在不更改A烧写设置的情况下,程序B烧写进入FLASH不能正常运行。请问是什么原因?该如何解决?
页:
[1]
2