现在在研究tci6614的 内存保护问题,本意是希望禁止dsp核访问arm内存,跑的一个简单的例子中mpu6如下配置 和 异常 打印
希望能得到帮助,如何建立6614的鲁棒性系统,急求解答,
ps:可以有偿回答,另招聘熟悉tci66系列的人员,可兼职/全职
联系方式:QQ2393082973
例程,是在msgcom通信例程基础上加了点MPU6的内容如下
if(0 == DNUM)
{
/* MPU0 PROG1 set protection of aif2 register address,CorePac1 & CorePac2 access only*/
//gpMPU_regs[0]->PROG_REGION[1].PROG_MPPA &= (0x03FFE400);
/* CorePac0~3 denied */
gpMPU_regs[6]->PROG_REGION[0].PROG_MPPA &= (0x03FDFE00);
gpMPU_regs[6]->PROG_REGION[1].PROG_MPPA &= (0x03FDFE00);
gpMPU_regs[6]->PROG_REGION[2].PROG_MPPA &= (0x03FDFE00);
gpMPU_regs[6]->PROG_REGION[3].PROG_MPPA &= (0x03FDFE00 |MP_NS|MP_EMU|MP_SR|MP_UR);
/* ARM denied*/
gpMPU_regs[6]->PROG_REGION[4].PROG_MPPA &= (0x00020000);
gpMPU_regs[6]->PROG_REGION[5].PROG_MPPA &= (0x00020000);
gpMPU_regs[6]->PROG_REGION[6].PROG_MPPA &= (0x00020000);
gpMPU_regs[6]->PROG_REGION[7].PROG_MPPA &= (0x00020000);
}
[C66xx_1] [969]
[C66xx_1] KeyStone_Mpu Line 1801
[C66xx_1] KeyStone_Mpu Line 1820
[C66xx_1] KeyStone_Mpu Line 1828
[C66xx_1] [971]
[C66xx_2] [371]
[C66xx_2] [382]
[C66xx_1] [978]
[C66xx_1] ***********************************
[C66xx_1] **** Message Communicator Test ****
[C66xx_1] ***********************************
[C66xx_1] [985]
[C66xx_1] Debug: RM Initialization was successful
[C66xx_1] Debug: Inserting MSMC Memory Region (Core0-MSMC) @ Index 0 Start Index 0
[C66xx_1] Debug: Inserting LOCAL Memory Region (Core0-Local) @ Index 1 Start Index 128
[C66xx_1] Debug: Inserting LOCAL Memory Region (Core1-Local) @ Index 2 Start Index 256
[C66xx_1] A0=0x100 A1=0x1
[C66xx_1] A2=0x82fe10 A3=0x100
[C66xx_1] A4=0xa0102d80 A5=0x34023810
[C66xx_1] A6=0x2 A7=0x2a6a0f0
[C66xx_1] A8=0xf0000 A9=0xa0100080
[C66xx_1] A10=0xffffff7d A11=0x5000
[C66xx_1] A12=0xc085300 A13=0xc08567c
[C66xx_1] A14=0x0 A15=0xc085300
[C66xx_1] A16=0x100 A17=0x100
[C66xx_1] A18=0x150 A19=0x0
[C66xx_1] A20=0x5100 A21=0x4c
[C66xx_1] A22=0x73f6ab3d A23=0xfef35b3f
[C66xx_1] A24=0xfdcdd2a3 A25=0xfd777fdf
[C66xx_1] A26=0xf79bf873 A27=0xff27dff2
[C66xx_1] A28=0x5500e24c A29=0x0
[C66xx_1] A30=0x10 A31=0xf0000
[C66xx_1] B0=0x1 B1=0x0
[C66xx_1] B2=0x1 B3=0x812d8c
[C66xx_1] B4=0x34020000 B5=0xc085668
[C66xx_1] B6=0x86fd78 B7=0x0
[C66xx_1] B8=0x5000 B9=0xf
[C66xx_1] B10=0x168 B11=0x380
[C66xx_1] B12=0x86fe8c B13=0xc08542c
[C66xx_1] B14=0x870e24 B15=0x86da68
[C66xx_1] B16=0xa0100080 B17=0x0
[C66xx_1] B18=0xa0011180 B19=0x0
[C66xx_1] B20=0xffffffbf B21=0xa0011180
[C66xx_1] B22=0x0 B23=0x40000000
[C66xx_1] B24=0x86ba54 B25=0xffbf7eab
[C66xx_1] B26=0xdbfdbbff B27=0xb77fcf22
[C66xx_1] B28=0xa73746eb B29=0x276ea59f
[C66xx_1] B30=0x21 B31=0x0
[C66xx_1] NTSR=0x1400c
[C66xx_1] ITSR=0x0
[C66xx_1] IRP=0x0
[C66xx_1] SSR=0x0
[C66xx_1] AMR=0x0
[C66xx_1] RILC=0x0
[C66xx_1] ILC=0xd0
[C66xx_1] Exception at 0x812dd6
[C66xx_1] EFR=0x40000000 NRP=0x812dd6
[C66xx_1] External exception happened. MEXPFLAG[0]=0x800000.
[C66xx_1] MPU 6 protection violation error
[C66xx_1] The MSTID 93 (PRIVID 0) triggered MPU error at 0x1e888000 with non-secure access
[C66xx_1] User write fault!
[C66xx_1] NRP=0x812dd6, NTSR=0x1400c, IRP=0x0, ITSR=0x0, TSCH= 0x0, TSCL= 0x32eb24f1
[C66xx_1] B3=0x0, A4=0x0, B4= 0x0, B14= 0x0, B15= 0x0
[C66xx_1] Exception happened at a place can not safely return!
[C66xx_2] Debug: RM Startup was successful