完善资料让更多小伙伴认识你,还能领取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 ELF 1板卡-CAN编程示例之开发板测试
769 浏览 0 评论
该问题是用APP给芯海科技的CST92F25芯片发指令是出现的
2583 浏览 1 评论
849 浏览 0 评论
1641 浏览 1 评论
2551 浏览 1 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 21:07 , Processed in 0.703708 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号