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.
工具与软件:
您好!
我要测试的程序结构涉及从一个或两个 ISR 调用的多个函数。
程序被加载到闪存中、并允许从我提供的 RAM 中执行 #pragma code_section (".TI.ramfunc"); 。 我是否需要对在 ISR 内部调用的所有函数执行此操作、或者这些函数是否自动从 RAM 执行? 。 我还有一些全局变量。 我是否需要更改它们的定义方式?
谢谢!
阿迪亚
尊敬的 Aditya:
您需要包含 #pragma code_section (".TI.ramfunc") 以及加载到闪存并从 RAM 执行的所有函数的编译过程。
请查看类似主题- (+) CCSTUDIO-C2000:关于 CODE_SECTION Pragma - C2000微控制器论坛- C2000 ︎ 微控制器- TI E2E 支持论坛
谢谢
阿斯温
您好、Aswin、
感谢链接到这个主题。 我不理解优化的效果。
基本上、如果我有
interrupt void ISR1() { function1(); } void function1() { Statements...; }
我是否需要将其包括在内、就像
#pragma CODE_SECTION(".TI.ramfunc") interrupt void ISR1() { function1(); } void function1() { Statements...; }
或
#pragma CODE_SECTION(".TI.ramfunc") interrupt void ISR1() { function1(); } #pragma CODE_SECTION(".TI.ramfunc") void function1() { Statements...; }
谢谢。
- Aditya
尊敬的 Aditya:
您需要遵循第二种方法。 您需要在要从 RAM 执行的函数之前添加该函数。
请 参考这些#pragma 定义的 flash.h/.c 文件中的 driverlib 代码。
我们需要为所有针灸单独添加它。
谢谢
阿斯温
感谢您的澄清。 除了性能降低之外,如果我不为 ISR1()调用的所有函数添加此项,会有什么问题吗?
谢谢!
阿迪亚
尊敬的 Aditya:
如果您需要从 RAM 执行、则应采用 Pragma 格式。
如果不包含所有函数、则不会出现其他问题。
我目前正在关闭该请求单、如果您需要进一步的帮助、请告诉我。
谢谢
阿斯温