如题,在ccs5.5平台上,用ioport关键字定义McBsp的PCR寄存器
ioport Uint16 * PCR=0x2C12
#define REG_PCR1 (*PCR)
将MCBSP的各个引脚配置为通用IO口,简单的通过一个定时器控制Dx的电平,发现仅当设置PCR的DX域的值时,程序跑不了几轮就飞了,但是当把这段代码注释掉之后,程序能正常运行。
代码在公司,明天再贴出来,使用XDS100V2仿真器和SEED-XDS506V2都是一样的结果,这是为何?
Shine:
volatile关键字用了么?
Devine:
回复 Shine:
感谢您的回复,我后来用的一个CSL的宏来读写的(PREG16(0x2C12)),还是一样。
但是,就在刚刚,我在家里自己的电脑上用这个工程,用同样的板子,发现又访问正常了,请问这是什么原因呢,都是同样的CCS版本(Code Composer Studio Version: 5.5.0.00077),工程详见附件,谢谢
Shine:
回复 Devine:
是不是CCS没安装好,试试把CCS卸载后重新安装。
Devine:
回复 Shine:
Shine Zhang:
你好,今天已经试过了,把那台电脑编译的out文件到这台电脑,一样能运行(这样可以证明,并不是CCS版本的原因)。
后来发现好像是仿真器的连接原因,可是我用的都是同一个仿真器(同样的USB线,同样的配置,同样的板子,除了电脑不同),但是使用CCS的Test Connection得到的是不同的结果,数据传输有误码率,详见附件,正常工作的电脑是自己的Dell笔记本(win7_x64),故障电脑是公司的ThinkPad T440p笔记本(win7_x86),有以下几个疑点:
1.不同笔记本的USB驱动能力不一样会导致XDS100v2 Test Connection结果不同么?驱动能力弱的会导致误码率增加么?
2.在线调试的时候,仿真器与CCS的连接有误码,会导致程序运行异常?(程序不是已经通过仿真器写入到DSP的ram了么?)
Shine:
回复 Devine:
试试重装一下驱动,xds100v2对系统的要求如下。http://processors.wiki.ti.com/index.php/System_Requirements