Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Таймер 0 и irq в ADuC7024
Отправлено
batat 29 марта 2009, г. 17:01
Добрый день.
Не могу получить прерывание от таймера 0.
Хочу чтобы в прерывании ножка ХХ процессора = 1
Вот что я делаю:
NAME main
#define sck_0 =0xffbfff00 //(31-24 bit didect port) 23-16 out, 7-0 input
#define sck_1 =0xff40ff00 //(31-24 bit didect port) 23-16 out, 7-0 input
#define t0ld =0xffff0300
#define t0val =0xffff0304
#define t0con =0xffff0308
#define t0clri =0xffff030c
#define irqen =0xffff0008
PUBLIC __iar_program_start
SECTION .intvec : CODE (2)
CODE32
__iar_program_start
SECTION .text : CODE (2)
CODE32
b main //ctr 66 arm7 core
b insrtruction
b software
b abort_prefetch
b abort_data
b rezerved
b irq //page 75 aduc manual +irq timer
b fio
main:
//set timer 0
ldr r1,=0x00000088
ldr r0,=0xffff0308 //t0con
str r1,[r0]
//irq en
ldr r0,=0xffff0008 //irqen
ldr r1,=0x00000004
str r1,[r0]
// Enable IRQ and FIQ interrupts //cpsr
mrs r0,cpsr
ldr r1,=0xffffff5f
and r0,r1,r0
msr cpsr_c,r0
// end set timer 0
// ldr r0,=0xfffff404 //gp1con
// mov r1,#0
//str r1,[r0] //all pin GPIO
//ldr r0,=0xfffff40c //gp3con
//str r1,[r0] //all pin GPIO
//ldr r0,=0xfffff450 //gp1dat (31-24 bit didect port) 23-16 out, 7-0 input
//ldr r1,=0xffff0000
// str r1,[r0]
//----------- IRQ vector
insrtruction:
// subs pc,r14,#4
software:
// subs pc,r14,#4
abort_prefetch:
// subs pc,r14,#4
abort_data:
// subs pc,r14,#4
rezerved:
// subs pc,r14,#4
fio:
//subs pc,r14,#4
irq:
push {r0,r1}
ldr r0,=0xfffff450 //gp1dat (31-24 bit didect port) 23-16 out, 7-0 input
ldr r1,=0xffff0000
str r1,[r0]
pop {r0,r1}
subs pc,r14,#4
END
Составить ответ | Вернуться на конференцию.
Ответы