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

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

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

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

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

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


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

 
Опции темы
Непрочитано 23.07.2010, 21:49  
zheleznjakov
Прописка
 
Аватар для zheleznjakov
 
Регистрация: 31.03.2010
Сообщений: 200
Сказал спасибо: 3
Сказали Спасибо 48 раз(а) в 41 сообщении(ях)
zheleznjakov на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Начните с примеров от атмела, там все подробно описанно.
И есть исходный код.
Реклама:
zheleznjakov вне форума  
Непрочитано 28.07.2010, 08:17  
vvkka
Прописка
 
Регистрация: 24.08.2005
Сообщений: 139
Сказал спасибо: 18
Сказали Спасибо 16 раз(а) в 15 сообщении(ях)
vvkka на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Вот кому интересно ребята разрабатывают новый проект с ARM http://projects.org.ua/forum/viewtopic.php?t=2723 с изготовлением платы на заводе и дальнейшей рассылкой
vvkka вне форума  
Непрочитано 28.07.2010, 10:59  
uk8amk
Вид на жительство
 
Регистрация: 05.07.2006
Адрес: Tashkent
Сообщений: 454
Сказал спасибо: 24
Сказали Спасибо 67 раз(а) в 44 сообщении(ях)
uk8amk на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Есть здесь кто работает в Image Craft ARM?

У меня такие вопросы:
1) Как мне в нем подключить режим FIQ? Я так подозреваю что надо подредактировать стартап файл. Но как свой стартап подключить к проекту? Захожу Project -›Options-›Target-›Use custom startup file. Ничего не происходит.
2)Как из стартапа обратится к своему обработчику IRQ, FIQ и т.д. Если можно небольшой пример.
uk8amk вне форума  
Непрочитано 30.07.2010, 15:23  
espectr0
Временная регистрация
 
Регистрация: 26.09.2009
Сообщений: 81
Сказал спасибо: 4
Сказали Спасибо 16 раз(а) в 13 сообщении(ях)
espectr0 на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Цитата:
2)Как из стартапа обратится к своему обработчику IRQ, FIQ и т.д. Если можно небольшой пример.
Странный вопрос, зачем это делать? С какими МК работаете?
espectr0 вне форума  
Непрочитано 31.07.2010, 09:49  
uk8amk
Вид на жительство
 
Регистрация: 05.07.2006
Адрес: Tashkent
Сообщений: 454
Сказал спасибо: 24
Сказали Спасибо 67 раз(а) в 44 сообщении(ях)
uk8amk на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Сообщение от espectr0 Посмотреть сообщение
Странный вопрос, зачем это делать? С какими МК работаете?
На данный момент изучаю LPC2101. А дело вот в чем. В проекте указан Default startup crtlpc2k.o . При попытке открыть его блокнотом оттуда вываливается всякий бред, видимо он чем-то был до этого обработан. В другой папке(libsrc.arm) есть исходник стартапа для него: файл crtlpc2k.s . При открытии блокнотом в таблице векторов следующее:
LDR PC,cstart_addr ; reset
SUB PC,PC,#8 ; undefined instruction
SUB PC,PC,#8 ; software interrupt
SUB PC,PC,#8 ; prefetch data abort
SUB PC,PC,#8 ; data abort
SUB PC,PC,#8 ; not used
LDR PC,[PC,#-0xFF0] ; IRQ
SUB PC,PC,#8 ; FIQ
Т.о. все прерывания кроме IRQ и Reset здесь не используются. С IRQ вроде все ясно: при поступлении запроса процессор переходит(и действительно переходит) в адресное пространство контроллера VIC, который уже на аппаратном уровне переключается на выбранной слотовый вектор. А у меня в книге пример есть с FIQ(в книжке правда про KEIL написано), который я и хочу попробовать. Т.е. мне на место вектора FIQ надо написать что-то типа
LDR PС, FIQ_Handler
А как потом из асма прыгнуть на СИшную функцию?
И как ему объяснить чтобы компилятор потом скушал именно мой собственный стартап crtlpc2k.s из моей папки?

Я бы конечно не задавал такие глупые вопросы если к компилятору ICСV7ARM был бы нормальный хелп(или любое другое описание в интернете), описывающий не только абстрактную теорию, но и еще хоть какие-нибудь примеры по этой и ей подобным темам.
Вообще, я немного разочаровался в ImageCraft: нет хорошего хелпа, Application Builder хорошо глючит(у меня нормально настроилось только MAM и IRQ, остальное все с ошибками), нет макроопределений всех регистров контроллера, названия регистров не соответсвуют даташиту ну еще много чего. Какой-то сырой и недоделанный он.
uk8amk вне форума  
Непрочитано 31.07.2010, 10:53  
espectr0
Временная регистрация
 
Регистрация: 26.09.2009
Сообщений: 81
Сказал спасибо: 4
Сказали Спасибо 16 раз(а) в 13 сообщении(ях)
espectr0 на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

uk8amk, этих недостатков лишен KEIL.
espectr0 вне форума  
Непрочитано 02.08.2010, 17:25  
uk8amk
Вид на жительство
 
Регистрация: 05.07.2006
Адрес: Tashkent
Сообщений: 454
Сказал спасибо: 24
Сказали Спасибо 67 раз(а) в 44 сообщении(ях)
uk8amk на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Ладно, с FIQ-ом разберусь немного позже когда поставлю KEIL.

А сейчас у меня очередная порция вопросов:
1)В User Manual LPC2101 в разделе VIC написано, что он имеет 32 канала прерываний. Векторные прерывания(16 слотов)+невекторное+FIQ = всего 18 штук, а откуда взялись остальные?
2)Если взять к примеру таймер, то он может генерировать много разных прерываний, там переполнения, захваты и т.д. А от таймера всего один канал идет. Выходит что нужно самому в обработчике от таймера считывать флажки регистров и программно отлавливать произошедшие события? Как-то дико это выглядит после AVR или я где-то заблуждаюсь?
3)Для прескалера в документации указано значение PR+1. Получается что частота тактирования(счета T0TC) таймера будет как минимум в два раза меньше частоты периферийной шины APB?
uk8amk вне форума  
Непрочитано 02.08.2010, 18:27  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Сообщение от uk8amk Посмотреть сообщение
Векторные прерывания(16 слотов)+невекторное+FIQ = всего 18 штук, а откуда взялись остальные?
16 векторных, 16 невекторных (один обработчик, но источников запроса может быть 16). Итого ровно 32. FIQ - просто конфигурация, обычно одного из векторных, хотя FIQ по хорошему должно быть одно и можно просто фиксированным адресом обойтись.

Сообщение от uk8amk Посмотреть сообщение
Выходит что нужно самому в обработчике от таймера считывать флажки регистров и программно отлавливать произошедшие события? Как-то дико это выглядит после AVR или я где-то заблуждаюсь?
Дико, не дико - но так есть. Еще и сбрасывать флажки придется.

Сообщение от uk8amk Посмотреть сообщение
Для прескалера в документации указано значение PR+1. Получается что частота тактирования(счета T0TC) таймера будет как минимум в два раза меньше частоты периферийной шины APB?
Нет. +1 просто отсекает нулевой коэффицент деления. А вот на 1 поделить уже вполне можно.
kison вне форума  
Непрочитано 03.08.2010, 10:02  
uk8amk
Вид на жительство
 
Регистрация: 05.07.2006
Адрес: Tashkent
Сообщений: 454
Сказал спасибо: 24
Сказали Спасибо 67 раз(а) в 44 сообщении(ях)
uk8amk на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Сообщение от kison Посмотреть сообщение
FIQ - просто конфигурация, обычно одного из векторных, хотя FIQ по хорошему должно быть одно и можно просто фиксированным адресом обойтись.
Т.е. вы хотите сказать что вместо того, чтобы использовать вектор FIQ из таблицы векторов, можно просто сконфигурировать на него один из слотов(к примеру VICVectAddr0), он прикинется FIQ-ом и будет также обрабатывать события но раза в два быстрее?
uk8amk вне форума  
Непрочитано 03.08.2010, 12:14  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Здравствуй, ARM. Запуск "на коленке"

Сообщение от uk8amk Посмотреть сообщение
Т.е. вы хотите сказать что вместо того, чтобы использовать вектор FIQ из таблицы векторов, можно просто сконфигурировать на него один из слотов(к примеру VICVectAddr0)
Можно.
Сообщение от uk8amk Посмотреть сообщение
он прикинется FIQ-ом и будет также обрабатывать события но раза в два быстрее?
Вот в два раза быстрее точно не будет Чуть быстрее. Вся скорость FIQ в том, что есть свой банк регистров - экономим пяток тактов на входе/выходе, ну и оно может прерывать обычные прерывания.
kison вне форума  
 

Закладки
Опции темы

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

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

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


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


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