IP reassy problem in ls2088 / AIOP

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

IP reassy problem in ls2088 / AIOP

1,170 次查看
wille_kuutti
Contributor I

I'm working on a IP reassy with LS2088ARDB reference board in AIOP. Trying to create a reassebly instance with ipr_create_instance always leads to "> MAJOR [CPU 0, exception_handler.c:59 exception_handler]: error: System memory write error (permission or ECC).". Early init ot the reassy succeeds. Also timer creation for the expiration timers succeed. Any ideas?

I have even tried this with another HW to narrow down the HW failure possibility.

标签 (1)
0 项奖励
5 回复数

1,006 次查看
yipingwang
NXP TechSupport
NXP TechSupport

Hello Wille Kuutti,

Please check whether the following section has been executed successfully.

       enum memory_partition_id mem_pid = MEM_PART_SYSTEM_DDR;

        if (fsl_mem_exists(MEM_PART_DP_DDR))
                mem_pid = MEM_PART_DP_DDR;

     ... ...

      fsl_get_mem( 0x20*64, mem_pid, 64, &tmi_mem_base_addr);

        tman_create_tmi(tmi_mem_base_addr , 0x20, &ipr_demo_params.tmi_id);

Thanks,

Yiping

0 项奖励

1,006 次查看
wille_kuutti
Contributor I

Hi,

Those parts you described has been ran successfully. I’ve also tried to whitch to MEM_PART_SYSTEM_DDR, MEM_PART_PEB and switching allocation (in the aiopsl ipr.c) from cdma_acquire_context momory to fsl_mem_get, but the same problem persists with all these variations, the first cdma:_write fails with the same error message in the ipr.c ipr_create_intance function. Also same result with or without sw tables.

Br,

Wille

0 项奖励

1,006 次查看
yipingwang
NXP TechSupport
NXP TechSupport

Hello Wille,

The Timer instance (TMI) was common for IPR timers as well as others like PBRC timers. The design is such that the TMI is allocated per application module.
There was an issue in PBRC callback timer code, which was probably causing some TMAN hardware internal corruption.

We can move the TMI creation inside IPR, there is additional memory needed by IPR to create the TMI.

Thanks

Yiping

0 项奖励

1,006 次查看
wille_kuutti
Contributor I

Hi,

I think timers is not the problem here. I used IPR_MODE_TMI option to move timer allocation inside ipr_create_instance (in the aiopsl library) and the error happend before it calls tman_create_tmi.

Br,

Wille

0 项奖励

1,006 次查看
wille_kuutti
Contributor I

Hi,

I did a little test. No timers, no ipr just allocating the memory and write:

slab_find_and_reserve_bpid(100,
IPR_CONTEXT_SIZE,
8,
MEM_PART_DP_DDR,
NULL,
&bpid);

cdma_acquire_context_memory(bpid,
ipr_instance_ptr);


cdma_write(*ipr_instance_ptr, &ipr_instance_s, IPR_INSTANCE_SIZE);

It ended up with the similar results:

> MAJOR [CPU 0, exception_handler.c:57 exception_handler]: Fatal error encountered in file: cdma.c, line: 279
> MAJOR [CPU 0, exception_handler.c:58 exception_handler]: function: cdma_write
> MAJOR [CPU 0, exception_handler.c:59 exception_handler]: error: System memory write error (permission or ECC).

And by the way, the first print is a bit misleading since the exception handler is in the cdma.c and the file name comes from that code, the actual code is located in the inline_cdma.h file for which the line number also points.

Br,

Wille

0 项奖励