工具/软件:TI-RTOS
大家好、
我们希望使用缓冲区阵列而不是显示 DSS 应用程序中的脚本控制台来显示视频。
我们需要将视频图像集成到 输出.xem4二进制文件中。
是否可以这样做?
是否有任何工具可以将 tigf 文件转换为存储 在数组 中?
谢谢、此致
Gokul
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-RTOS
大家好、
我们希望使用缓冲区阵列而不是显示 DSS 应用程序中的脚本控制台来显示视频。
我们需要将视频图像集成到 输出.xem4二进制文件中。
是否可以这样做?
是否有任何工具可以将 tigf 文件转换为存储 在数组 中?
谢谢、此致
Gokul
您好、Brijesh、
创建头文件后、我们将 头文件包含在.c 文件中、如所示
#include "testdata.h"
声明的数组
UINT8显示数据[BSP_Testdata_DCC_CFG_NUM_Element]= BSP_DRV_TESTDATADCC_CFG;
编译问题如下所示。 但我使用 gcc 编译器尝试了测试代码、它的构建是正确的。
如何解决此错误?
#正在制作 tda2xx-EVM:m4vpss:发布:bsp_vps...
#制作 tda2xx-EVM:m4vpss:发布:bsp_examples_utility...
# Making tda2xx-EVM:m4vpss:release:bsp_uart...
#编译 tda2xx-EVM:m4vpss:release:bsp_examples_displayDss:src/DisplayDss_main.c
内部错误:d:\ti\vsdkv212\ti_componations\cG_tools\windows\cgt-arm_5.2.5\bin\armacpia.exe 遇到分段 fa
结果
处理函数(未知或文件范围)时、文件 src\testdata.h 行192027
这是由编译器本身的缺陷引起的。 TI 客户
支持人员可能会建议解决方法来避免这种情况。
升级到编译器的最新版本可能会解决此问题。
请在以下 E2E 支持论坛联系 TI
"开发工具"、"TI C/C++编译器"。 请参阅标题为的链接
"提交问题"。 包括整个错误消息和
选项--preproc_with_comment 时创建的.pp 文件的副本
(-PPC)。
>>编译失败
gmake[3]:***[D:/ti/vsdkv212/ti_components/drivers/bsp_01_07_01_17/binary/bsp_examples_displayDss/obj/tda2xx-evm/m4vpss/rele
ASE/DisplayDss_main.oem4]错误1.
gmaked[2]:***[m4vpss]错误2.
gmaked[1]:***[displayDss_target]错误2.
gmake:***[displayDss]错误2.
D:\ti\vsdkv212\ti_componers\drivers\bsp_01_07_01_17>
D:\ti\vsdkv212\ti_componers\drivers\bsp_01_07_01_17>
D:\ti\vsdkv212\ti_componers\drivers\bsp_01_07_01_17>
谢谢
Gokul
大家好、
我们可以使用 https://github.com/gwilymk/bin2c 中的 bin2c 工具来管理编译问题。
但 存在链接问题。
ES_displayDss_configuro/linker_mod.cmd"、第167行:错误:
程序将不能放入可用的内存中。 定位失败。
我们有3072001字节的阵列。 我们将缓冲地址(bufInfo->bufAddr)指向此数组。
是否需要修改链接器脚本 文件?
#编译 tda2xx-EVM:m4vpss:release:bsp_examples_displayDss:src/DisplayDss_main.c
"src="DisplayDss_main.c"、第1883行:警告:函数"DispApp_updateRtParam"已声明但从未引用
链接到 D:/ti/vsdkv212/ti_components/drivers/bsp_01_07_01_17/binary/bsp_examples_displayDss/bin/tda2xx-evm/bsp_example
s_displayDss_m4vpss_release.xem4...
编号
"D:/ti/vsdkv212/ti_components/drivers/bsp_01_07_01_17/binary/bsp_examples_displayDss/obj/tda2xx-evm/m4vpss/release/bsp_exampl
ES_displayDss_configuro/linker_mod.cmd"、第167行:错误:
程序将不能放入可用的内存中。 定位失败
对于“.cinit”大小为0x2f43f6的段。 可用存储器范围:
VPSS_M4_CODE_MEM 大小:0x1ff000 未使用:0x1977fe 最大孔:
0x1977e8.
错误:链接过程中遇到错误;
"D:/ti/vsdkv212/ti_components/drivers/bsp_01_07_01_17/binary/bsp_examples_di
splayDss/bin/tda2xx-evm/bsp_examples_displayDss_m4vpss_release.xem4"不是
已构建
gmake[3]:***[D:/ti/vsdkv212/ti_components/drivers/bsp_01_07_01_17/binary/bsp_examples_displayDss/bin/tda2xx-evm/bsp_example
S_displayDss_m4vpss_release.xem4]错误1.
gmaked[2]:***[m4vpss]错误2.
gmaked[1]:***[displayDss_target]错误2.
gmake:***[displayDss]错误2.
谢谢、此致
Gokul
您好、Brijesh、
我们将代码段大小增加到了4MB、它适用于3072001字节的阵列缓冲区大小。(近2到3MB)
但是、如果我们尝试编译的阵列缓冲区大小为23040001 (21MB)、则会得到以下错误。
在本例中、我们已将代码段大小更改为20 MB。
是否可以使用此大小进行构建?
#制作 tda2xx-EVM:m4vpss:发布:bsp_examples_utility...
# Making tda2xx-EVM:m4vpss:release:bsp_uart...
#编译 tda2xx-EVM:m4vpss:release:bsp_examples_displayDss:src/DisplayDss_main.c
"src\test.h"、行1452507:致命错误:内存不足
1在"src/DisplayDss_main.c"的编译中检测到灾难性错误。
编译已终止。
>>编译失败
gmake[3]:***[D:/ti/vsdkv212/ti_components/drivers/bsp_01_07_01_17/binary/bsp_examples_displayDss/obj/tda2xx-evm/m4vpss/rele
ASE/DisplayDss_main.oem4]错误1.
gmaked[2]:***[m4vpss]错误2.
gmaked[1]:***[displayDss_target]错误2.
gmake:***[displayDss]错误2.
谢谢 、此致
Gokul
您好、Brijesh、
我们 尝试将代码部分增加到45 MB。 但它不起作用。
因此、我们 尝试使用帧缓冲区段。
我尝试了以下行。 但我仍然会得到相同的误差。
extern uint8颜色[];
#if defined (__GNU__)&&!defined (__ti__)
DATA_ALIGN (32) DATA_SECTION (".bss:帧缓冲区")
其他
#pragma DATA_ALIGN (颜色、32)
#pragma DATA_SECTION (color、".bss:帧缓冲区");
#endif /*#if defined (__GNU__)&&!defined (__ti__)*/
如何使用 pragma 来使用帧缓冲区段?
已 在 头文件中初始化数组(颜色)。
谢谢、此致、
Gokul
您好、Brijesh、
我们使用 bin2c 工具创建了头文件。 此 头文件包含已初始化的阵列数据颜色。
我们添加了以下行。 这是正确的吗?
#pragma DATA_ALIGN (颜色、32)
#pragma DATA_SECTION (color、".bss:帧缓冲区");
uint8 color[23040001]={
0x10、0x80、0x10、0x80、0x10、 0x80、0x10、0x80、0x10、0x80、 0x10、
0x80、0x10、0x80、0x10、0x80、 0x10、0x80、0x10、0x80、0x10、 0x80、
0x10、0x80、0x10、0x80、0x10、 0x80、0x10、0x80、0x10、0x80、 0x10、
0x80、0x10、0x80、0x10、0x80、 0x10、0x80、0x10、0x80、0x10、 0x80、
0x10、0x80、0x10、……}
进行上述更改后、仍会出现错误
#正在制作 tda2xx-EVM:m4vpss:发布:bsp_vps...
#制作 tda2xx-EVM:m4vpss:发布:bsp_examples_utility...
# Making tda2xx-EVM:m4vpss:release:bsp_uart...
#编译 tda2xx-EVM:m4vpss:release:bsp_examples_displayDss:src/DisplayDss_main.c
"src\testdata.h"、第1452763行:致命错误:内存不足
1在"src/DisplayDss_main.c"的编译中检测到灾难性错误。
编译已终止。
>>编译失败
gmake[3]:***[D:/ti/vsdkv212/ti_components/drivers/bsp_01_07_01_17/binary/bsp_examples_displayDss/obj/tda2xx-evm/m4vpss/rele
ASE/DisplayDss_main.oem4]错误1.
gmaked[2]:***[m4vpss]错误2.
gmaked[1]:***[displayDss_target]错误2.
gmake:***[displayDss]错误2.
谢谢
Gokul
你好、Gokul、
除了将缓冲区放置在 frame_buffer 段中、还需要减少用于分配帧缓冲区的堆。 默认情况下、该堆的大小为242MB、这与帧缓冲段的保留空间完全相同。 请通过减小 vayu_drivers\bspdrivers_\examples\utility\src\bsputils_mem_default.c 文件中的宏 BSPUTILS_MEM_FRAME_heap_size 的值来减小堆的大小。
您将看到、对于 TDA2xx、此宏设置为242MB、减小此大小、让我们使用100MB、然后尝试使用它。
它应该现在构建。
Rgds、
Brijesh