硬件:280025C controlcard
ide: CCS10.1
问题描述:
如下所示,我的程序中初始化完成后会点亮一只LED,然后在主while中执行calculateCRC16()这个函数。
然后问题来了,这个函数有个实参,数组TraData的指针,这个数组默认长度是100,这种情况下,仿真是可以正常跑的,下载到FLASH后重启,程序跑飞,LED没点亮。
然后我把这个数据的长度改成10,程序下载到FLASH中,重启是能够正常运行的。
CrcCheckTemp = CalculateCRC16(TraData,5); // 这句话会在while中执行
uint16_t CalculateCRC16(unsigned char const *msgPtr, uint16_t msgLen)
{
// 为了查找问题,这个函数没执行任何操作,但是还是上面描述的现象,TraData数组长度不同,现象不同,一种重启正常运行,一种重启跑飞
}
顺便贴上上述两种情况的map文件和工程的cmd配置文件。百思不得其解,希望收到您的答复。
sci_boot_err_map.txt
f28002x_flash_cpu_is_eabi_cmd.txt
Susan Yang:
请问您是如何定义数组的呢?
您可以看一下
www.ti.com/…/spra958l.pdf的4.6.2 Method 2: Running a Specific Constant Array from RAM 的相关内容
user6371047:
回复 Susan Yang:
您好,我定义数组的方式为:unsigned char TraData[100];
Susan Yang:
回复 user6371047:
谢谢反馈,请您查看一下私信
Susan Yang:
回复 user6371047:
您现在情况如何?我申请的280025的开发板到了,可以测试您的工程了。若是还未解决的话,您可以私信您的工程,我们来测试一下
TI中文支持网



