DDR Controller data abort recovery?

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

DDR Controller data abort recovery?

跳至解决方案
1,041 次查看
johnballance
Contributor III

Hi

is there anything I need to do with the DDR controller after it has caused a data abort through accessing non existent addresses?  It seems happy on writes, but seems to give a data abort on reads.

Thanks

John

标签 (6)
0 项奖励
回复
1 解答
819 次查看
Yuri
NXP Employee
NXP Employee

  According to the i.MX6 Reference Manual :

“The following registers in the MMDC define the DDR address space:

• MDMISC[DDR_4_BANK]—Defines either 4 or 8 banks in the DDR device

• MDCTL[DSIZ]—Defines the DDR data bus width of x16, x32 or x64

• MDMISC[BI]—Defines whether bank interleaving is on or off

• MDCTL[COL]—Defines the column size of the DDR device

• MDCTL[ROW]—Defines the row size of the DDR device”.

Also, “It is optional to configure the partition between the chip selects through

MDASP[CS0_END]”.

  Generally for an access to an address, which is not used (non-covered) by internal
i.MX6 modules, we can expect ARM data abort exception, but the following  

statement (NOTE) may be considered as recommendation to avoid such accesses :

“In cases where this is an access to a non-initialized or disconnected chip select,

behavior may be unexpected”.

If it is required to define memory size – it makes sense to test it without checking

addresses, that are out of range. It is enough to test (quite accessible) memory region

via writing and consequent reading data, assuming they are equal for real memory. 

在原帖中查看解决方案

0 项奖励
回复
1 回复
820 次查看
Yuri
NXP Employee
NXP Employee

  According to the i.MX6 Reference Manual :

“The following registers in the MMDC define the DDR address space:

• MDMISC[DDR_4_BANK]—Defines either 4 or 8 banks in the DDR device

• MDCTL[DSIZ]—Defines the DDR data bus width of x16, x32 or x64

• MDMISC[BI]—Defines whether bank interleaving is on or off

• MDCTL[COL]—Defines the column size of the DDR device

• MDCTL[ROW]—Defines the row size of the DDR device”.

Also, “It is optional to configure the partition between the chip selects through

MDASP[CS0_END]”.

  Generally for an access to an address, which is not used (non-covered) by internal
i.MX6 modules, we can expect ARM data abort exception, but the following  

statement (NOTE) may be considered as recommendation to avoid such accesses :

“In cases where this is an access to a non-initialized or disconnected chip select,

behavior may be unexpected”.

If it is required to define memory size – it makes sense to test it without checking

addresses, that are out of range. It is enough to test (quite accessible) memory region

via writing and consequent reading data, assuming they are equal for real memory. 

0 项奖励
回复