Remapping vector table in the iMX6

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

Remapping vector table in the iMX6

1,600件の閲覧回数
ogj
Contributor IV

I'm having an issue/misunderstanding on remapping the vector table for the A9 core (iMX6 Quad) in a bare metal (flat mapped) application. I assumed I could create a vector table in some arbitrary location in RAM, load that location into the vbar register:

ldr r0, =vector_tbl
mcr p15, 0, r0, c12, c0, 0 //write VBAR register

and when an interrupt occurred (via the gic/IRQ), control would pass to the IRQ handler. This isn't happening. Control actually passes to the svc handler with the cpu in IRQ mode. I'm pretty sure this is a result of not remapping the vector table correctly. Any guidance on this?

ラベル(1)
0 件の賞賛
返信
2 返答(返信)

1,596件の閲覧回数
Zhiming_Liu
NXP TechSupport
NXP TechSupport

The Remapping vector table code in start.S/vectors.S is not written by nxp. You should post this issue in linux kernel site.And this start code shouldn't have errors.

0 件の賞賛
返信

1,583件の閲覧回数
ogj
Contributor IV

Got the answer from ARM. The vector table must be on a 32-byte boundary.

0 件の賞賛
返信