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.

[参考译文] CCS/EVMK2GX:CCS 设置:目标选择;平台选择=>未定义符号、无控制台打印输出(CIO)

Guru**** 2386600 points
Other Parts Discussed in Thread: 66AK2G12, SYSBIOS
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/798798/ccs-evmk2gx-ccs-setup-target-choice-platform-choice-no-defined-symbols-no-console-print-output-cio

器件型号:EVMK2GX
主题中讨论的其他器件:66AK2G12EVMK2GSYSBIOS

工具/软件:Code Composer Studio

使用最新的一切:CCS (9.0.1)、RTOS、... 在 Windows 10计算机上、"脱机模式"。

只需尝试使 ARM (Cortex-A15) RTOS 代码示例运行即可。

在设置新的 CCS 工程时、

Target 选项包括:

"66AK2G12"或"K2GEVM"(K2GEVM 似乎表现最佳)

编译器选择:GNU v7.2.1 (Linaro)

项目模板:SYS/BIOS/GNU 目标示例/最小值

协议和存储库:框架组件、k2g PDK、SYS/BIOS、XDAIS

目标:GNU.targets.arm.A15F (预选)

平台:唯一看起来接近的可选选择选择是"ti.platform.evmTCI66AK2G02"

Build-Profile:"release"是唯一可用的选项并且被预先选择

目标配置文件(.ccxml):Basic ="K2GEVM"、Advanced (CortexA15)="evmk2g_arm.gel"

在这些选择中、代码由一个 main()和"void taskFxn (UARg a0、UArg A1)"组成

构建("调试")完成、没有错误或警告、并且控制台窗口中的 GEL 文件输出看起来正确。 我可以单步执行和断点。 main()中有一个 System_printf 语句:

   system_printf ("enter main()\n");

这条语句看起来是执行的;我可以单步执行它、看起来一切正常、但在"Console"窗口中没有输出。 CIO 已"启用"。

在控制台窗口中生成输出:

****为项目 RTOS3构建配置调试****

"C:\\TI\\ccs901\\ccs\\utils\\bin\\gmake"-k -j 4 all -O  

正在制作./src/sysbios/sysbios.aa15fg ...

gmake[1]:没有为"全部"执行任何操作。

正在制作./src/sysbios/sysbios.aa15fg ...

gmake[2]:对于"全部"没有要做的事情。

****构建完成****

在调试启动时、有一个注释用于"... XDS2xx USB 板载调试探针/CortexA15:"0x... (未定义符号)"

GEL 控制台输出:

CortexA15:GEL 输出:启动 K2G GP EVM 初始化.  

CortexA15:GEL 输出:从 BOOTCFG_EFUSE_BootROM 读取器件速度

CortexA15:GEL 输出:器件速度[23:16]--> 1000 MHz

CortexA15:GEL 输出:ARM 速度[9:0]--> 1000 MHz

CortexA15:GEL 输出:PLL 已配置(24.0MHz * 250/ 3 / 2 = 1000.0MHz)

CortexA15:GEL 输出:ARM PLL 已配置参考时钟24MHz、-sysclkp_period 41.6666 (24.0MHz * 250/3 / 2 = 1000.0MHz)

CortexA15:GEL 输出:为所有 PSC 模块和 DSP 域加电...  

CortexA15:GEL 输出:为 PCIe PSC 模块和 DSP 域供电... 完成。

CortexA15:GEL 输出:已配置 UART PLL (24.0MHz * 128/1 / 8 = 384.0MHz)

CortexA15:GEL 输出:已配置 NSS PLL (24.0MHz * 250/ 3 / 2 = 1000.0MHz)

CortexA15:GEL 输出:ICSS PLL 已配置(24.0MHz * 250/ 3 / 10 = 200.0MHz)

CortexA15:GEL 输出:DSS PLL 已配置(24.0MHz * 198/12/16 = 24.75MHz)

CortexA15:GEL 输出:XMC 设置完成。

CortexA15:GEL 输出:DDR3 PLL 设置...  

CortexA15:GEL 输出:DDR3 PLL 设置完成、DDR3A 时钟现在以533MHz 运行。

CortexA15:GEL 输出:DDR3A 初始化完成  

CortexA15:GEL 输出:进入 A15非安全模式。  

CortexA15:GEL 输出:启用对 cp10和 cp11的非安全访问

CortexA15:GEL 输出:启用了对 cp10和 cp11的非安全访问

CortexA15:GEL 输出:使所有 GIC 中断组1  

CortexA15:GEL 输出:已更改中断组  

CortexA15:GEL 输出:将安全模式 PMR 设置为非零值  

CortexA15:GEL 输出:进入非安全模式

CortexA15:GEL 输出:进入非安全模式

CortexA15:GEL 输出:进入 A15非安全模式  

CortexA15:GEL 输出:K2G GP EVM 初始化完成。

现在、我的问题是:

1.为什么没有定义符号?

2.为什么“控制台”窗口中没有打印输出? (当我执行"裸机"程序时、打印结果就在那里。 我是否缺少库? 或者...

3.在 CCS 项目设置期间、我是否做出了所有正确的选择?

谢谢、

Dave

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="jdata123"]2. 为什么“Console (控制台)”窗口中没有打印输出? (当我执行"裸机"程序时、打印结果就在那里。 我是否缺少库? 或者,...[/引述]两个可能的原因:

    1) System_printf()将字符存储在缓冲区中,必须 调用 System_flush()以输出缓冲字符。

    2) 2)将 SYS/BIOS 与 GNU ARM 编译器一起使用时、您还需要启用半宿主-请参阅 如何为 Cortex-A GNU 目标启用半宿主?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢切斯特的快速响应。

    我尝试了 System_flush(),但没有愉快的体验。 从我所读的内容来看、语句中的"\n"也应该执行相同的操作。

    然后、我尝试了半托管建议、结果相同。 您提到的修改 swi.cfg 文件的文档。 我这样做的结果没有变化。 (仅用于 SWI 交互?)

    这是一个困惑的人!

    继续寻找。 如果您有任何其他想法、欢迎倾听并尝试。

    谢谢、

    Dave