Hello Supports:
I'm trying to run bare AMP software on CPU3 of imx6quard CPU, cpu0-cpu2 run linux 6.1.1
before enable MMU enabled, we can read and write SCU address space(base:0x00a00000)
but after MMU enabled, software can't access any address space except DDR(0x10000000~0x4fffffff), if software do peripheral read access, all system hung up.
what's wrong with me?
I'm sure the MMU take effect, because some address area shared with linux for communication, if them memory attributes is not correct, linux side software can't get the data correctly. I don't known what's wrong happened? need your help
please refer to the attach for the MMU configuration,
I want to use the arm core private timer , so process blocked here.
the amp(cpu3 software print info as follows---don't access the peripheral address)
[-CPU3-]:main-(00065)]Build Time:Jan 2 2025-10:58:55.
[-CPU3-]:main-(00066)]float test pi = 0.000000
[-CPU3-]:main-(00067)]CPU1 process debug addr:0x48029e60
[-CPU3-]:main-(00070)]cpsr reg = 0x400001d3
[-CPU3-]:main-(00072)]vbar reg = 0x48000440
[-CPU3-]:disp_scu_all_regs-(00037)]CBAR_REG = 0x00a00000
[-CPU3-]:disp_scu_all_regs-(00039)]SCU_Control_Register = 0x0000007f
[-CPU3-]:disp_scu_all_regs-(00041)]SCU_Configuration_Register = 0x00005573
[-CPU3-]:disp_scu_all_regs-(00043)]SCU_CPU_Power_Status_Register = 0x00000000
[-CPU3-]:disp_scu_all_regs-(00046)]SCU_Invalidate_All_Registers_in_Secure_State = 0x00000000
[-CPU3-]:disp_scu_all_regs-(00048)]Filtering_Start_Address_Register = 0x00000000
[-CPU3-]:disp_scu_all_regs-(00050)]Filtering_End_Address_Register = 0x00000000
[-CPU3-]:disp_scu_all_regs-(00052)]SCU_Access_Control_Register = 0x0000000f
[-CPU3-]:disp_scu_all_regs-(00054)]SCU_Non-secure_Access_Control_Register = 0x00000000
[-CPU3-]:disp_private_timer_regs-(00076)]CBAR_REG = 0x00a00000
[-CPU3-]:disp_private_timer_regs-(00079)]TWD_TIMER_LOAD= 0x003c6cc0
[-CPU3-]:disp_private_timer_regs-(00081)]TWD_TIMER_COUNTER= 0x003698a9
[-CPU3-]:disp_private_timer_regs-(00083)]TWD_TIMER_CONTROL= 0x00000003
[-CPU3-]:disp_private_timer_regs-(00076)]CBAR_REG = 0x00a00000
[-CPU3-]:disp_private_timer_regs-(00079)]TWD_TIMER_LOAD= 0x003c6cc0
[-CPU3-]:disp_private_timer_regs-(00081)]TWD_TIMER_COUNTER= 0x002a9d89
[-CPU3-]:disp_private_timer_regs-(00083)]TWD_TIMER_CONTROL= 0x00000003
[-CPU3-]:mmu_table_init-(00198)]translation table init done
[-CPU3-]:main-(00065)]Build Time:Jan 2 2025-10:58:55.
[-CPU3-]:main-(00066)]float test pi = 0.000000
[-CPU3-]:main-(00067)]CPU1 process debug addr:0x48029e60
[-CPU3-]:main-(00070)]cpsr reg = 0x400001d3
[-CPU3-]:main-(00072)]vbar reg = 0x48000440
[-CPU3-]:disp_scu_all_regs-(00037)]CBAR_REG = 0x00a00000
[-CPU3-]:disp_scu_all_regs-(00039)]SCU_Control_Register = 0x0000007f
[-CPU3-]:disp_scu_all_regs-(00041)]SCU_Configuration_Register = 0x00005573
[-CPU3-]:disp_scu_all_regs-(00043)]SCU_CPU_Power_Status_Register = 0x00000000
[-CPU3-]:disp_scu_all_regs-(00046)]SCU_Invalidate_All_Registers_in_Secure_State = 0x00000000
[-CPU3-]:disp_scu_all_regs-(00048)]Filtering_Start_Address_Register = 0x00000000
[-CPU3-]:disp_scu_all_regs-(00050)]Filtering_End_Address_Register = 0x00000000
[-CPU3-]:disp_scu_all_regs-(00052)]SCU_Access_Control_Register = 0x0000000f
[-CPU3-]:disp_scu_all_regs-(00054)]SCU_Non-secure_Access_Control_Register = 0x00000000
[-CPU3-]:disp_private_timer_regs-(00076)]CBAR_REG = 0x00a00000
[-CPU3-]:disp_private_timer_regs-(00079)]TWD_TIMER_LOAD= 0x003c6cc0
[-CPU3-]:disp_private_timer_regs-(00081)]TWD_TIMER_COUNTER= 0x0036c697
[-CPU3-]:disp_private_timer_regs-(00083)]TWD_TIMER_CONTROL= 0x00000003
[-CPU3-]:disp_private_timer_regs-(00076)]CBAR_REG = 0x00a00000
[-CPU3-]:disp_private_timer_regs-(00079)]TWD_TIMER_LOAD= 0x003c6cc0
[-CPU3-]:disp_private_timer_regs-(00081)]TWD_TIMER_COUNTER= 0x002b0db6
[-CPU3-]:disp_private_timer_regs-(00083)]TWD_TIMER_CONTROL= 0x00000003