各位大神:
我用的是CCS3.3,F28027,XDS100
当使用memcpy()或memset()函数时,编译没有问题,出现程序跑飞(跑到某个中断里面去),将其屏蔽,一切正常,这是什么原因,求解???
Young Hu:
加入string.h了么?是不是需要搬移的数据太大了?
各位大神:
我用的是CCS3.3,F28027,XDS100
当使用memcpy()或memset()函数时,编译没有问题,出现程序跑飞(跑到某个中断里面去),将其屏蔽,一切正常,这是什么原因,求解???
Mak he:
回复 Young Hu:
在头文件中包含了:#include <string.h>,但string.h源文件没有包含到include文件夹里面去,不知道string.h能在哪里找到,是要包含某个库吗?
编译都没有报错,但运行就跑飞,搬移的数据也不是很多,后来我做了一次测试,只搬移10个字节都不行,也跑飞。
各位大神:
我用的是CCS3.3,F28027,XDS100
当使用memcpy()或memset()函数时,编译没有问题,出现程序跑飞(跑到某个中断里面去),将其屏蔽,一切正常,这是什么原因,求解???
Eric Ma:
回复 Mak he:
请问你的memcpy函数是如何调用的,里面的参数如何填写?
memcpy((uint16_t *)&RamfuncsRunStart,(uint16_t *)&RamfuncsLoadStart, (unsigned long)&RamfuncsLoadSize);
第一个参数是运行的地址,第二个参数是复制的起始地址。
在memcpy函数下面的函数设个断点,看能否执行到。
Eric
各位大神:
我用的是CCS3.3,F28027,XDS100
当使用memcpy()或memset()函数时,编译没有问题,出现程序跑飞(跑到某个中断里面去),将其屏蔽,一切正常,这是什么原因,求解???
Mak he:
回复 Eric Ma:
Eric,
你好!我的用法类似如下:
Uint16 uiDestBuf[10]={0};
Uint16 uiSourBuf[10]={1,2,3,4,5,6,7,8,9,10};
memcpy(uiDestBuf,uiSourBuf,10);
我也测试了一下,在memcpy()设断点,现象时还没到断点就跑飞到一个中断里面去了,我包含#include<string.h>,但在include文件夹里没有看到string.h,string.h是在某个库里面吗?
各位大神:
我用的是CCS3.3,F28027,XDS100
当使用memcpy()或memset()函数时,编译没有问题,出现程序跑飞(跑到某个中断里面去),将其屏蔽,一切正常,这是什么原因,求解???
Eric Ma:
回复 Mak he:
Mak
那就程序应该是在中断跑飞的,并不是在memcpy啊。
string.h我觉得没问题,要是找不到系统早报错了。它在这个路径下:C:\ti\ccsv5\tools\compiler\c2000_6.2.5\include。
你应该查看一下程序在中断中执行什么,为什么会跑飞。
Eric
各位大神:
我用的是CCS3.3,F28027,XDS100
当使用memcpy()或memset()函数时,编译没有问题,出现程序跑飞(跑到某个中断里面去),将其屏蔽,一切正常,这是什么原因,求解???
fan mao:
回复 Young Hu:
你好。请问数据比较大和memset有什么关系呢?memset设置比较大的区域清零,难道就会无缘无故跑飞吗?
各位大神:
我用的是CCS3.3,F28027,XDS100
当使用memcpy()或memset()函数时,编译没有问题,出现程序跑飞(跑到某个中断里面去),将其屏蔽,一切正常,这是什么原因,求解???
Eric Ma:
回复 fan mao:
你用Memset跑飞吗?会不会是把一些代码或变量给清掉。
ERIC
各位大神:
我用的是CCS3.3,F28027,XDS100
当使用memcpy()或memset()函数时,编译没有问题,出现程序跑飞(跑到某个中断里面去),将其屏蔽,一切正常,这是什么原因,求解???
fan mao:
回复 Eric Ma:
我是用memset将uboot中初始的malloc的内存清0,大小有0x404000字节。应该不是把代码或者变量清理掉了。这个位置内没有代码和变量。
关键是在memset中途跑飞的。而且跑飞的位置不确定。MMU虽然开启了。但是虚拟地址和物理地址是正对应的,我怀疑和cache有关。
关闭mmu 虽然可以使得memset正常工作。但是问题还是存在。
各位大神:
我用的是CCS3.3,F28027,XDS100
当使用memcpy()或memset()函数时,编译没有问题,出现程序跑飞(跑到某个中断里面去),将其屏蔽,一切正常,这是什么原因,求解???
Eric Ma:
回复 fan mao:
看门狗有没有关掉呢。另外这个问题应该去processor那边会有更专业的回复。
ERIC
TI中文支持网



