This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好,我现在使用的28335在flash烧写,我在每次进中断的时候都会IO点亮一盏灯出中断的时候关闭,由于频率问题,人眼看上去长亮,大部分情况下,都是能够正常启动的,中间存在某次灯不亮,按下reset键,恢复正常,这是什么原因造成的呢
Eric,您好,我在初始化的时候有设置一个点灯程序,跑飞的时候,跑飞的时候初始化灯亮,中断等不亮了,我中断中的点灯程序是
GpioDataRegs.GPADAT.bit.GPIO26 = 0;// 蓝灯亮
...........................中断中需要执行的函数体
GpioDataRegs.GPADAT.bit.GPIO26 = 1;// 蓝灯灭
出中断
每个函数体执行之前我都有一句
#pragma CODE_SECTION(CPU_TIMER1_ISR, "ramfuncs");
类似的话,函数复制到RAM中去了,我认为,但是我不知道是不是没有复制成功,是不是在搬运的过程中跑飞,但是我不知道如何解释,我有24块板子,烧写同样的程序,就几块出现这种问题,别且也是属于偶然跑飞的现象,难道别的板子现在同样存在跑飞的隐患?,非常困惑,谢谢啊
你在main的第一条语句放memcpy函数测试一下。另外把你程序中的memcpy函数复制上来看一下
或者,把你程序中除了iniflash之外的其他函数都不要复制到RAM,我怀疑是某个函数出现问题。
其他板子可能也会有相同的隐患。
Eric
您好,我的memcpy是使用编译器内部,memcpy(&RamfuncsRunStart,&RamfuncsLoadStart,(Uint32)&RamfuncsLoadEnd );我从SPRA98L上作参考,发现他们有这么写
asm(" EALLOW"); // Enable EALLOW protected register access
memcpy((void *)0x000D00, &PieVectTableInit, 256);
asm(" EDIS");
我没有把这个中断向量表进行COPY会有什么影响吗,我从上面下载下来的例程,也是在版本CCS5上实现的,请问CCS3.3的编写环境是不是和这个差别不大,谢谢