您好!
我使用的是 TMS320F28388D 控制器、C2000编译器18.3.1.LTS。
我想减少在 ROM 模型中执行自动初始化所需的时间。
我们是否可以减少下面这些变量的全局变量的自动初始化,如果是的话?
例如:
#pragma DATA_SECTION (NmiIntertRegs、"NmiIntertRegsFile");
volatile struct NMI_INTRUPT_regs NmiIntraptRegs;
此致、
Nagesh
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.
您好!
我使用的是 TMS320F28388D 控制器、C2000编译器18.3.1.LTS。
我想减少在 ROM 模型中执行自动初始化所需的时间。
我们是否可以减少下面这些变量的全局变量的自动初始化,如果是的话?
例如:
#pragma DATA_SECTION (NmiIntertRegs、"NmiIntertRegsFile");
volatile struct NMI_INTRUPT_regs NmiIntraptRegs;
此致、
Nagesh
您好、Vivek、
我使用的是编译器版本:TI v18.1.3.LTS
编译器标志如下所示
-v28 -ml -mt --float_support=fpu32 -off --include_path="C:/Users/E537053/Documents/GBL_DCPBA/GBL_F28388D --include_path="C:/ti/ti-cgt-c2000_18.1.3.LTS/include --advice:performance=all -g --diag_warning=225 --diag_wrap=off --display_error_number --abi_func_init=on --abi_ips=zero-abi-off
但是在编译之后、我确实会收到一条警告、因为-zero_init=off 会被忽略、这可能会导致编译器忽略此标志。
>>警告:编译器选项无效--zero_init=off (忽略)
警告#10063-D:指定了"_c_int00"以外的入口点符号:"code_start"
完成的构建目标:"GBL_F28388D.Out"
谢谢、
Nagesh
您好、Vivek、
感谢您的回答。
我正在浏览 f2838x_codestartbranch.asm。对于_c_int00、它会显示 boot._asm 文件、您可以告诉我在哪里可以找到 f2838x 的文件
'LB _c_int00 ;分支至启动。_asm 在 RTS 库中'。
此外、我还有一个需要在10ms 刷新的外部看门狗、因此我的问题是我是否修改 f2838x_codestartbranch.asm 的代码来切换任何 GPIO 以刷新我的外部看门狗。
从第3点开始、如果自动初始化变量花费的时间超过10ms、我们可以在自动初始化之间切换任何 GPIO 吗?
谢谢、
Nagesh
Nagesh RK 说:-v28 -ml -mt --float_support=fpu32 -off --include_path="C:/Users/E537053/Documents/GBL_DCPBA/GBL_F28388D --include_path="C:/ti/ti-cgt-c2000_18.1.3.LTS/include --advice:performance=all -g --diag_warning=225 --diag_wrap=off --display_error_number --init_enabi=now_subsection=en_abi=out-abi_subsectionsection=out-out_abi=funion_subsections=out_abi=en_abi=out_subsection=
请注意、不支持将 C2000编译器版本18.1.x.LTS 与 EABI (选项--abi=eabi)结合使用。 EABI 的支持从版本18.12.0.LTS 开始。
谢谢、此致、
乔治
[引用用户="Nagesh RK"]
请告诉我在哪里可以找到 f2838x 的这个文件
'LB _c_int00 ;分支至启动。_asm 在 RTS 库中'。
[/报价]
函数_c_int00来自编译器随附的 RTS 库。 RTS 的源代码也是编译器的一部分。 如果您安装了 CCS,这里是源文件的典型位置...
C:\ti\ccs1011\ccs\tools\compiler\ti-cgt-C2000_20.2.4.sps\lib\src\boot28.asm
我认为这一答复可以解决本主题中的所有未决问题。
谢谢、此致、
乔治
尊敬的乔治:
感谢您的回答。
更新 boot28.asm 文件还有一个问题
我有一个需要在10ms 刷新的外部看门狗、所以我的问题是、我们是否可以修改 f2838x_codestartbranch.asm/boot28.asm 的代码、以便在全局变量自动初始化之间切换任何 GPIO 以刷新我的外部看门狗。
从第3点开始、如果自动初始化变量花费的时间超过10ms、我们可以在自动初始化之间切换任何 GPIO 吗?
谢谢、
Nagesh
尊敬的乔治:
我想我们的团队对此问题进行了讨论、TI 建议使用此选项、因为 TI 提供的闪存 API 库在18.1.3.LTS 中编译、这迫使我们按原样使用此编译器版本18.1.3.LTS 用于航天应用。
请告诉我们这是否好。
我们从 TI 购买了闪存 API 代码、他们建议不要修改闪存 API 代码中的任何内容、并且不要使用 TI 用于创建库的同一编译器。
谢谢、
Nagesh
您好、Vivek、
更新 boot28.asm 文件还有一个问题
我有一个需要在10ms 刷新的外部看门狗、所以我的问题是、我们是否可以修改 f2838x_codestartbranch.asm/boot28.asm 的代码、以便在全局变量自动初始化之间切换任何 GPIO 以刷新我的外部看门狗。
我基本上想在 boot28.asm 中添加汇编代码、以便在全局变量初始化期间切换 GPIO46。
请告诉我我们是否可以将 GPIO46外设配置为输出并在自动初始化期间切换它。
谢谢、
Nagesh