Thread 中讨论的其他器件: C2000WARE、 SYSBIOS
您好、社区
我正在使用控制卡 F28388D 进行开发。
我希望使用 SYS/BIOS 进行开发、因此在该过程中、我必须创建一个新项目、因此我执行了以下步骤:
File > CCS Projects > Selected target and connection as TMS320F28388D 输入了项目名称 Hello1、
从 Project templates and examples -> SYS/BIOS > TI target examples > Minimal and Finish。
然后、我创建了目标配置文件作为"文件">"新建">"目标配置文件"并将其保存。
步骤1:
现在构建成功、如果我尝试在调试模式下运行、它将失败、它将为我提供如下屏幕截图所示的输出:

控制台输出:
C28xx_CPU1:GEL 输出:
内存映射初始化完成
C28xx_CPU1:GEL 输出:
(笑声) DCSM 初始化开始...
C28xx_CPU1:GEL 输出:
(笑声) DCSM 初始化完成...
C28xx_CPU1:GEL 输出:
CPU2复位后配置为等待引导。
(如果您以前连接过、可能必须恢复 CPU2才能到达等待引导循环。)
C28xx_CPU1:GEL 输出:
CM 处于复位状态并配置为等待引导。
(如果您以前连接过、可能必须恢复 CM 才能到达等待引导循环。)
C28xx_CPU1:如果在一个内核上执行擦除/编程(E/P)操作、则另一个内核不应从共享 RAM (SR)执行、因为它们用于 E/P 代码。 在对两个闪存组进行编程后、可以开始从 SR 执行用户代码。
C28xx_CPU1:只有 CPU1片上闪存插件可以为 CPU1、CPU2和 CM 闪存操作配置时钟。 当调用 CPU1闪存操作时、插件会自动配置 PLL。 但是、如果用户希望仅执行 CPU2或 CM 闪存操作而不在当前会话中执行先前的 CPU1操作、则应在调用 CPU2和 CM 闪存操作之前单击 CPU1的片上闪存插件中的"配置时钟"按钮。 使用此按钮时、Flash 插件将使用 INTOSC2作为时钟源、将 CPU1/CPU2的时钟配置为190MHz、将 CM 配置为95MHz。 插件将像这样保留 PLL 配置、用户应用应根据应用的要求配置 PLL。
Cortex_M4_0:GEL 输出:内存映射初始化完成
Cortex_M4_0:GEL 输出:启用窗口式看门狗
Cortex_M4_0:GEL 输出:启用 UART0
Cortex_M4_0:只有 CPU1片上闪存插件可以为 CPU1、CPU2和 CM 闪存操作配置时钟。 当调用 CPU1闪存操作时、插件会自动配置 PLL。 但是、如果用户希望仅执行 CPU2或 CM 闪存操作而不在当前会话中执行先前的 CPU1操作、则应在调用 CPU2和 CM 闪存操作之前单击 CPU1的片上闪存插件中的"配置时钟"按钮。 使用此按钮时、Flash 插件将使用 INTOSC2作为时钟源、将 CPU1/CPU2的时钟配置为190MHz、将 CM 配置为95MHz。 插件将像这样保留 PLL 配置、用户应用应根据应用的要求配置 PLL。
Cortex_M4_0:自动运行:无法设置目标未作为断点运行:_JobHardwareBreakpoint:::arm_debug_V7M_fpb_add_breakpoint: FPB:所有资源都在使用中。[25062]
步骤2:
然后、在 Debug Configurations > Program 选项卡中、我选择了 Project and Program to my current workspace project 并再次尝试调试、现在它给出了以下错误:
我的项目是一个新的项目,它还没有任何代码,只是一个主函数和一个只执行 printf()的任务;

这次我的控制台输出为:
C28xx_CPU1:GEL 输出:
内存映射初始化完成
C28xx_CPU1:GEL 输出:
(笑声) DCSM 初始化开始...
C28xx_CPU1:GEL 输出:
(笑声) DCSM 初始化完成...
C28xx_CPU1:GEL 输出:
CPU2复位后配置为等待引导。
(如果您以前连接过、可能必须恢复 CPU2才能到达等待引导循环。)
C28xx_CPU1:GEL 输出:
CM 处于复位状态并配置为等待引导。
(如果您以前连接过、可能必须恢复 CM 才能到达等待引导循环。)
C28xx_CPU1:如果在一个内核上执行擦除/编程(E/P)操作、则另一个内核不应从共享 RAM (SR)执行、因为它们用于 E/P 代码。 在对两个闪存组进行编程后、可以开始从 SR 执行用户代码。
C28xx_CPU1:只有 CPU1片上闪存插件可以为 CPU1、CPU2和 CM 闪存操作配置时钟。 当调用 CPU1闪存操作时、插件会自动配置 PLL。 但是、如果用户希望仅执行 CPU2或 CM 闪存操作而不在当前会话中执行先前的 CPU1操作、则应在调用 CPU2和 CM 闪存操作之前单击 CPU1的片上闪存插件中的"配置时钟"按钮。 使用此按钮时、Flash 插件将使用 INTOSC2作为时钟源、将 CPU1/CPU2的时钟配置为190MHz、将 CM 配置为95MHz。 插件将像这样保留 PLL 配置、用户应用应根据应用的要求配置 PLL。
C28xx_CPU1:GEL 输出:
(笑声) DCSM 初始化开始...
C28xx_CPU1:GEL 输出:
(笑声) DCSM 初始化完成...
C28xx_CPU1:GEL 输出:
CPU2复位后配置为等待引导。
(如果您以前连接过、可能必须恢复 CPU2才能到达等待引导循环。)
C28xx_CPU1:GEL 输出:
CM 处于复位状态并配置为等待引导。
(如果您以前连接过、可能必须恢复 CM 才能到达等待引导循环。)
C28xx_CPU1:GEL:文件:~\TI_Workspace\Hello1\Debug\Hello1.Out 与目标类型不匹配、未加载。
步骤3:
我甚至尝试使用 SYS/BIOS 示例在调试模式下运行、因此我将它们导入到了工作空间、在调试模式下构建并尝试运行、即使这样、我也会收到高于步骤2的警告
步骤4:
我能够从 DriverLib 中导入和编译示例项目、而不会出现任何问题。
如果我能够解决这些问题并构建和调试我的 FW 应用程序而没有任何麻烦、那将非常有帮助。
是否可以将 SYS/BIOS 与 DriverLib 一起使用?
此外、我还想在未来的实施中使用双核、能否获得任何有助于我更好地了解 CPU0和1之间握手以及代码的输入或相关文档。
提前感谢、
此致、
pranay。






