完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
系统环境
armv8-a 64位 4核cortex-a35 移植到rt-smart分支系统中 由于rt没有线程支持aarch64 cortex-a35,因此参考cortex-a72做些相关的改动 当前系统没有开启多核支持 问题 移植后开机出现以下日志,出现了以下错误。 ![]() 红框为我额外添加的打印。对应的代码如下 void rt_system_scheduler_start(void) { register struct rt_thread *to_thread; rt_ubase_t highest_ready_priority; to_thread = _get_highest_priority_thread(&highest_ready_priority); #ifdef RT_USING_SMP to_thread->oncpu = rt_hw_cpu_id(); #else rt_current_thread = to_thread; #endif /*RT_USING_SMP*/ rt_schedule_remove_thread(to_thread); to_thread->stat = RT_THREAD_RUNNING; /* switch to new thread */ #ifdef RT_USING_SMP rt_hw_context_switch_to((rt_ubase_t)&to_thread->sp, to_thread); #else rt_kprintf("[%s, %d] ", __func__, __LINE__); rt_kprintf("to_thread->name = %s ", to_thread->name); rt_kprintf("to_thread->sp = 0x%016X ", to_thread->sp); rt_kprintf("to_thread->entry = 0x%016X ", to_thread->entry); rt_hw_context_switch_to((rt_ubase_t)&to_thread->sp); rt_kprintf("[%s, %d] ", __func__, __LINE__); #endif /*RT_USING_SMP*/ /* never come back */ } 看起来是rt_hw_context_switch_to跳转到timer线程没有成功。 当前没有查找的思路了,跪求有经验的大佬指导一下可以往下调试的手段,或者方向,谢谢! |
|
相关推荐
3个回答
|
|
如果串口已经初始化了,可以通过打印的方式来去确定问题,如果没有可以通过注释该部分函数去巡查,看具体问题出现再哪里,才能再去具体排查。
|
|
|
|
你好,串口已经初始化完,打印可以用。但由于对汇编不是很了解,不是很懂中断跳转的机制。
armv8有可以跑通的bsp吗?我参考参考,当前这份是参考树莓派aarch64修改的 |
|
|
|
没有的,官方还没有出,目前只支持树莓派,其他的需要你自己去移植试试
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
i.MX6ULL——ElfBoard ELF1板卡 编译并运行qt应用的方法
1574 浏览 1 评论
i.MX6ULL——ElfBoard ELF1板卡 如何重新打包文件系统
1591 浏览 0 评论
北京君正X2600处理器亮相ELEXCON 2023,打造多核异构跨界新价值
1624 浏览 0 评论
i.MX6ULL——ElfBoard ELF1板卡 修改路由表优先级的方法
1668 浏览 0 评论
i.MX6ULL--ElfBoard 音频接口介绍及音频接口问题排查思路
819 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 粤ICP备14022951号 )
GMT+8, 2023-12-11 05:13 , Processed in 0.571020 second(s), Total 72, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 深圳华秋电子有限公司
电子发烧友 (电路图) 粤公网安备 44030402000349 号 电信与信息服务业务经营许可证:粤 B2-20160233