TI论坛
直播中

刘埃生

7年用户 1687经验值
私信 关注
[问答]

在InitSysCtrl()之后用memcpy没有出错是为什么?

在DSP2803x_usDelay.asm中看到说若要在FLASH中运行需要在InitSysCtrl()之前用memcpy来COPY OVER THE SECtiON "ramfuncs",防止 InitSysCtrl()中有DELAY_US()出错,但是官方的例程确实是在InitSysCtrl()之后搬移程序到RAM中运行,且我一直都是在InitSysCtrl()之后用memcpy,却没有出错,这是为什么呢?

回帖(8)

周静

2018-9-17 15:10:26
shixiang du,你使用哪个版本的controlsuite,我这边v 3.4.5没有这样的备注,是软件更改升级了,你使用最新版本的。
举报

刘埃生

2018-9-17 15:28:36
引用: euagh1985 发表于 2018-9-17 17:42
shixiang du,你使用哪个版本的controlsuite,我这边v 3.4.5没有这样的备注,是软件更改升级了,你使用最新版本的。

你好,我用的是V3.4.6,例程是V130。应该就是最新的版本
举报

刘埃生

2018-9-17 15:36:01
引用: euagh1985 发表于 2018-9-17 17:42
shixiang du,你使用哪个版本的controlsuite,我这边v 3.4.5没有这样的备注,是软件更改升级了,你使用最新版本的。

我很想知道这个memcpy函数是在什么时候将程序从FLASH复制到RAM的,有的人说是在执行main()函数之前就搞定了,所以放在InitSysCtrl()前后都无所谓,但是我还是不太确定。请问你知道吗?
举报

胡红枚

2018-9-17 15:41:59
引用: horayte 发表于 2018-9-17 18:08
我很想知道这个memcpy函数是在什么时候将程序从FLASH复制到RAM的,有的人说是在执行main()函数之前就搞定了,所以放在InitSysCtrl()前后都无所谓,但是我还是不太确定。请问你知道吗?

新的ccs例程中都是TI做了那一部分搬移   你只需设一下宏定义就好
所以和以前的说法不一样了    以前需要自己在工程中增加搬移的一段代码
代码需要放到初始化系统控制之后   才能正常运行
举报

更多回帖

发帖
×
20
完善资料,
赚取积分