Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Освоение арма
Отправлено
_alex_ 05 февраля 2008 г. 17:46
Понимаю, что нужно перечитать кучу документации, но может кто подскажет.
AT91SAM7S256. Среда кейл. Взял родной кейловский стартап SAM7.s.
Написал прогу:
#include <AT91SAM7S256.h>
AT91S_PIO *pPIO;
int main(void)
{
pPIO->PIO_PER=0x00000001;
pPIO->PIO_OER=0x00000001;
pPIO->PIO_IFDR=0xFFFFFFFF;
pPIO->PIO_SODR=0x00000001;
pPIO->PIO_IDR=0xFFFFFFFF;
pPIO->PIO_MDDR=0xFFFFFFFF;
pPIO->PIO_PPUDR=0xFFFFFFFF;
pPIO->PIO_ASR=0xFFFFFFFF;
pPIO->PIO_OWER=0x00000001;
for (;;){
pPIO->PIO_SODR=0x00000001;
pPIO->PIO_CODR=0x00000001;
}
}
Прохожусь жтагом, попадаю на инструкцию...
0x00101E46 E7FE B 0x00101E46
что-то мне подсказывает, что это замкнутый цикл...
Зависаю в стартапе в точке:
// Enter the C code
LDR R0,=?C?INIT
TST R0,#1 ; Bit-0 set: main is Thumb
LDREQ LR,=exit?A ; ARM Mode
LDRNE LR,=exit?T ; Thumb Mode
BX R0 <<<<<---------- ЗДЕСЬ
ENDP
Может, какие-то настройки проекта поменять?
Use Thumb mode не использую
Составить ответ | Вернуться на конференцию
Ответы