DDR Controller data abort recovery?

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

DDR Controller data abort recovery?

ソリューションへジャンプ
982件の閲覧回数
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 解決策
760件の閲覧回数
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 返信
761件の閲覧回数
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 件の賞賛
返信