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/CC1310:在SysBIOS空闲任务中卡住

Guru**** 2782445 points

Other Parts Discussed in Thread: SYSBIOS, CC1310

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/639787/rtos-cc1310-stuck-in-sysbios-idle-task

部件号:CC1310
“线程:SysBIOS”中讨论的其它部件,

工具/软件:TI-RTOS

您好,

我目前正在定制电路板上使用CC1310F128 4x4 RSM软件包。 我正在从TI资源管理器中退出rfPacketTx示例项目。 我已将4x4软件包的board.h文件添加到项目中。 由于我的主板上没有LED,我在board.h文件中添加了一个定义,以将引脚驱动器用于GPIO。 当我运行代码并在代码编辑器工作室中查看RTOS对象查看器时,我看到我的任务已初始化,但它被卡在阻止模式中,并且一直处于SysBIOS空闲任务中。 任务功能从不运行。 我似乎不明白为什么会出现这种情况,因为我对RTOS中的编码没有太多的经验。 如有任何帮助,我们将不胜感激。 我已附加项目文件夹的zip文件。

谢谢,William

e2e.ti.com/.../cc1310_5F00_TX.rar

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

    您好,

    请您检查一下定制板上的HF晶体吗? 这听起来像是一个不工作的晶体,当RF驱动程序尝试切换到外部HF晶体时,会导致应用程序挂起。

    您也可以使用搜索功能。 有许多线程与类似问题相关。

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

    感谢您的回复! 我认为CC1310在执行射频操作时仅使用外部晶体吗? 任务功能从不运行,因此无法访问任何RF代码。 同时,我将测试高频晶体,并将结果告诉你们。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉我错过了这个。 如果任务从未运行,那么它可能不是水晶。 您是否可以进行步调试? 主功能是否已失败?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我还会怀疑主板文件。 您从哪个文件派生您正在使用的文件? 以下是以BLE为中心的,但它是有关如何创建电路板文件的提示: dev.ti.com/.../index.html
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我可以运行主要功能到BIOS_START,一旦BIOS启动,我就会被置于优先级为0的系统BIOS空闲任务中。 在代码编写器的RTOS对象视图中,它显示我的任务已初始化但被阻止
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在这里获得了4x4 C:\tirtos_cc13xx_cc26xx_2_21_00_06\products\tidrivers_cc13xx_cc26xx_2_21_00_04\packages\ti\boards\CC1310DK_4xD的主板文件
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    自那时起,我们更改了电路板文件中的结构,您是否将您的电路板文件中的部分与示例中使用的电路板文件进行了比较?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它们有些不同。 我正在从示例中提取主板文件,并在此时更改PIN。 我会告诉您结果
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我使用了示例板文件并更改了IO引脚,但 现在无法 通过GPIO 板初始化
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我假设您删除了4x4上不存在的任何引脚初始化?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的,我确实这么做了,这是我的PIN的初始化。

    /* Analog Capable Dios */
    #define CC1310DK_4xD_DIO22_analog ioID_22
    #define CC1310DK_4xD_DIO23_analog ioID_23
    #define CC1310DK_4xD_DIO24_analog ioID_24
    #define CC1310DK_4xD_DIO25_analog ioID_25
    #define CC1310DK_4xD_DIO26_analog ioID_26
    
    /* Digital IOS */
    #define CC1310DK_4xD_DIO8 ioID_8
    #define CC1310DK_4xD_DIO9 ioID_9
    #define CC1310DK_4xD_DIO10 ioID_10
    #define CC1310DK_4xD_DIO13_TMSC ioID_13
    #define CC1310DK_4xD_DIO14_TCKC ioID_14
    #define CC1310DK_4xD_DIO15_TDO ioID_15
    #define CC1310DK_4xD_DIO16_TDI ioID_16
    
    /*离散输入*/
    #define CC1310DK_4xD_PIN_BTN1 ioID_13
    #define CC1310DK_4xD_PIN_BTN2 ioID_14
    
    /* GPIO */
    #define CC1310DK_4xD_GPIO _LED_ON 1
    #define CC1310DK_4xD_GPIO _LED_OFF 0
    
    /* I2C */
    #define CC1310DK_4xD_I2C0_SCL0 ioID_4
    #define CC1310DK_4xD_I2C0_SDA0 ioID_5
    
    /* LCD (430BOOST - Sharp96 Rev 1.1)*/
    #define CC1310DK_4xD_LCD_CS PIN_unassigned /* SPI CHIP SELECT */
    #define CC1310DK_4xD_LCD_EXTCOMIN PIN_unassigned /* External COM inversion */
    #define CC1310DK_4xD_LCD_enable PIN_unassigned /* LCD enable */
    #define CC1310DK_4xD_LCD_power PIN_unassigned /* LCD power control */
    #define CC1310DK_4xD_LCD_CS_ON 1
    #define CC1310DK_4xD_LCD_CS_OFF 0
    
    /* LED */
    #定义CC1310DK_4xD_PIN_LED_ON 1
    #define CC1310DK_4xD_PIN_LED_OFF 0
    #define CC1310DK_4xD_PIN_RLED PIN_unassigned
    #define CC1310DK_4xD_PIN_GLED PIN_unassigned
    
    /* PWM Outputs */
    #define CC1310DK_4xD_PWMPIN0 PIN_unassigned
    #define CC1310DK_4xD_PWMPIN1 PIN_unassigned
    #define CC1310DK_4xD_PWMPIN2 PIN_unassigned
    #define CC1310DK_4xD_PWMPIN3 PIN_unassigned
    #define CC1310DK_4xD_PWMPIN4 PIN_unassigned
    #define CC1310DK_4xD_PWMPIN5 PIN_unassigned
    #define CC1310DK_4xD_PWMPIN6 PIN_unassigned
    #define CC1310DK_4xD_PWMPIN7 PIN_unassigned
    
    /* SPI */
    #define CC1310DK_4xD_SPI_FLASH_CS ioID_20
    #define CC1310DK_4xD_FLASH_CS_ON 0
    #define CC1310DK_4xD_FLASH_CS_OFF 1
    
    /* SPI板*/
    #define CC1310DK_4xD_SPI0_miso ioID_0 / 1.20 404*/
    #定义CC1310DK_4xD_SPI0_MOSI ioID_9. / 1.18 401*/
    #定义CC1310DK_4xD_SPI0_CLK ioID_8. / 1.16 401*/
    #定义CC1310DK_4xD_SPI0_CSN PIN_unassigned
    #define CC1310DK_4xD_SPI1_miso PIN_unassigned
    #define CC1310DK_4xD_SPI1_MOSI PIN_unassigned
    #define CC1310DK_4xD_SPI1_CLK PIN_unassigned
    #define CC1310DK_4xD_SPI1_CSN PIN_unassigned
    
    /* UART Board */
    #define CC1310DK_4xD_UART_RX ioID_1 /* RXD */
    #define CC1310DK_4xD_UART_TX ioID_2 /* TXD */
    #define CC1310DK_4xD_UART_CTS PIN_unassigned /* CTS */
    #define CC1310DK_4xD_UART_RTS PIN_unassigned /* RTS */ 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否可以共享主板文件的完整.h和.c文件?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    e2e.ti.com/.../CC1310DK_5F00_4XD_5F00_C.txte2e.ti.com/.../CC1310DK_5F00_4XD_5F00_H.txt</s>1310

    这是我的4x4.h和.c

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

    如果我执行了以下操作,我就可以使用您的代码:

    const PIN_Config BoardGpioInitTable[]={
    
    CC1310DK_4xD_PIN_RLED | PIN_GPIO输出_EN | PIN_GPIO低| PIN_PushPull | PIN_DRVSTR_MAX, /* LED最初熄灭 */
    CC1310DK_4xD_PIN_GLED | PIN_GPIO输出_EN | PIN_GPIO低| PIN_PushPull | PIN_DRVSTR_MAX, /* LED最初熄灭 */
    //CC1310DK_4xD_PIN_BTN1 | PIN_INPUT_EN | PIN_PLEUP | PIN_IRQ_BOTHEDGES | PIN_HATESIS, /*按钮处于低电平活动状态 */
    //CC1310DK_4xD_PIN_BTN2 | PIN_INPUT_EN | PIN_PLEUP | PIN_IRQ_BOTHEDGES | PIN_HATESIS, /*按钮处于低电平活动状态 */
    //CC1310DK_4xD_SPI_FLASH_CS | PIN_GPIO输出_EN | PIN_GPIO _HIGH | PIN_PushPull | PIN_DRVSTR_MIN,/*外部闪存芯片选择*/
    //CC1310DK_4xD_UART_RX | PIN_INPUT_EN | PIN_Pulldown, /* UART RX,通过调试器背面通道*/
    //CC1310DK_4xD_UART_TX | PIN_GPIO输出_EN | PIN_GPIO高| PIN_PushPull, /* UART TX,通过调试器背面通道*/
    //CC1310DK_4xD_SPI0_MOSI | PIN_INPUT_EN | PIN_Pulldown, /* SPI主输出-从输入*/
    //CC1310DK_4xD_SPI0_miso | PIN_INPUT_EN | PIN_Pulldown, /* SPI主输入-从输出*/
    //CC1310DK_4xD_SPI0_CLK | PIN_INPUT_EN | PIN_Pulldown, /* SPI时钟*/
    
    PIN_TERMINATE
    }; 

    我没有测试导致代码停止的这些针脚中的哪一个。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回复! 我昨天晚上发现了这个问题,并查看了每个PIN,似乎每个其他的PIN都使代码停止。 为了使程序正常工作,初始化这些针脚是否至关重要? 当我运行代码时,似乎任务功能从未运行过。 我有一个cc1310 launchpad,用rfPacketRX示例连接成接收器,但我没有收到任何信息。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    William,

    您是否能够在xTaskFunction中的第一个可执行代码行上放置断点,并逐一在代码的每一行上设置断点?

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

    你好,Derrick,

    是的,我在txTaskFunction中设置了一个中断点,并且能够逐步执行,它看起来运行正常, 但我在接收cc1310启动板上仍然看不到任何内容,是否有任何配置需要在Rx端进行,因为它们是不同的软件包?

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

    William,

    我建议您使用CC1310 LaunchPad设置 数据包嗅探器。 这将允许您首先验证您的自定义板是否正确传输。

    德里克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在Rx模式下使用rfstudio设置cc1310启动板,并在我的自定义板上运行我的代码。 我目前没有提任何东西。 对问题有何想法? 这可能是我的定制主板上的硬件问题吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在将符号速率从50kBaud更改为200kBaud后,我能够让设备进行通信。 为了供将来参考,我想知道您是否知道为什么会修复它?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    24 MHz xtal上是否有外部负载上限? 如果是,您是否已相应调整了内部负载盖阵列?

    您是否还可以尝试仅使用50 kbps增加RX BW?