完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
qemu-vexpress-a9启动时,second cpu 通过wfe暂停,带ipi唤醒后跳转到secondary_cpu_entry执行。
CPU0 在启动时,将secondary_cpu_start写到了0x10000030这个地址,之后触发ipi。 看起来secondary_cpu_entry应该就等于0x10000030,但是没有见到哪里有定义这个关系。 另外关于qemu-vexpress-a9是否有寄存器手册之类的?uart寄存器配置等,再ARM官网也没有见到此类文档。 |
|
相关推荐
1个回答
|
|
你说的应该是start_gcc.s中的这段代码:
@ cpu id > 0, stop or wait #ifdef RT_SMP_AUTO_BOOT ldr r0, =secondary_cpu_entry mov r1, #0 str r1, [r0] /* clean secondary_cpu_entry */ #endif /* RT_SMP_AUTO_BOOT */ secondary_loop: @ cpu core 1 goes into sleep until core 0 wakeup it wfe #ifdef RT_SMP_AUTO_BOOT ldr r1, =secondary_cpu_entry ldr r0, [r1] cmp r0, #0 blxne r0 /* if(secondary_cpu_entry) secondary_cpu_entry(); */ #endif /* RT_SMP_AUTO_BOOT */ b secondary_loop 这里适用与有些多核平台,CPU0与其他CPU一起启动的情况。如果是多核一起启动,则需要除CPU0以外的CPU停下来等待CPU0把操作系统主要的工作做完,才能释放其他CPU继续走下去。 qemu-vexpress-a9平台不属于这种情况,CPU1启动的情况请参考secondary_cpu.c这部分代码。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
973 浏览 0 评论
IaaS+on+DPU(IoD)+下一代高性能算力底座技术白皮书
1917 浏览 0 评论
飞凌嵌入式-ELFBOARD 常用的USB接口及其不同版本介绍第1期
1062 浏览 0 评论
【Vision Board创客营连载体验】RA8D1-Vision Board上OSPI-Flash实践
1517 浏览 0 评论
I.MX6ULL-飞凌 ElfBoard ELF1板卡- 应用层更改引脚复用的方法
3744 浏览 0 评论
65029 浏览 21 评论
嵌入式热门DIY项目:智能机器人开源资料合集(原理图、代码、论文)
67700 浏览 22 评论
57700 浏览 32 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-16 09:15 , Processed in 0.631869 second(s), Total 69, Slave 53 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号