Jump to content

    
Sign in to follow this  
wanderlust

HBI-0056B

Recommended Posts

Здравствуйте.

 

Имеется Core Module HBI-0056B на базе ARM7TDMI. Стоит задача изменить рабочие частоты для процессора и PCI шины. Делается это (теоретически) вот таким куском кода:

 

 UNLOCK_VALUE EQU 0xA05F
LOCK_VALUE   EQU 0xFFFF
HDR_OSC      EQU 0x10000008
HDR_LOCK     EQU 0x10000014
CLK50        EQU 0x0015C000
CLK20        EQU 0x00120000

SC_OSC       EQU 0x11000004
SCLOCK       EQU 0x1100001C
CLK_AP_30    EQU 0x70
CLK_AP_26    EQU 0x60


ENTRY
LDR r0,=HDR_LOCK
LDR r1,=UNLOCK_VALUE
STR r1,[r0]
LDR r2,=HDR_OSC
LDR r1,=CLK50
STR r1,[r2]
LDR r1,=LOCK_VALUE
STR r1,[r0]

LDR r0,=SCLOCK
LDR r1,=UNLOCK_VALUE
STR r1,[r0]
LDR r2,=SC_OSC
LDR r1,=CLK_AP_30
STR r1,[r2]
LDR r1,=LOCK_VALUE
STR r1,[r0]

END

 

В последнем сегменте кода, который начинается с загрузки значения SCLOCK в третьей сторке выскакивает exception (Cause: Data Abort). Я так подозреваю, что связано это с тем, что пишеться значение не туда куда надо (могу и ошибаться, т.к. профан). В процесе написания программы использовались ARM Integrator/AP User Guide и ARM CM7TDMI User Guide.

 

Может у кого-то есть опыт, в какую сторону надо копать?

 

Спасибо.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this