Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту


Результаты опроса: Запуск "на коленке" часть 2. Что дальше будем обсмакивать?
RTC (часы реального времени) 119 11.39%
USB 541 51.77%
Базовые навыки работы с портами ввода-вывода 248 23.73%
АЦП 108 10.33%
ЦАП 29 2.78%
Голосовавшие: 1045. Вы ещё не голосовали в этом опросе

 
Опции темы

Здравствуй, ARM. Запуск "на коленке"

Непрочитано 11.11.2009, 12:51  
alexgap
Гражданин KAZUS.RUN
 
Аватар для alexgap
 
Регистрация: 08.07.2006
Сообщений: 883
Сказал спасибо: 119
Сказали Спасибо 1,108 раз(а) в 175 сообщении(ях)
alexgap на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Сообщение от colombo_2006 Посмотреть сообщение
А кто нибудь может объяснить почему TXD1/RXD1 есть на 62/63 ногах и на 75/74
Потому что могут использоваться либо одни ножки, либо другие, по выбору.
Цитата:
Еще вопрос: штатный бутлодер кнопкой запустить можно?
Можно. В простейшем случая нужны две - одна для сброса, другая для запуска загрузчика. Загрузчик может быть запущен только непосредственно после сброса. Загляните в AN10302.
Реклама:
alexgap вне форума  
Эти 3 пользователя(ей) сказали Спасибо alexgap за это сообщение:
Djakovskij (07.01.2012), ua4nfx (11.12.2009), Zorhan (16.03.2011)
Непрочитано 12.11.2009, 16:20  
Alexey_1811
Частый гость
 
Аватар для Alexey_1811
 
Регистрация: 10.11.2006
Адрес: Київ
Сообщений: 34
Сказал спасибо: 4
Сказали Спасибо 1 раз в 1 сообщении
Alexey_1811 на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Вижу никто не хочет переходить к делу, так давайте начну я.
Пытаюсь запустить прерывание таймера на камне LPC2101, среда Keil V4.01
Делаю так:
__irq void Timer0ISR (void) //Timer0 ISR
{
TimerIsUp = 1; //set Flag
T0IR = 0x01; //reset interrupt flag
VICVectAddr0 = 0; //reset VIC
return;
}

void InitTimer0 (void)
{

VICDefVectAddr = (unsigned int) &Timer0ISR;
VICIntEnable = 0x10; // Channel#4 is the Timer0
VICIntSelect = 0x00; // all interrupts are IRQs

/* Init Timer0 */

T0MR0 = 1500000; // Timer match (~ 0.1 second)
T0MCR = 0x03; // Interrupt on Match0, reset timer on match
T0PC = 0x01; // Prescaler to 2
T0TC = 0x00; // reset Timer counter
T0TCR = 0x01; // enable Timer

return;
}

int main (void) {
InitTimer0();
while (1) {
;
}
}

Прерывание не срабатывает и не могу найти крывизну.
Alexey_1811 вне форума  
Непрочитано 12.11.2009, 16:39  
Gnider
Почётный гражданин KAZUS.RUN
 
Регистрация: 30.06.2005
Сообщений: 3,392
Сказал спасибо: 5
Сказали Спасибо 429 раз(а) в 305 сообщении(ях)
Gnider на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Я работал не с кейлом но при инициализации нужно что-то вроде

VICVectAddr4 = (unsigned int) &Timer0ISR;

А при выходе из прерывания надо что-то типа

VICAddress = 0;

Кроме того надо включить прерывания.
Что-то вроде

__ARMLIB_enableIRQ();

И совет на будущее - контроллер прерываний инициализируют последним.
Gnider вне форума  
Непрочитано 12.11.2009, 16:54  
pambaru
Почётный гражданин KAZUS.RUN
 
Регистрация: 24.03.2007
Сообщений: 1,394
Сказал спасибо: 85
Сказали Спасибо 672 раз(а) в 392 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Сообщение от Alexey_1811 Посмотреть сообщение
Вижу никто не хочет переходить к делу, так давайте Пытаюсь запустить прерывание таймера на камне LPC2101, среда Keil V4.01
Делаю так:
Видимо проблема в VICDefVectAddr = (unsigned int) &Timer0ISR;
Что за адрес VICDefVectAddr?

Вот мое, работает:

VICVectAddr4=(unsigned)TM0_Handler;
VICVectCntl4=0x02; //приоритет

T0MR0=1125; //1125; //1125 для 1000 Гц, 5625 для 200 Гц
T0MCR=0x03; //сброс и прерывание по достижению T0MR0
T0PR=15; //prescaler = 16
T0TCR=0x02; //сброс

T0TCR=0x01; //пуск

VICIntSelect=0x00; //все как IRQ
VICIntEnable=(1‹‹4); //разрешаем TM0
pambaru вне форума  
Сказали "Спасибо" pambaru
Zorhan (16.03.2011)
Непрочитано 12.11.2009, 16:55  
pambaru
Почётный гражданин KAZUS.RUN
 
Регистрация: 24.03.2007
Сообщений: 1,394
Сказал спасибо: 85
Сказали Спасибо 672 раз(а) в 392 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

И сам обработчик:

__irq void TM0_Handler (void){
GlobalTimer++; //делаем что надо
// и выход
T0IR |=1;
VICVectAddr=0;
}

P.S. to Alexey_1811 - не кроется ли причина также в &Timer0ISR (присутствие символа &) ? (проверять некогда)

Последний раз редактировалось pambaru; 12.11.2009 в 17:01.
pambaru вне форума  
Непрочитано 12.11.2009, 17:00  
Alexey_1811
Частый гость
 
Аватар для Alexey_1811
 
Регистрация: 10.11.2006
Адрес: Київ
Сообщений: 34
Сказал спасибо: 4
Сказали Спасибо 1 раз в 1 сообщении
Alexey_1811 на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Сообщение от pambaru Посмотреть сообщение
И сам обработчик:

__irq void TM0_Handler (void){
GlobalTimer++; //делаем что надо
// и выход
T0IR |=1;
VICVectAddr=0;
}
Чего то не пашет. А можно весь проэкт?
Alexey_1811 вне форума  
Непрочитано 12.11.2009, 17:04  
pambaru
Почётный гражданин KAZUS.RUN
 
Регистрация: 24.03.2007
Сообщений: 1,394
Сказал спасибо: 85
Сказали Спасибо 672 раз(а) в 392 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Сообщение от Alexey_1811 Посмотреть сообщение
Чего то не пашет. А можно весь проэкт?
Ну слишком большой и коммерческий
А также в ассемблерном файле инициализации должно быть:
; LDR PC, IRQ_Addr ; это забито комментом
LDR PC, [PC, #-0x0120] ; Vector from VicVectAddr ; а это открыто

Имею в виду место, где описываются вектора
И как выше писал:
P.S. to Alexey_1811 - не кроется ли причина также в &Timer0ISR (присутствие символа &) ? (проверять некогда)
pambaru вне форума  
Непрочитано 12.11.2009, 17:12  
pambaru
Почётный гражданин KAZUS.RUN
 
Регистрация: 24.03.2007
Сообщений: 1,394
Сказал спасибо: 85
Сказали Спасибо 672 раз(а) в 392 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Да, на счет моей строки:
VICVectAddr4=(unsigned)TM0_Handler;
на всякий случай поясню, что у меня LPC2468 (не сказал сразу). В вашем проце может номер вектора другой (хотя судя по вашей строке VICIntEnable = 0x10 - тот же самый).

Последний раз редактировалось pambaru; 12.11.2009 в 17:14.
pambaru вне форума  
Непрочитано 12.11.2009, 17:24  
AJScorp
Почётный гражданин KAZUS.RUN
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,550
Сказал спасибо: 384
Сказали Спасибо 735 раз(а) в 416 сообщении(ях)
AJScorp на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Сообщение от Alexey_1811 Посмотреть сообщение
T0TC = 0x00; // reset Timer counter
Правильнее T0TC = 0x02;

Сообщение от Alexey_1811 Посмотреть сообщение
Прерывание не срабатывает
Нужно разрешить IRQ в CPSR
Код:
__inline void __enable_interrupt(void)
{
  int tmp;
  __asm
  {
    MRS tmp, CPSR
    BIC tmp, tmp, #0x80
    MSR CPSR_c, tmp
  }
}

Последний раз редактировалось AJScorp; 12.11.2009 в 17:31.
AJScorp вне форума  
Непрочитано 12.11.2009, 17:42  
pambaru
Почётный гражданин KAZUS.RUN
 
Регистрация: 24.03.2007
Сообщений: 1,394
Сказал спасибо: 85
Сказали Спасибо 672 раз(а) в 392 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Сообщение от Alexey_1811 Посмотреть сообщение
Если прописываю VICDefVecyAddr = 0x00000120 то в прерывание попадаю (Хотя я понимаю что это через ж...у).
На счет VICDefVecyAddr не могу сказать - у меня такого определения нет.
Видимо VICDefVecyAddr = 0x00000120 эквивалентно
LDR PC, [PC, #-0x0120] ; Vector from VicVectAddr
в моем инициализационном файле.
У меня версия:
IDE-Version:
µVision3 V3.55a
Toolchain: RealView MDK-ARM Version: 3.15b
pambaru вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 08:57.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.