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.

关于570把程序烧入FLASH和拷贝函数到RAM执行的问题



刚从C2000系列转到ARM570,驱动都配置得差不多了,我有以下疑问请大家帮我看看,

1.首先就是我在用DEMO板仿真的时候,我发现通过仿真器程序是直接烧进FLASH的,掉电程序不会丢失,不像C2000有RAM和FLASH两个CMD,可以选择烧入FLASH还是RAM,我的理解对吗?

2.C2000为了加快执行速度,会把FLASH中的一些函数拷贝到RAM中执行,使用#pragma CODE_SECTION(xxxxxx, "ramfuncs");就可以了,570有内置这样的预编译指令吗?怎么实现这个功能呢?

  • 1 是的,默认是在FLASH的

    2 相信下面的帖子会对您有所帮助

    e2e.ti.com/.../413345
  • 感谢您的解答

    对于问题2您推荐我看的帖子,我是完全理解它的原理的,拷贝flash中相应的函数到RAM中,我想问的是是否有相应的例程可以参考呢?我看到TI提供了参考的BOOT,里面肯定有FLASH拷贝RAM的函数,我可以参考BOOT吗?最好还是给我一个专门拷贝RAM的例程,BOOT例程有很多其他的关联函数,可能导致不是那么容易移植到应用程序。

    另外我还想问一下,在570的实际使用中,我们需要做一些FLASH拷贝RAM加快执行速度吗?在C2000中这样的操作是很普遍的,许多函数都会拷贝RAM,因为我是做OBC/DC控制,对执行速度还是比较关注的

    再次感谢

  • 很抱歉,我们目前没有相应的例程可以参考。但有相关的帖子您可以看一下,希望对您有所帮助:

    e2e.ti.com/.../210010

    关于在RAM中的运行速度,国外工程师的说法是

    It is faster to access the internal RAM than the flash. About how faster, it depend on how often your code access the memory.

    e2e.ti.com/.../123328

    关于在RAM中运行,我也没有实际做过,所以只能给出一些建议,希望您能理解。