Skip to content

aarch32 多核工作异常 #8469

@messigogogo

Description

@messigogogo

在进行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 操作

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions