Part Number:SM470R1B1M-HT
TI大神好,
问题描述:问题类似于将一个常用C函数放到RAM执行。
我希望在程序运行中,通过ICF文件initialize manually的方式,在某些特定时刻,调用程序将部分库函数搬移到RAM上运行,具体是希望搬移<flash470.h>提供的函数。在测试中用文档给的方法可以正确manually initialize自己创建的任何函数,但是无法搬移readonly的库函数。 原因似乎是看不到函数原型,没办法定义库函数的section,无论在头文件或外部引用处定义其section都无效(就像试图给memcpy这种函数定义section一样)。请问有没有解决方案呢?
注:希望实现manually,而不是initialize by copy。后者经尝试可以将readonly或所需函数的.o文件放入RAM来实现,但不能实时自主控制。
Cherry Zhou:
您好我们已收到您的问题并升级到英文论坛寻求帮助,如有答复将尽快回复您。谢谢。
,
Cherry Zhou:
您好,十分抱歉我们目前没有熟悉 SM470R1B1M 的工程师。
Yunbai Chen 说:通过ICF文件initialize manually的方式,在某些特定时刻,调用程序将部分库函数搬移到RAM上运行,具体是希望搬移<flash470.h>提供的函数。在测试中用文档给的方法可以正确manually initialize自己创建的任何函数,但是无法搬移readonly的库函数。 原因似乎是看不到函数原型,没办法定义库函数的section,无论在头文件或外部引用处定义其section都无效(就像试图给memcpy这种函数定义section一样)
请问您指的搬移具体是什么功能?此外您能否提供下您参考的是哪个文档中的哪一部分?
对工程师更熟悉的其他器件来说,如果想从 RAM 运行代码,需要手动将代码从闪存复制到 RAM ,然后将程序计数器设置为 RAM 来从 RAM 运行代码。