Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

aarch32 多核工作异常 #8469

Closed
messigogogo opened this issue Jan 5, 2024 · 0 comments
Closed

aarch32 多核工作异常 #8469

messigogogo opened this issue Jan 5, 2024 · 0 comments

Comments

@messigogogo
Copy link
Contributor

在进行cortex-a cpu 测试的时候,当开启smp 功能,在 rt_hw_init_mmu_table ---> rt_aspace_init ---> _init_lock ---> rt_object_init 中会调用 rt-thread\libcpu\arm\cortex-a\cpuport.c 中的 rt_hw_spin_lock 函数,此时cortex-a cpu 中的 SCTLR 中关闭了dcache 与 mmu bit ,对于某些cortex-a的cpu 来说此时memory type 为 Strongly Ordered , 这可能会导致rt_hw_spin_lock 函数中的ldrex、strex失效,导致异常的产生 .目前RT-Thread 、smart 由于此问题导致cortex-a 对应的bsp 无法使用

修改建议:在mmu 完成初始化在之后再进行 spin_lock 操作

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant