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

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

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

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

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

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


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

 
Опции темы
Непрочитано 11.11.2009, 12:51  
alexgap
Гражданин KAZUS.RU
 
Аватар для alexgap
 
Регистрация: 08.07.2006
Сообщений: 886
Сказал спасибо: 119
Сказали Спасибо 1,110 раз(а) в 177 сообщении(ях)
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.RU
 
Регистрация: 30.06.2005
Сообщений: 3,399
Сказал спасибо: 5
Сказали Спасибо 431 раз(а) в 306 сообщении(ях)
Gnider на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

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

VICVectAddr4 = (unsigned int) &Timer0ISR;

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

VICAddress = 0;

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

__ARMLIB_enableIRQ();

И совет на будущее - контроллер прерываний инициализируют последним.
Gnider вне форума  
Непрочитано 12.11.2009, 16:54  
pambaru
Почётный гражданин KAZUS.RU
 
Регистрация: 24.03.2007
Сообщений: 1,330
Сказал спасибо: 85
Сказали Спасибо 596 раз(а) в 361 сообщении(ях)
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.RU
 
Регистрация: 24.03.2007
Сообщений: 1,330
Сказал спасибо: 85
Сказали Спасибо 596 раз(а) в 361 сообщении(ях)
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.RU
 
Регистрация: 24.03.2007
Сообщений: 1,330
Сказал спасибо: 85
Сказали Спасибо 596 раз(а) в 361 сообщении(ях)
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.RU
 
Регистрация: 24.03.2007
Сообщений: 1,330
Сказал спасибо: 85
Сказали Спасибо 596 раз(а) в 361 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

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

Последний раз редактировалось pambaru; 12.11.2009 в 17:14.
pambaru вне форума  
Непрочитано 12.11.2009, 17:24  
AJScorp
Почётный гражданин KAZUS.RU
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
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.RU
 
Регистрация: 24.03.2007
Сообщений: 1,330
Сказал спасибо: 85
Сказали Спасибо 596 раз(а) в 361 сообщении(ях)
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, время: 18:09.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot