wanderlust 0 27 апреля, 2010 Опубликовано 27 апреля, 2010 · Жалоба Здравствуйте. Имеется 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. Может у кого-то есть опыт, в какую сторону надо копать? Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться