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.

[参考译文] RTOS/TM4C129CNCZAD:RuntimeInstance 创建

Guru**** 2611705 points
Other Parts Discussed in Thread: SYSBIOS

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/580436/rtos-tm4c129cnczad-runtimeinstance-creation

器件型号:TM4C129CNCZAD
主题中讨论的其他器件:SYSBIOSTM4C1294NCPDT

工具/软件:TI-RTOS

我无法在 BIOS 中启用运行时实例、这对于动态创建任务或信标至关重要

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您使用的是 TI-RTOS 的哪个版本? 您能否提供所遇到错误的示例? 您是否从示例开始?

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

    I ame2e.ti.com/.../2350.Dynamic-TAsks_5F00_SWI_5F00_empty_5F00_EK_5F00_TM4C1294XL_5F00_TI_5F00_Blink.rarusing最新版本的 TI RTOS 和 CCS .. 我根据为 TI RTOS (实验8)可选提供的示例项目进行了改编。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为问题是您配置的堆太小:

    BIOS.heapSize = 256;

    尝试将其设置为4096字节、并查看其是否解决了问题。

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

    Memory.defaultHeapSize = 256;
    Memory.defaultHeapInstance =空;

    完全禁用堆。 请删除这些行。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我确实这样做了,但问题仍然存在。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    e2e.ti.com/.../7077.TAsks_5F00_SWI_5F00_empty_5F00_EK_5F00_TM4C1294XL_5F00_TI_5F00_Blink.rarI重建了项目的新版本、但发布了 remian。

    正在连接。

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

    我使用的是最新版本的 RTOS 和 CCS、所有软件都是最新的。

    无法为信标创建运行时实例。 堆也没有被设置。 我尝试了 cfg 脚本和 GUI。 不管用。 我已将该项目与以前的邮件线程绑定、供您阅读。

    谢谢你

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

    再次连接项目。

    无法为 TI RTOS Workshop 的可选 la8创建运行时实例。 我尝试了 GUI 以及文本-手动添加 CFG。 不管用。

    这些是构建错误"

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

    "C:\\ti\\ccsv7\\utils\\bin\\gmake"-k -j 8 all -O
    正在制作./src/sysbios/sysbios.aem4f ...
    gmake[1]:没有为"全部"执行任何操作。
    '生成文件:./empty.c'
    '调用:ARM 编译器'
    "c:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.12.0.STS/bin/armcl "-mv7M4 -code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/Users/pramanujam/workspace_v7/TAsks_SWI_empty_EK_TM4C1294XL_TI_Blink --include_path="C:/Users/pramanujam/workspace_v7/TAsks_SWI_empty_EK_TM4C1294XL_TI_Blink /ti/tirtos_tivac_2_16_01_14/products/bios_6_45_02_31/packages/ti/sysbios/posix --include_path="C:/ti/tirtos_tivac_2_16_01_14/products/TivaWare_C_Series-2.1.1.71b --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.12.0.STS/include --include_path=ccs_empty=ccs_define=ccs_define=ccs_define=-codecnategination="-code.com/support/subs=ccs_define=ccs_code.combulation="-code.combulation=ctrab-code.com/support/d_subs=-code.combuld_guid=ccs_guides=-code.com-code.comb_guide=ccs_guides=-code.comb.cp_ab-code.com/support/d=-codest-code.com/support/d_guides=ctr-code.comb.cn=ccs_ab-code.

    >>编译失败
    subdir_rules.mk:16:目标'empty.obj'的配方失败
    "./empty.c"、第103行:错误#148:声明与"const ti_SysBIOS_KNL_Semaphore_handle LEDSem"不兼容(在"C:/Users/pramanujam/workspace_v7/TAsks_SWI_empty_EK_TM4C1294XL_TI_Blink/Debug/configPkg/package/cfg/empty_pem4f.h "的第11行声明)
    1在编译"./empty.c"时检测到错误。
    gmake:***[empty.obj]错误1.
    gmake:目标"全部"不会由于错误而重新生成。

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

    在这个构建失败后、cfg 文件显示运行时启用和堆大小4096。

    此致

    e2e.ti.com/.../8561.TAsks_5F00_SWI_5F00_empty_5F00_EK_5F00_TM4C1294XL_5F00_TI_5F00_Blink.rar

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

    Semaphore_handle LEDSem;

    到此

    const semaphore_handle LEDSem;
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    使用 const 有助于创建信标。 但并未消除创建运行时实例的问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在您之前发布的.rar 文件中的'empty.c'中、我看不到任何'create'调用。 我只会看到一个注释掉的 Task_construct()调用:
    Task_Params_init (&taskParams);
    taskParams.arg0 = 500;
    taskParams.STACKSIZE = TASKSTACKSIZE;
    taskParams.stack =_task0Stack;
    // Task_construct(&task0Struct,(Task_Functr)BeatBeatFxn,&taskParams,NULL);

    尝试用以下方法替换 Task_construct()调用:

    Task_Handle myTask;
    myTask = Task_create ((Task_FuncPtr) BeatBeaFxn、&taskParams、NULL);

    然后查看 Task_create()是否正确返回。 我认为这应该起作用。

    Alan