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.
RamfuncsRunStart 在C文件中定义是UINT16* ,即是指针,为何在memcpy(&RamfuncsRunStart,
&RamfuncsLoadStart,
&RamfuncsLoadEnd - &RamfuncsLoadStart);以取址的方式传递到函数内部,本人理解为不需要取址.RamfuncsRunStart 的值表示的FLASH中的起始地址,同理RamfuncsRunEnd的值也示FLASH中的最后地址,MEMCPY参数为何以普通变量的方式传递呢?
extern Uint16 *RamfuncsLoadStart, *RamfuncsLoadEnd, *RamfuncsRunStart;
以上是声明变量类型,不用实参以把自已的地址传进去吧。
Ramfuncsloadstart,ramfuncsloadend,ramfuncsrunstart 是指向UINT16的指针变量,还是一个普通的UINT16变量,我实在迷或,查以前的ccs版本是UINT16,现在用的CCS6.0是UINT16*,而MEMCOPY原型都相同,何故,引用,传递三个变量的方法也一样。请TI解答。
这是两个函数memcopy()和memcpy()., 建议用后者,关于这两个函数的具体差别,请参考:
http://e2e.ti.com/support/microcontrollers/c2000/f/171/t/197807
http://www.deyisupport.com/question_answer/microcontrollers/c2000/f/56/t/93973.aspx
我也发现了您这个问题,请问您现在搞懂了么????我是移植过程遇到这个问题,从f28035到f28027. 源文件中使用unit16* 配合memcopy没报错。。。我放入f28027就出问题了,报错。