我们正在TDA4VEN的C75上开发毫米波雷达的应用,运行时发现C7x访问DDR_SHARED_MEM(virtual Addr 0xc0000000 physical Addr 0x900000000)的时候大概率会发生 page fault,日志如下
[C7x_1 ] 139.312399 s: access 0x7E000000u = 10000. [C7x_1 ] 139.312418 s: access 0x7E200000u = 0. [C7x_1 ] 139.312437 s: access 0x100000000u = ffffffff. [C7x_1 ] 139.312458 s: access 0x102000000u = ffffffff. [C7x_1 ] 139.312476 s: access 0x110000000u = ff7fdfff. [C7x_1 ] 139.312496 s: access 0x112000000u = ffffdfff. [C7x_1 ] 139.312511 s: A0 =0xa5a5a5a5a5a5a5a5 A1 =0xa5a5a5a5a5a5a5a5 [C7x_1 ] 139.312529 s: A2 =0xa5a5a5a5a5a5a5a5 A3 =0xa5a5a5a5a5a5a5a5 [C7x_1 ] 139.312545 s: A4 =0xa5a5a5a5a5a5a5a5 A5 =0xa5a5a5a5a5a5a5a5 [C7x_1 ] 139.312561 s: A6 =0xa5a5a5a5a5a5a5a5 A7 =0xa5a5a5a5a5a5a5a5 [C7x_1 ] 139.312576 s: A8 =0xa5a5a5a5a5a5a5a5 A9 =0xa5a5a5a5a5a5a5a5 [C7x_1 ] 139.312590 s: A10=0xa5a5a5a5a5a5a5a5 A11=0xa5a5a5a5a5a5a5a5 [C7x_1 ] 139.312603 s: A12=0xa5a5a5a5a5a5a5a5 A13=0xa5a5a5a5a5a5a5a5 [C7x_1 ] 139.312616 s: A14=0xa5a5a5a5a5a5a5a5 A15=0xa5a5a5a5a5a5a5a5 [C7x_1 ] 139.312629 s: [C7x_1 ] 139.312636 s: Exception at 0xa5a5a5a5ada0ba50 [C7x_1 ] 139.312647 s: TSR at time of exception: 0xa5a5a5a50300ff03 [C7x_1 ] 139.312660 s: Page fault: [C7x_1 ] 139.312669 s: IERR=0x0000000000000001 [C7x_1 ] IEAR=0x00000000c0000000 [C7x_1 ] IESR=0x0000000000010845 [C7x_1 ] 139.312688 s: Page fault exception: [C7x_1 ] 139.312700 s: .D1 or .D2 uTLB lookup fault, Non-speculative load [C7x_1 ] 139.312713 s: utlb_rstatus=0x845
另外C7x初始化mem的时候也会小概率的发生这个问题
[C7x_2 ] 7.204146 s: CIO: Init ... Done !!! [C7x_2 ] 7.204165 s: CPU is running FreeRTOS [C7x_2 ] 7.204177 s: APP: Init ... !!! [C7x_2 ] 7.204187 s: SCICLIENT: Init ... !!! [C7x_2 ] 7.204246 s: SCICLIENT: DMSC FW version [10.1.6--v10.01.06 (Fiery Fox)] [C7x_2 ] 7.204264 s: SCICLIENT: DMSC FW revision 0xa [C7x_2 ] 7.204277 s: SCICLIENT: DMSC FW ABI revision 4.0 [C7x_2 ] 7.204290 s: SCICLIENT: Init ... Done !!! [C7x_2 ] 7.204302 s: UDMA: Init ... !!! [C7x_2 ] 7.204328 s: UDMA: Init ... Done !!! [C7x_2 ] 7.204340 s: MEM: Init ... !!! [C7x_2 ] 7.204375 s: A0 =0xa5a5a5a5a5a5a5a5 A1 =0xa5a5a5a5a5a5a5a5 [C7x_2 ] 7.204391 s: A2 =0xa5a5a5a5a5a5a5a5 A3 =0xa5a5a5a5a5a5a5a5 [C7x_2 ] 7.204405 s: A4 =0xa5a5a5a5a5a5a5a5 A5 =0xa5a5a5a5a5a5a5a5 [C7x_2 ] 7.204418 s: A6 =0xa5a5a5a5a5a5a5a5 A7 =0xa5a5a5a5a5a5a5a5 [C7x_2 ] 7.204431 s: A8 =0xa5a5a5a5a5a5a5a5 A9 =0xa5a5a5a5a5a5a5a5 [C7x_2 ] 7.204445 s: A10=0xa5a5a5a5a5a5a5a5 A11=0xa5a5a5a5a5a5a5a5 [C7x_2 ] 7.204458 s: A12=0xa5a5a5a5a5a5a5a5 A13=0xa5a5a5a5a5a5a5a5 [C7x_2 ] 7.204471 s: A14=0xa5a5a5a5a5a5a5a5 A15=0xa5a5a5a5a5a5a5a5 [C7x_2 ] 7.204484 s: [C7x_2 ] 7.204492 s: Exception at 0xa5a5a5a5b1a3fb60 [C7x_2 ] 7.204504 s: TSR at time of exception: 0xa5a5a5a50300ff03 [C7x_2 ] 7.204516 s: Page fault: [C7x_2 ] 7.204525 s: IERR=0x0000000000000001 [C7x_2 ] IEAR=0x000000011bffffc8 [C7x_2 ] IESR=0x0000000000010805 [C7x_2 ] 7.204542 s: Page fault exception: [C7x_2 ] 7.204552 s: .D1 or .D2 uTLB lookup fault, Non-speculative load [C7x_2 ] 7.204566 s: utlb_rstatus=0x805
还有一个问题是我尝试着用ccs去debug的时候,提示找不到xds110, 我的板子是J722SXH01EVM,尝试了重新插拔,也试了拨码开关拨到noboot/uart/sd各种启动模式,插上usb后只有LD3亮起,LD2不亮
An error occurred while hard opening the controller. -----[An error has occurred and this utility has aborted]-------------------- This error is generated by TI's USCIF driver or utilities. The value is '-260' (0xfffffefc). The title is 'SC_ERR_XDS110_OPEN'. The explanation is: An attempt to connect to the XDS110 failed. The cause may be one or more of: no XDS110 is connected, invalid firmware update, invalid XDS110 serial number, or faulty USB cable. The firmware and serial number may be updated using the xdsdfu utility found in the .../ccs_base/common/uscif/xds110 directory of your installation. View the XDS110SupportReadMe.pdf file there for instructions. [End: Texas Instruments XDS110 USB Debug Probe_0]
期待回复,多谢!