硬汉嵌入式论坛

 找回密码
 立即注册
查看: 332|回复: 3
收起左侧

[ThreadX全家桶] threadx移植到r5上

[复制链接]

2

主题

2

回帖

8

积分

新手上路

积分
8
发表于 2025-4-10 17:55:14 | 显示全部楼层 |阅读模式
最新移植threadx到国产r5上,demo_threadx运行后打印完threadx就直接挂死了,ttc也跟着挂死,求大佬指点指点!!
1111.png
回复

使用道具 举报

18

主题

334

回帖

388

积分

高级会员

积分
388
发表于 2025-4-11 10:11:21 | 显示全部楼层
threadx  R5 的汇编还没细看过,M4 核上的实现看过,看看能不能给楼主提供到一些解决问题的思路。

M4 在任务主动让出 CPU 之后,例如 sleep,这个时候没有任何就绪任务,threadx 的实现不是进入 idle task,而是进入了调度器里面 while1 检查是否有就绪任务, 这个时候是中断开启状态,如果发生中断会立刻响应中断,如果有就绪任务立刻就会加载就绪任务的上下文。这里有一个好处就是系统在空闲状态的时候,已经保存了让出 CPU 任务的上下文,如果有就绪任务发生的时候立刻切换到就绪任务,少了一次压上下文的过程,响应新任务的速度更快。
回复

使用道具 举报

18

主题

334

回帖

388

积分

高级会员

积分
388
发表于 2025-4-11 10:22:08 | 显示全部楼层
补充一点,可以看到当前的 SPSR 是 IRQ 模式 , CPSR 是未定义模式。说明是在进入中断之后,发生了未定义异常。

未定义异常发生的原因可能是执行了非法指令,有可能是代码编译的没有问题,但是运行过程中被野指针以外的修改了(这里只是一个猜测)

反正你能调试,在进入到 未定义异常之后,下个断点,看一下 LR - 4 的地址指向了那里,那里就是出错的指令。


最后大胆的猜一下,国产 R5 大概率是芯驰E3吧。
回复

使用道具 举报

2

主题

2

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 2025-4-11 13:22:24 | 显示全部楼层
芯片复旦微的,我试试
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-4-25 14:58 , Processed in 0.513833 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表