我们利用TI的DK-LM3S9D96开发版开发一称量仪表。在开发中需要显示屏显示数据,我们采用了SSI功能来传送数据。使用的是SSI1口。程序编完进行调试。用CCS采用ICDI调试时,显示屏正常工作,能够显示需要的数据,但是当采用CCS生成的BIN文件烧制进芯片后却无法显示芯片了。于是我们改用MDK开发工具,无论是使用MDK的ICDI调试还是将MDK生成的BIN文件烧制进芯片均无法使屏显示数据。顺便说下,无论是CCS还是MDK生成的BIN文件,烧制进芯片后,其他功能均正常,就是屏无法显示。我们现在就非常奇怪,为什么CCS调试时屏就显示正常,改用MDK调试屏就显示不了呢?在MDK中原来的程序代码没有改,除了启动文件外。再就是CCS调试正常,生成的BIN文件烧制进芯片后,其他的功能正常,显示屏却和MDK调试时一样不能显示了?
我们进一步查找,在MDK调试时,采用断点查看SSI1口寄存器中的数据,发现在进行SSI1口配置时均正常,开始进行数据传递后出现异常,其DR中全部显示0X0000,表示无数据进入,其他寄存器显示数据可以查看附件。从SSI1寄存器的数据显示,很明显出现接收超时和发生溢出。我们就觉得比较奇怪,为什么CCS调试时却不出现这些问题呢?于是我们改用CCS调试,同时监视该SSI1寄存器。我们惊奇的发现,监视的寄存器的数值和MDK监视的数值完全一样。但是下面的屏却显示正常了,包括显示的数据正是我们需要显示的数据。
我们现在不知道怎么办了?你说程序编写错误,那为什么CCS调试的时候却能正常显示,而MDK就不能呢?你说那就用CCS生成的程序烧制吧,但烧进去显示却也不能显示了。
我们后来采用SSI0口,一样出现同样的问题。
这里恳求高手指点一下,小第感激不尽。我们现在已经无法开展下去了。