完善资料让更多小伙伴认识你,还能领取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修改的 |
|
|
|
|
|
没有的,官方还没有出,目前只支持树莓派,其他的需要你自己去移植试试
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
飞凌嵌入式ElfBoard-文件I/O的深入学习之存储映射I/O
349 浏览 0 评论
飞凌嵌入式ElfBoard-文件I/O的深入学习之I/O多路复用
861 浏览 0 评论
基于米尔MYC-LR3576开发板的实时视频识别系统设计与实现
702 浏览 0 评论
飞凌嵌入式ElfBoard-文件I/O的深入学习之阻塞I/O与非阻塞I/O
744 浏览 0 评论
大神们,想知道你们都用什么ide编程调试器? Arduino IDE?还是 e2studio ?还有其他吗?哪个好用呢
1077 浏览 0 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-8 11:20 , Processed in 1.161469 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1827