Thread 中讨论的其他器件: SYSBIOS
工具/软件:TI-RTOS
你好吗?
在 TMS320F28335中使用 SYSBIOS 时遇到问题。 我正在尝试实现 任务块 CAN 通信接口。 主要包括名为'postCanMailBlock'的发送接口和 名为'pendCanMailBlock'的发送接口。 此外、还有一个 HWI 函数用于从硬件端口接收 CAN 消息、还有一个 CAN 侦听任务用于处理这些发送和 接收请求。 当调用'postCanMailBlock'时, 要发送的消息将被推入一个发送缓冲区,该缓冲区由邮箱使用 mailbox_send API 实现。 然后 、CAN 侦听任务将获取此发送事件并通过调用硬件层函数发送此消息。 类似地、硬件端口接收到的 CAN 帧将被推送到接收缓冲器中、该缓冲器也由 HWI 函数中的邮箱实现、 并且 CAN 侦听任务将读取接收缓冲区并将接收到的消息发布到相应的用户自身的接收缓冲区(每个用户都可以创建一个 CanMailBox 结构、该结构维护一个专用的接收缓冲区。)
,、程序在运行一段时间后崩溃、提示"任务或 Swi 调度程序被禁用"。 我不在程序中使用任何 Hwi 禁用或 swi 禁用或任务禁用函数。 跟踪代码后、我发现任务调度程序确实已禁用、但我无法确认哪条语句会导致该任务调度程序。 然后 、为了跟踪 BIOS 步骤和步骤的代码、我 在自定义编译选项中关闭 BIOS 的编译优化。 但是 ,在编译优化结束后没有出现这种现象。 所以,这是 SYS/BIOS 的内部编译优化错误,或者其它原因? 此外、 我的程序中没有空闲任务或函数、但这似乎与我的问题无关。 我的 BIOS 版本是 BIOS_6_35_01_29,CCS 是5.4,编译器版本是 V6.4.6,XDCtools 版本是3.25.06.96。

