Tool/software:
Dear TI,
After changes from the thread for the reduction of DDR from 32GB to 16GB (0 and 1 instances only) , we have issues with the vision_apps.
Are there some other changes necessary in the PSDK RTOS in order to reflect this reduction of the DDR size?
We are using version 10.0 of the SDK.
Scenario 1 - current behavior:
- Proper Linux dtsi file included as from previous thread.
- Generated j784s4_board_ddrRegInit.h file integrated in the RTOS SDK
- Changes in the app_perf to reduce DDR number of instances from 4 to 2 as below:
--- utils/perf_stats/src/app_perf_stats_freertos.c | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/utils/perf_stats/src/app_perf_stats_freertos.c b/utils/perf_stats/src/app_perf_stats_freertos.c index ff0825d..b2a13f9 100644 --- a/utils/perf_stats/src/app_perf_stats_freertos.c +++ b/utils/perf_stats/src/app_perf_stats_freertos.c @@ -102,7 +102,7 @@ #elif defined (SOC_J721S2) #define APP_PERF_NUM_DDR_INSTANCES (2u) #elif defined (SOC_J784S4) -#define APP_PERF_NUM_DDR_INSTANCES (4u) +#define APP_PERF_NUM_DDR_INSTANCES (2u) #endif /** \brief Max number of tasks whose information can be locally maintained (transmitted may be smaller) */ @@ -755,20 +755,6 @@ void appPerfStatsDdrStatsReadCounters(uint32_t *val0, uint32_t *val1, uint32_t * cnt3[1] = (volatile uint32_t *)0x029A0110; #endif - #if defined(SOC_J784S4) - cnt_sel[2] = (volatile uint32_t *)0x029C0100; - cnt0[2] = (volatile uint32_t *)0x029C0104; - cnt1[2] = (volatile uint32_t *)0x029C0108; - cnt2[2] = (volatile uint32_t *)0x029C010C; - cnt3[2] = (volatile uint32_t *)0x029C0110; - - cnt_sel[3] = (volatile uint32_t *)0x029E0100; - cnt0[3] = (volatile uint32_t *)0x029E0104; - cnt1[3] = (volatile uint32_t *)0x029E0108; - cnt2[3] = (volatile uint32_t *)0x029E010C; - cnt3[3] = (volatile uint32_t *)0x029E0110; - #endif - if(is_first_time) { is_first_time = 0; -- 2.34.1
- When we run single_app_cam, and try to print statistics, it stucks at the following (only Ctrt+C stops the program).
Detailed CPU performance/memory statistics, =========================================== 56.333295 s: DDR_SHARED_MEM: Alloc's: 21 alloc's of 46326038 bytes 56.333304 s: DDR_SHARED_MEM: Free's : 0 free's of 0 bytes 56.333311 s: DDR_SHARED_MEM: Open's : 21 allocs of 46326038 bytes CPU: mcu2_0: TASK: FREERTOS_TA: 18.48 % CPU: mcu2_0: TASK: IPC_RX: 0. 1 % CPU: mcu2_0: TASK: REMOTE_SRV: 0. 0 % CPU: mcu2_0: TASK: LOAD_TEST: 0. 0 % CPU: mcu2_0: TASK: TIVX_CPU_0: 12. 3 % CPU: mcu2_0: TASK: TIVX_V1NF: 0. 0 % CPU: mcu2_0: TASK: TIVX_V1LDC: 0. 0 % CPU: mcu2_0: TASK: TIVX_V1MSC1: 0.14 % CPU: mcu2_0: TASK: TIVX_V1MSC2: 0. 0 % CPU: mcu2_0: TASK: TIVX_V1VISS: 0.20 % CPU: mcu2_0: TASK: TIVX_CAPT1: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT2: 0. 6 % CPU: mcu2_0: TASK: TIVX_CAPT3: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT4: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT5: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT6: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT7: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT8: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT9: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT10: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT11: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT12: 0. 0 % CPU: mcu2_0: TASK: TIVX_DISP1: 0. 9 % CPU: mcu2_0: TASK: TIVX_DISP2: 0. 0 % CPU: mcu2_0: TASK: TIVX_CSITX: 0. 0 % CPU: mcu2_0: TASK: TIVX_CSITX2: 0. 0 % CPU: mcu2_0: TASK: TIVX_DPM2M1: 0. 0 % CPU: mcu2_0: TASK: TIVX_DPM2M2: 0. 0 % CPU: mcu2_0: TASK: TIVX_DPM2M3: 0. 0 % CPU: mcu2_0: TASK: TIVX_DPM2M4: 0. 0 % CPU: mcu2_0: TASK: IPC_TEST_RX: 0. 0 % CPU: mcu2_0: TASK: IPC_TEST_TX: 0. 0 % CPU: mcu2_0: TASK: IPC_TEST_TX: 0. 0 % CPU: mcu2_0: TASK: IPC_TEST_TX: 0. 0 % CPU: mcu2_0: TASK: IPC_TEST_TX: 0. 0 % CPU: mcu2_0: TASK: IPC_TEST_TX: 0. 0 % CPU: mcu2_0: TASK: IPC_TEST_TX: 0. 0 % CPU: mcu2_0: TASK: IPC_TEST_TX: 0. 0 % CPU: mcu2_0: TASK: IPC_TEST_TX: 0. 0 % CPU: mcu2_0: TASK: IPC_TEST_TX: 0. 0 % ^C Clean up and exit while handling signal 2 Application did not close some rpmsg_char devices
Also we started getting following printouts which were not present earlier:
[MCU2_0] 56.213483 s: VX_ZONE_ERROR:[tivxDisplayProcess:1182] DISPLAY: ERROR: Wrong Operation Mode Selected!
[MCU2_0] 56.245172 s: VX_ZONE_ERROR:[tivxDisplayProcess:1182] DISPLAY: ERROR: Wrong Operation Mode Selected!
[MCU2_0] 56.276850 s: VX_ZONE_ERROR:[tivxDisplayProcess:1182] DISPLAY: ERROR: Wrong Operation Mode Selected!
[MCU2_0] 56.308535 s: VX_ZONE_ERROR:[tivxDisplayProcess:1182] DISPLAY: ERROR: Wrong Operation Mode Selected!
Note that we do not have Display operational on our side, but nevertheless this was not behavior from earlier.
We do set proper mode but it seems when tivxDisplayProcess reads it, it is not same value, it is some garbage.
Scenario 2:
if we only revert DDR memory map in Linux, generated dtsi file (in related post answer from Kevin), vision_apps and single cam app work properly.
With this setup we do have mentioned kernel panic in related post.due to wrong ddr settings.
Best regards,
Milena