两种方式读上来的数据不一样,memcpy读上来的数据全都是第一个地址的数据
------解决方案--------------------
memcpy和CONTEX-M3内核没关系,它是C语言的标准库函数,理论上只要你的编译器支持C,就支持memcpy。
你这里读出的数据不对,可能跟你的地址有关系,0x80001ff0处是RAM么,如果是RAM或NOR FLASH,不应该出现这种问题,你就得调试一下了。
如果这个地址是个特殊的地址,只能以8bits的方式来访问的话,那么就不能用memcpy函数,因为只所以再C语言中推荐使用memcpy,是因为这个函数会根据不同的CPU进行优化,比如在ARM上,底层汇编有命令支持读连续的32bits的空间,这样一条指令就可以读一片内存了,memcpy会根据你给出的字节个数对汇编指令进行优化。
------解决方案--------------------
支持楼上的
memcpy和CONTEX-M3内核确实没关系,它只是C的库函数
你用的是那款处理器,看看内存分配,或者看一下memcpy函数的使用说明
------解决方案--------------------
支持1楼的说法,确实不行了,楼主自己写个类似的函数吧。或者用strncpy看行不行哈。