刚从C2000系列转到ARM570,驱动都配置得差不多了,我有以下疑问请大家帮我看看,
1.首先就是我在用DEMO板仿真的时候,我发现通过仿真器程序是直接烧进FLASH的,掉电程序不会丢失,不像C2000有RAM和FLASH两个CMD,可以选择烧入FLASH还是RAM,我的理解对吗?
2.C2000为了加快执行速度,会把FLASH中的一些函数拷贝到RAM中执行,使用#pragma CODE_SECTION(xxxxxx, "ramfuncs");就可以了,570有内置这样的预编译指令吗?怎么实现这个功能呢?
Susan Yang:
1 是的,默认是在FLASH的
2 相信下面的帖子会对您有所帮助
e2e.ti.com/…/413345
user5782599:
回复 Susan Yang:
感谢您的解答
对于问题2您推荐我看的帖子,我是完全理解它的原理的,拷贝flash中相应的函数到RAM中,我想问的是是否有相应的例程可以参考呢?我看到TI提供了参考的BOOT,里面肯定有FLASH拷贝RAM的函数,我可以参考BOOT吗?最好还是给我一个专门拷贝RAM的例程,BOOT例程有很多其他的关联函数,可能导致不是那么容易移植到应用程序。
另外我还想问一下,在570的实际使用中,我们需要做一些FLASH拷贝RAM加快执行速度吗?在C2000中这样的操作是很普遍的,许多函数都会拷贝RAM,因为我是做OBC/DC控制,对执行速度还是比较关注的
再次感谢
Susan Yang:
回复 user5782599:
很抱歉,我们目前没有相应的例程可以参考。但有相关的帖子您可以看一下,希望对您有所帮助:
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中运行,我也没有实际做过,所以只能给出一些建议,希望您能理解。