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.
工具/软件:TI C/C++编译器
您好!
我使用的是 CCS v7.4。 我知道 RTFS 无法打开超过17个文件、但 我需要在代码中打开32个文件。 如何克服这一障碍?
我使用 的是 ti-cgt-C6000-8.1.0编译 器、xdctools_3_32_00_06和 BIOS_6_45_01_29。
相关信息
我缺少并与之混淆的详细信息是术语 RTFS。 RTOS 环境中的术语是指一种类型的文件系统、我正在尝试了解这是在目标上使用 SD/MMC 或 USB 还是任何其他海量存储器实现的、还是指主机通过 JTAG 仿真器进行的文件 IO 操作 使用 TI 编译器的 RTS 库。
请提供这一说明,以便我们作出相应的答复。
此致、
Rahul
您好!
它使用 TI 编译器的 RTS 库通过我的 PC 上的 JTAG 仿真器进行的文件 I/O 操作。
相关信息
[引用 user="蝶 形计算] 它使用 TI 编译器的 RTS 库从我的 PC 对 JTAG 仿真器进行的文件 I/O 操作。[/quot]根据 C6000 C/C++优化编译器 v8.x 用户指南中的第9.1.6节"允许的打开文件数 "、您需要增大 _nfile 宏的值并重新编译运行时间 库。
由于_nfile 的值包括三个预定义流 stdin、stdout、stderr、因此您需要将 _nfile 设置为>= 35。
我也这样做了、 使用 C6000编译器 v8.2.4测试裸机 C66程序、并且遇到同样的问题、无法打开超过17个文件。butterfly 说:我在 stdio.h 中将_nfile 的值更改为35、并重建了 rts6600_elf.lib、但仍无法打开超过17个文件...
[引用 user="buttercy">我是否在其他软件包中更改了_nfile 的值并再次重建了它?当我单步进入调试器中的 fopen()调用以调查发现 lib/src/file.h 中还有_NSTREAM 常量也需要从20增加到 35.
当 lib/src/stdio.h 中的_nfile 和 lib/src/file.h 中的_NSTREAM 都增加到35时、在重新编译 rts6600_elf.lib 后能够打开32个文件。
[引用 user="butterfly">我也在 xdctools_3_32_00_06_core 中遇到了_nfile。我需要检查 SYS/BIOS 是否使用备用运行时库。
[引用 user="butterfly"]我是否在其他软件包中更改了_nfile 的值并重新生成了它? 如果是、如何重建它? 我也遇到了 xdctools_3_32_00_06_core 中的_nfile。我创建了一个 C66程序、该程序使用编译器 v8.2.4和 SYS/BIOS 6.45.01.29和 XDCtools 3.32.00.06内核。
编译器 RTS rts6600_elf.lib 根据之前的帖子进行重建、并将_nfile 和_NSTREAM 设置为35、SYS/BIOS 程序能够使用 fopen 创建32个文件。 链接器映射文件显示 fopen()是从 rts6600_elf.lib 链接的。
搜索 XDCtools 3.32.00.06内核时、我看不到_nfile。
切斯特、您好!
我也将_NSTREAM 的值更改为35、现在我能够打开32个文件。
是的,XDCtools 中没有_nfile,我的 bad,我 在编译器版本8.1.3中看到它。
谢谢你
相关信息