Перейти к содержанию
    

HBI-0056B

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

 

Имеется 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.

 

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

 

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...