IPB

Здравствуйте, гость ( Вход | Регистрация )

4 страниц V  « < 2 3 4  
Ответить в данную темуНачать новую тему
> Прерывания в МК., Нужно ли их бояться?
Гость_MrYuran_*
сообщение 2.7.2010, 8:25
Сообщение #61





Гости






Цитата(Прохожий @ 2.7.2010, 3:09) *
2. Реальная производительность не намного выше, а то и ниже, чем у PIC24.

Зато, "в случае чего", не составит труда сменить производителя, ибо АРМ нынче мэйнстрим и вариантов множество.
А вот на что менять PIC24?
Да и производительность - понятие растяжимое.
Серия стандартных тестов при одинаковых внешних условиях - это одно.
Маркетинговые лозунги, основанные на каких-то из пальца высосанных умозаключениях - это другое.
Удельная производительность - мипс/МГц, /мВт - третье...

Да и для большинства задач хватает АВР или МСП, так что сколько процентов времени будет простаивать более мощный процессор - 98 или 99 - мне совершенно по барабану.
А я для своей специфики (активные датчики) очень уже облизываюсь на Cortex M0. Вот ещё периферии на него довесить бы чуток...
Перейти в начало страницы
 
+Цитировать сообщение
Гость_MrYuran_*
сообщение 2.7.2010, 8:52
Сообщение #62





Гости






Цитата(Stanislav_GS @ 2.7.2010, 5:30) *
Но я всё же предпочитаю не использовать стандартные "обёртки", а делать обработчики прерываний на нижнем уровне (ассемблер).
Именно ради времени выполнения.

Вот буквально вчера по дороге домой прочитал по диагонали книжку Криса Касперски насчёт оптимизации.
Одно из основных правил - избегать ассемблера, если только это не увеличивает производительность во много раз, и если это действительно нужно. И уж ни в коем случае не использовать всякие хитрые "фокусы", про которые через несколько лет и сам не вспомнишь
(Ё-моё, что ж я сделал-то?! ©)

Цитата(orthodox @ 2.7.2010, 5:02) *
И третий, последний: не получается ли так, что когда глубоко залез в подпрограммы, то для прерывания ресурсов не останется?
ну, к примеру, на ЯВУ , наверное, не всегда можно учесть это?

Не надо глубоко залезать в подпрограммы, и особенно в прерываниях!
И как раз-таки на си это очень легко обойти, либо задав принудительно аттрибут inline
(Я вместо макросов пишу микро-функции с аттрибутом static inline и вставляю их в h-файл),
либо предоставив это компилятору, с помощью ключей определяя стратегию инлайна
например, у меня так:
CFLAGS += --param inline-call-cost=2
CFLAGS += -finline-small-functions
CFLAGS += -fearly-inlining
CFLAGS += -finline-limit=100

Получаем, с одной стороны, легко читаемый структурированный исходник, а с другой - нет ненужных издержек.
Перейти в начало страницы
 
+Цитировать сообщение
Harbinger
сообщение 2.7.2010, 9:32
Сообщение #63


посіпака Хунти
Иконка группы

Группа: Мод
Сообщений: 20016
Регистрация: 21.11.2009
Из: Vinnitsa
Пользователь №: 11



Цитата(MrYuran @ 2.7.2010, 9:25) *
А я для своей специфики (активные датчики) очень уже облизываюсь на Cortex M0. Вот ещё периферии на него довесить бы чуток...

Тоже... конкретно на LPC111x в QFN (габариты жмут). Пора уже сползать с 51-х. smile.gif
Млин, 7 на 7 мм. Может и не уместиться. (Угу, хрен интересней оказался. Умещаться-то умещается, но в двух слоях не разводится, много лишних лап).
Перейти в начало страницы
 
+Цитировать сообщение
Прохожий
сообщение 2.7.2010, 18:31
Сообщение #64


сундук
***

Группа: Пользователи
Сообщений: 4043
Регистрация: 21.11.2009
Из: Ростов-на Дону
Пользователь №: 15



Цитата(MrYuran @ 2.7.2010, 8:43) *
Как раз-таки GNU средства - единственно нормальные.
....
Плюс, широчайший выбор бесплатных и очень качественных IDE.

Показывайте.
Только основные требования следующие.
1. Никаких Make файлов и прочей GNUсной писанины без нужды. Однако, с другой стороны, это должно быть доступно по первому требованию.
2. Наличие неограниченного симулятора для выбранного таргета с полной привязкой к исходникам.
3. Прозрачный механизм линкера. С возможностью установки абсолютных адресов в исходниках.
4. Обязательное наличие недорогих скоростных отладчиков (300$ в прыжке) без всяких ограничений абсолютно аналогичных симуляторам. Они же программаторы.
5. Наличие бесплатного С/C++ компилятора с оптимизацией вплоть до абстрактного уровня без ограничений.
6. Редактор должен производить предварительный лексический анализ кода.
7. Работа под Виндой.
Может кто еще чего добавит...

Цитата(orthodox @ 2.7.2010, 5:02) *
И третий, последний: не получается ли так, что когда глубоко залез в подпрограммы, то для прерывания ресурсов не останется?
ну, к примеру, на ЯВУ , наверное, не всегда можно учесть это?

Не беспокойтесь. Для 18-х PIC-ов при использовании MCC18 Вам это не грозит.
Уважаемого Огурцова предлагаю на первых порах не слушать.
То, что он предлагает, снесет начинающему башню однозначно...
Такие вещи можно делать, имея уже опыт программирования на С, С+ASM.
Особенно, если учесть тот факт, что в наших с Вами девайсах стоимость МК никакой роли не играет...
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 2.7.2010, 20:10
Сообщение #65


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Цитата(Прохожий @ 2.7.2010, 19:31) *
Особенно, если учесть тот факт, что в наших с Вами девайсах стоимость МК никакой роли не играет...

Да я как раз захотел влезть (точнее, попросили) в такой вариант, где играет каждый шуруп...
И МК призван будет как раз экономить по ср. с аналоговыми развесными решениями...
Хотя в целом - да, не играет конечно...

Так вот, к теме.
Что, на самом деле можно использовать переключение страниц,
которое было до того мне непонятным, для либо входа в подпрограмму,
либо обработки прерывания? Ну, чтобы не сохранять регистры, а просто оставить
на месте а после вернуться?
Я пока об этом не читал, но это так или нет?
Пока мне кажется что это ограниченно возможно,
бо доступ к некоторым ресурсам не прозрачен, из одной страницы не дотянуться...

Или вообще не заморачиваться?
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 2.7.2010, 21:04
Сообщение #66


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Цитата(Огурцов @ 2.7.2010, 22:01) *
Страницы ? А тогда оно вам надо ?


в общем, резервировать регистры для обработчика, наверное, удобнее...
Перейти в начало страницы
 
+Цитировать сообщение
Прохожий
сообщение 2.7.2010, 21:23
Сообщение #67


сундук
***

Группа: Пользователи
Сообщений: 4043
Регистрация: 21.11.2009
Из: Ростов-на Дону
Пользователь №: 15



Цитата(orthodox @ 2.7.2010, 22:10) *
Или вообще не заморачиваться?

Я бы рекомендовал следующее:
1. Скачать MPLAB,
2. Скачать С30
3. Установить это дело.
4. Купить PIC24F16KA102T-I/SO здесь .
Вот ссылка по Вашей стране.
Если здесь дорого, то можно через московских знакомых в Тритоне (цена за шт. 75 руб. в розницу).
5. Разработать схему и плату на нем.
6. Начать работу.
Могу пообещать посильную помощь на каждом из этапов.


Цитата(Огурцов @ 2.7.2010, 23:15) *
Гхм, ну если три-четыре камня по +5 баксов, то к розничной цене поимеем довесок в 3000 рублей. Серьезный девайс должен быть, чтобы на это закрывать глаза.

Я как-то на одном умудряюсь. И еще место и время остается...
А девайс достаточно серьезный.
Если выжать два лимона в одну кружку, то где-то так...
А в более дешевых устройствах могу себе позволить, присоветованное ув. ortodox-у в качестве индикатора.
Поверьте, в наших девайсах МК - не самое главное, а так, мелкий пыль...
P.S. Ставлю на себе эксперимент по ARM-ам.
Когда все закончится - обязательно доложу.
В любом случае.
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 2.7.2010, 22:40
Сообщение #68


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Цитата(Огурцов @ 2.7.2010, 22:15) *
Гхм, ну если три-четыре камня по +5 баксов, то к розничной цене поимеем довесок в 3000 рублей. Серьезный девайс должен быть, ценой так в тысяч 60, чтобы на это закрывать глаза.

Ну, собственно порядок цен примерно такой...20-60 , где-то так...
Но дело в том, что камни не очень-то у нас под доверием ходят,
так что пускают их в обслугу и в индикацию всякую, обмерить-выдать.

Но сейчас вот как раз оказалось что-то подешевле и не такое ответственное...
И, конечно, чтобы был камень - таки да, сейчас обычное требование в ТЗ.
Вот других пунктов может не быть, а камень - будет ...
Оно понятно, конечно - мода плюс секьюрити... ну и индикация кошерная, ЖК ...

Что странно - загорелся я выжать из недорогого типа PIC 16 или вроде того и силу тоже...
ну, хоть попробовать для себя... есть какой-то скачанный проектик, еще с давна,
и не один...на С, кстати. ну, хоть попробовать...Погонять, сходить в лабораторию на испытания по помехам...
чисто для себя... Как оно там себя поведет...

Цитата(Прохожий @ 2.7.2010, 22:23) *
2. Скачать С30
3. Установить это дело.
4. Купить PIC24F16KA102T-I/SO здесь .
Вот ссылка по Вашей стране.
Если здесь дорого, то можно через московских знакомых в Тритоне (цена за шт. 75 руб. в розницу).
6. Начать работу.

Вот все же надо простые осваивать...нутром чую.
Какой компилятор для 12 - 16 ?
на край - 18 , хотя с них кажется надо уже сразу 24, если дойдет до них...
Дорого сэмплы не бывают, а Гамма вроде политику нормально ведет. Не ломит.
Если заложиться на 16F676 или другой сверхпопулярный - то там вообще близко к рекомендованным
на сайте производителя цены....

В общем, я подготовлюсь к включению, позову друга - он правда, на АРМах сидит уже не первый год,
но с ПИКами познакомиться хочет, простыми... И попытаюсь все же зажечь-погасить эти клятые светодиоды ...
Одновременно сидя на Шараге с вашей помощью...
Так у меня уже все есть, камни куплены разные, по паре штук... Кажется, не те, что хотел, но погляжу еще...
MP LAB установлен, читаю как пользоваться... Утюг раскален, плату делать smile.gif

блин, просто найти чего куда включать по пинам - и то проблема, надо много читать, думать...
да, ымбеддерство - это не схемотехника... Тут вам не здесь...


Цитата
Могу пообещать посильную помощь на каждом из этапов.

Я в долгу не останусь...
У меня, говорят, неплохо получается все это - чем угодно поделиться могу...


Цитата
P.S. Ставлю на себе эксперимент по ARM-ам.
Когда все закончится - обязательно доложу.
В любом случае.


Это в случае чего мы и с нашей стороны постараемся помогать...
друг вроде на Шараге регился...
Перейти в начало страницы
 
+Цитировать сообщение
Harbinger
сообщение 4.7.2010, 6:39
Сообщение #69


посіпака Хунти
Иконка группы

Группа: Мод
Сообщений: 20016
Регистрация: 21.11.2009
Из: Vinnitsa
Пользователь №: 11



Тут другое... потребуется развести в двух слоях QFN32, при этом на всё про всё, с виа вкл. - квадратный сантиметр, в центре которого чип с пятаком на пузе; а дороги и зазоры меньше 0,25 мм не допускаются. fuckup mode по той терминологии.
Млин, ну почему нет мелких армов в SSOP(16...20)?
Перейти в начало страницы
 
+Цитировать сообщение
Прохожий
сообщение 4.7.2010, 17:01
Сообщение #70


сундук
***

Группа: Пользователи
Сообщений: 4043
Регистрация: 21.11.2009
Из: Ростов-на Дону
Пользователь №: 15



Цитата(Огурцов @ 3.7.2010, 11:36) *
Ыщ: самым прямым из испытанных считаю (платный) CrossWorks http://www.rowley.co.uk/ Встал с полпинка, дополнительно загрузил модули для выбранных камней, на раз скомпилил и позволил запустить симулятор. Цена вопроса 150 баксов или...5 баксов в месяц, за новый MAC-адрес. Но есть (частная) неприятность - stm32f105/107 не поддерживается, компилил для сто третьего.

А я остановился на RIDE7.
Цена вопроса 50 евро при ограничении в отладке на железе в 32 кб.
Все остальное - компилятор, компоновщик, ассемблер не ограничено ничем.
Перейти в начало страницы
 
+Цитировать сообщение
Harbinger
сообщение 4.7.2010, 18:55
Сообщение #71


посіпака Хунти
Иконка группы

Группа: Мод
Сообщений: 20016
Регистрация: 21.11.2009
Из: Vinnitsa
Пользователь №: 11



Цитата(Огурцов @ 4.7.2010, 9:51) *
Так в чем проблема, есть же (пока) lqfp c шагом 0.5.
48 чуток не умещается, а 32 что-то не видать. :( QFN прокатили бы, если бы не эта земляная блямба на брюхе... можно было бы туда, под брюхо, часть пинов на виа завести.
Это не новый прожект, а попытка редизайна/апгрейда, однако - конструктив меняться не будет... неизвестно, чем закончится. Там вообще используется только UART, I2C и GPIO 3 штуки. Но хотелось бы кое-какую математику усложнить, 2 кило флэши у того 51 таки не хватает. А аналогичный с 4(8 ) К - уже на 4 лапы больше, не втискивается... с Freescale как-то неохота связываться, там даже дурацкий вопрос некому задать будет, китайцам разве что...
(Млин, после 8-ки перед скобкой таки надо пробел ставить, иначе какой-то жвачный смайлик выскакивает. wink.gif )
Перейти в начало страницы
 
+Цитировать сообщение
Прохожий
сообщение 4.7.2010, 19:56
Сообщение #72


сундук
***

Группа: Пользователи
Сообщений: 4043
Регистрация: 21.11.2009
Из: Ростов-на Дону
Пользователь №: 15



Цитата(Огурцов @ 2.7.2010, 23:01) *
+1 Красиво. Встречный вопрос: а для пиков оне все, как я понимаю, в наличии ?

Прошу прощения за то, что не ответил сразу. Пропустил этот пост.
Для PIC-ов это все есть за исключением уровня оптимизации С компилятора и отсутствия возможностей С++.
Для бесплатных версий компиляторов доступен только первый уровень. С++ отсутствует напрочь.
Но в большинстве случаев это все не является крайне необходимым.
Все остальное прозрачно и понятно.
В симуляторе есть даже специальный VHDL-подобный язык, с помощью которого можно симулировать различные сигналы.
Симуляцию можно проводить так же с помощью файлов.
Многим не очень нравится встроенный в MPLAB редактор, но, ПМСМ, они "просто не умеют его готовить".
Все так же буду продолжать делать проекты на PIC-ах.
Параллельно буду осваивать RIDE7 применительно к ARM-ам.
К стати, Ваш МК там присутствует.
Перейти в начало страницы
 
+Цитировать сообщение
Прохожий
сообщение 4.7.2010, 21:23
Сообщение #73


сундук
***

Группа: Пользователи
Сообщений: 4043
Регистрация: 21.11.2009
Из: Ростов-на Дону
Пользователь №: 15



Цитата(Огурцов @ 4.7.2010, 22:46) *
Дыкть, не ставиццо он почему-то. Начинает распаковываться... и так и висит 0% extracting. Проц не жрет совсем, может с сетки что-то пытается вытащить. Не понятно.

Кто не ставиццо?
MPLAB или RIDE7?
Вот Вам скрин-шот с моего аппарата.
Прикрепленное изображение

Все работает. Симулятор тоже.
Но до MPLAB-а ему как до Москвы раком...
Или не разобрался я еще...
При установке RIDE есть тонкости.
1. Качаем Ride7_7.30.10.0169.exe .
2. Качаем RKit-ARM_1.26.10.0130.exe.
3. Ставим Ride7 из первого скачанного файла.
4. Распаковываем, а не запускаем архив со вторым файлом и ставим оттуда только RKit-ARM. Он там в отдельной папке будет.
Распаковывать надо 7Z архиватором.
Как-то так.
Перейти в начало страницы
 
+Цитировать сообщение
Прохожий
сообщение 4.7.2010, 22:17
Сообщение #74


сундук
***

Группа: Пользователи
Сообщений: 4043
Регистрация: 21.11.2009
Из: Ростов-на Дону
Пользователь №: 15



Цитата(Огурцов @ 4.7.2010, 23:51) *
Не ставится 1. Ride7_7.30.10.0169.exe. WinXP/SP3/IE8


Поставил Tasking, все зилюкает - и компилит и дебажит. Сделан на базе Eclipse, как Avr32 - еще один аргумент в пользу Eclipse. Только б разобраться с ним. Я уже кой-какие настройки нашел. Только полное затмение, где прописываются toolchain`ы при их установке. Чтоб почистить весь гадский мусор и прописать тот один, который нужен.

А вот мне не понятно.
Берем Эклипс, GCC, соединяем это и просим за это деньги.
Это как?
Совсем этот Altium совесть потерял...
А при установке RIDE я использовал FF 3.6.6 и Хрюшу с СП3.
Перейти в начало страницы
 
+Цитировать сообщение
Прохожий
сообщение 5.7.2010, 19:00
Сообщение #75


сундук
***

Группа: Пользователи
Сообщений: 4043
Регистрация: 21.11.2009
Из: Ростов-на Дону
Пользователь №: 15



Цитата(Огурцов @ 5.7.2010, 1:47) *
В продолжение:
http://caxapa.ru/162180.html

Это было давно...
В прошлом году.
PIC32 в полном здравии.
Вот цены.
А вот статья, скачанная с сайта ARM, где армяне уговаривают потребителя бросить PIC18 и перейти на ARM.
Прикрепленный файл  DAI0234A_migrating_from_pic_to_m3.pdf ( 188,37 килобайт ) Кол-во скачиваний: 11

Интересно, почему не взяли PIC24?
Видимо, ARM будет выглядеть несколько бледновато...
Перейти в начало страницы
 
+Цитировать сообщение
Прохожий
сообщение 7.7.2010, 20:53
Сообщение #76


сундук
***

Группа: Пользователи
Сообщений: 4043
Регистрация: 21.11.2009
Из: Ростов-на Дону
Пользователь №: 15



Цитата(Огурцов @ 6.7.2010, 0:50) *
Я ж приводил, чего в нем нет: энкодера, датчика температуры, цапа, RTC с отдельным питанием. Не все это нужно одновременно, но.
...

Что касаемо всего вышеперечисленного, то, ПМСМ, это данному МК не нужно.
Это нужно для DSP. Иначе получится объединение мелкого с мягким.
А у ARM-ов, по крайней мере доступных, DSP ядра пока нет.
С учетом того, что фокусы, проделываемые Вами с AVR, здесь неприемлемы, совсем непонятно Ваше желание запрячь лебедя, рака и щуку в одно транспортное средство.
Цитата(Огурцов @ 6.7.2010, 0:50) *
Альтернатива - MIPS.
...

Вообще-то PIC32 - это MIPS32 M4K с расширением MIPS16e по ядру.
Причем, единственный, доступный простым смертным, типа нас, в виде МК.
Все остальные выпускаемые горы MIPS - это либо ASIC, либо корка для FPGA.
Так что и здесь MICROCHIP сделал все не просто так, а с неким прицелом, чтобы любой мог бесплатно поиграться с ядром MIPS32.
А уже потом принять решение - надо оно ему или нет. И если надо, то в каком виде...
Перейти в начало страницы
 
+Цитировать сообщение
Прохожий
сообщение 8.7.2010, 19:17
Сообщение #77


сундук
***

Группа: Пользователи
Сообщений: 4043
Регистрация: 21.11.2009
Из: Ростов-на Дону
Пользователь №: 15



Цитата(Огурцов @ 8.7.2010, 7:50) *
Таки я пока еще не выпускаю процессоров. Но те, кто выпускает, наверно о чем-то _думали_, и вряд ли путают. Для DSP в первую очередь нужна мощная математика и конвейерная (и векторная и матричная) обработка, в отличие от контроллера, которому - именно что мощная периферия. И последнее, при наличии деления за один такт проц вполне может заниматься DS-обработкой, не так быстро, как хотелось бы, но для приводов и разных SMPS должно быть достаточно.

А я то считал, что деление не есть самая необходимая команда в DSP. А более нужная - перемножить слагаемые и сложить их, типа MAC.
Ну, а деление это на потом, когда уже все сложено...
Цитата(Огурцов @ 8.7.2010, 7:50) *
Не нужны. Иначе зачем тогда переходить на ARM ? Суть как раз в том, чтобы не заниматься сверх-оптимизацией, а писать как попало и не напрягаясь.

А Вы действительно думаете, что какой либо из доступных ARM-ов Вам это обеспечит?
ARM - на самом деле - 32 разрядная покидуха, проигравшая в свое время I386.
И даже сейчас она медленнее, чем соответствующие клоны i386/i486.
Тогда уже взять за основу вот это.
И, собственно все...
А вот и система, более-менее подходящая...
Перейти в начало страницы
 
+Цитировать сообщение
Прохожий
сообщение 8.7.2010, 19:47
Сообщение #78


сундук
***

Группа: Пользователи
Сообщений: 4043
Регистрация: 21.11.2009
Из: Ростов-на Дону
Пользователь №: 15



Цитата(Огурцов @ 8.7.2010, 21:36) *
Если уж говорить за DSP, то мне наравится "мой" MIPS, c восьми-алушным 2х-кило-мипсовым сопроцом на борту. Другое дело, что я пока не знаю, как начать его готовить.

Ну и начните с PIC32. Там, практически, все даром...
MPLAB - вполне себе IDE.
Практически со всеми прелестями, описанными мною выше...
Цена вопроса менее 3 кРуб.
А потом решите, что делать дальше.

Цитата(Огурцов @ 8.7.2010, 21:36) *
Красиво. Но нолик в цене лишний.

Думаю, это явление временное...
Перейти в начало страницы
 
+Цитировать сообщение

4 страниц V  « < 2 3 4
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28.3.2024, 21:38