Easyelectronics.ru

Электроника для всех
Текущее время: 19 июл 2018, 22:37

Часовой пояс: UTC + 5 часов



    • JLCPCB - Платы прототипов всего за 2$ c бесплатной доставкой (при первом заказе)
    • 10 PCBs за $2 для 2 слоев, $15 для 4 слойной, $74 для 6 слойной платы.
    • Крупнейший китайский производитель прототипных плат. 290000+ клиентов & 8000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин радиодеталей.

Начать новую тему Ответить на тему  [ Сообщений: 140 ]  На страницу Пред.  1, 2, 3, 4, 5, 6
Автор Сообщение
 Заголовок сообщения: Re: Нужны ли коллбэки или это синтаксический сахарок сомнительно
СообщениеДобавлено: 27 сен 2017, 19:17 
Старожил
Аватара пользователя

Зарегистрирован: 24 июл 2012, 13:54
Сообщения: 750
Так очевидно же. В ядре ARM предусмотрено несколько наборов регистров общего назначения для каждого режима работы процессора. Те регистры, в которые вы смотрите в прерывании - это совсем не те регистры, в которые вы клали свои значения, а те, которые используются в режимах IRQ, или же FIQ.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны ли коллбэки или это синтаксический сахарок сомнительно
СообщениеДобавлено: 27 сен 2017, 19:20 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 1951
??? Нехилый поворот событий. А где в программинг манулае или в мануале ядра Кортекс написано, что у РОН есть копии?
Сдается мне, что вы, любезнейший, читали-читали, да недочитали всё-таки.. Давайте вы быстренько прочтете это, а я сделаю вид, что не видел того вашего поста. Чтобы потом вам стыдно то не было...

Вы сути не поняли, любезнейший. Значения из регистров затираются не в момент вызова прерывания, а в любой момент нормальной работы проги, поскольку РОН используются основным текстом проги, пока ожидается прерывание.
Это и есть ответ на мой вопрос.


Последний раз редактировалось BusMaster 27 сен 2017, 19:23, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны ли коллбэки или это синтаксический сахарок сомнительно
СообщениеДобавлено: 27 сен 2017, 19:22 
Старожил
Аватара пользователя

Зарегистрирован: 24 июл 2012, 13:54
Сообщения: 750
Ок. Попытка не удалась.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны ли коллбэки или это синтаксический сахарок сомнительно
СообщениеДобавлено: 27 сен 2017, 19:26 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 1768
BusMaster писал(а):
Ответьте лучше на вопрос, куда делись параметры из регистров (выше по тексту задача) :)))

Даже не знаю, плакать или смеяться. Вы вообще не поняли, что я имел в виду.
BusMaster писал(а):
будет интересно послушать "начальника транспортного цеха"

Да вас тут слушать не переслушать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны ли коллбэки или это синтаксический сахарок сомнительно
СообщениеДобавлено: 27 сен 2017, 19:27 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 1768
BusMaster писал(а):
Вы сути не поняли, любезнейший.

Вообще-то вы ее не поняли. Что, впрочем, было ожидаемо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны ли коллбэки или это синтаксический сахарок сомнительно
СообщениеДобавлено: 27 сен 2017, 19:36 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 1951
ну ладно, расскажите нам, что вы там представляли себе, что там имели ввиду? :)))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны ли коллбэки или это синтаксический сахарок сомнительно
СообщениеДобавлено: 27 сен 2017, 19:47 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 4783
Попкорн закуплен.
Ждём появления shadow core register set и shadow GPR set доступные юзеру...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны ли коллбэки или это синтаксический сахарок сомнительно
СообщениеДобавлено: 27 сен 2017, 21:50 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 1768
BusMaster писал(а):
ну ладно, расскажите нам,

Вы размножились?
BusMaster писал(а):
что вы там представляли себе, что там имели ввиду? :)))

Вам все равно не поможет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны ли коллбэки или это синтаксический сахарок сомнительно
СообщениеДобавлено: 27 сен 2017, 21:51 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 1768
dosikus_2 писал(а):
Попкорн закуплен.

Вы даже не представляете как давно. Наблюдать вас и остальную автобусную илиту это такой цирк...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны ли коллбэки или это синтаксический сахарок сомнительно
СообщениеДобавлено: 28 сен 2017, 20:23 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 4783
Таки ви запомятовали ?
Где же они????


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны ли коллбэки или это синтаксический сахарок сомнительно
СообщениеДобавлено: 05 окт 2017, 01:48 
Старожил

Зарегистрирован: 02 ноя 2015, 19:21
Сообщения: 373
Откуда: Санкт-Петербург
классная тема :)))
с удовольствием прочитал.

Речь даже о паттернах заходила...паттерны тоже изучаю помаленьку(для понимания общей картины мира программирования), но вообще не понимаю как их можно применить в МК. вернее можно наверно, но тогда это будет тоже самое что десктопные программы писать на ассемблере. т.е. можно наверно, но думаю крайне неудобно и не рационально.
Паттерны нужды для нормального программирования для ПК , там они оправданы и полезны (хотя тоже не святой грааль) . Так же думаю их можно использовать в системах где есть какая то операционная система и нет требования к точности работы в реальном времени. имхо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны ли коллбэки или это синтаксический сахарок сомнительно
СообщениеДобавлено: 05 окт 2017, 08:57 
Старожил
Аватара пользователя

Зарегистрирован: 30 мар 2015, 23:56
Сообщения: 455
BusMaster писал(а):
Ответьте лучше на вопрос, куда делись параметры из регистров

Вы их сами затёрли, своим бесконечным бесполезным циклом. Кстати странно что он выполнялся.
Для ARM ядра.
Параметры в прерывание предавать можно, но не во все и не всегда. Прежде всего прерывание должно иметь самый низкий приоритет, и быть единственным с этим приоритетом. Второе - ждать прерывание не имеет смысла, его нужно вызывать самостоятельно. По сути это аналог запрета прерываний, код вашей функции будет выполняться вне зависимости от внешней очереди в поликлинику. Однако в этом случае все желающие только спросить - смогут зайти после вас, с сохранением очереди и уровня статуса. Главное - короткие прерывания не теряются как в случае запрета.
Параметры передаются через регистры, отдаются через стек. Для чипов st это прерывание SVC, идеальное решение для переключения контекста и приоритетного выполнения кода.

Насчёт колобков. Уже шестая страница без примеров реального кода. Шесть страниц слепцы щупают слона в темноте, и не могут определится с его формой. Слону в некоторый момент стало приятно.

_________________
Потоковая OS


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны ли коллбэки или это синтаксический сахарок сомнительно
СообщениеДобавлено: 05 окт 2017, 09:08 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 1768
Atomic-dm писал(а):
паттерны тоже изучаю помаленьку(для понимания общей картины мира программирования), но вообще не понимаю как их можно применить в МК.

На вскидку:
- синглтон - практически вся периферия в МК с вводом-выводом отображенным на память это и есть синглтоны
- обсервер - те самые коллбеки, пользовательский интерфейс и так далее
- шаблонный метод (буквально то, что делают в плюсах шаблоны функций)
- стратегия - вынос алгоритма в отдельную функцию (пример с qsort уже упоминался)
- лок - захват/освобождение ресурсов (сериализация доступа к переменным, блокирование прерываний на время доступу к ресурсу/переменной)
- интерпретатор (скажем, встраиваемые интерпретаторы языков или, например, интерпретатор G-кода)
- реактор (своего рода многозадачность без RTOS, удобно обрабатывать поток разнородных событий)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны ли коллбэки или это синтаксический сахарок сомнительно
СообщениеДобавлено: 05 окт 2017, 12:20 
Старожил

Зарегистрирован: 02 ноя 2015, 19:21
Сообщения: 373
Откуда: Санкт-Петербург
evsi,
если делать что-то по работе с экраном то да, имеет место быть.

у меня вот тут была задача по приходу импульса мерить его сигнал и обрабатывать внешним АЦП. И два дня пришлось убить чтобы понять что прерывание происходят с некоторой задержкой(вернее есть три типа задержек связанных с работой стека). Был удивлен когда на второй или третьей день я нашел эту особенность в RM. В итоге все извраты с кодом вылились в код на 10 строк на регистрах и все работает аппаратно. Вот в этой возможности аппаратно и точно решать сложные и быстрые задачи и есть фишка программирования МК. По моему личному мнению. В принципе dosikus_2 об этом всегда говорит. Если использовать паттерны, си++ и шаблоны , то нужно заранее брать более производительный МК и пожертвовать как минимум временем работы от батареии.

А паттерны я стараюсь использовать в софтверных приложениях где нет необходимости считать такты и +-200n секунд ничего не решают, проблем с питанием нет и процессор может "сжувать" почти любые ошибки и неточности.

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

Хотя конечно - каждый пишет код так как считает правильным и рациональным.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужны ли коллбэки или это синтаксический сахарок сомнительно
СообщениеДобавлено: 05 окт 2017, 12:56 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 1768
Atomic-dm писал(а):
Если использовать паттерны, си++ и шаблоны , то нужно заранее брать более производительный МК и пожертвовать как минимум временем работы от батареии.

С чего бы вдруг? Нет никаких причин для того, что бы плюсовый код был, как минимум, не хуже С-шного.
Atomic-dm писал(а):
А паттерны я стараюсь использовать в софтверных приложениях где нет необходимости считать такты и +-200n секунд ничего не решают, проблем с питанием нет и процессор может "сжувать" почти любые ошибки и неточности.

Опять-таки, паттерны это всего лишь типовые подходы для решения типовых задач. Они не дают оверхеда сами по себе, единственное требование - применять их там, где они к месту, то есть для типовых задач. Собственно, навык применения паттернов в том и состоит, что бы а) распознать типовой кусок и б) выбрать подходящее решение. Другое применение паттернов - алгоритмические "кубики" из которых собираются более сложные решения. Навык применения паттернов позволяет гибко модифицировать подходы и эффективно придумывать новые, под конкретную задачу.
Atomic-dm писал(а):
короче для софтверного программиста процедурный подход скорее зло и лучше мыслить классами и паттернами. Для МК крайне трудно представить задачи где это целесообразно и в процедурном подходе я не вижу ничего плохого. Особенно если процедуры построены с учетом особенностей аппаратуры.

На С++ и шаблонах можно писать процедурно, можно писать объектно. Другими словами, это ортогональные вещи. Кроме того, противопоставление процедурного и объектного подхода происходит от банального непонимания того, что объектный подход всего лишь развитие и расширение процедурного. Цель обоих подходов ровно одна: уменьшать сложность за счет уменьшения количества связей между частями программы. А досикус и прочае "илита" просто-напросто против того, что они не в состоянии осмыслить и научиться использовать.

P.S. как верно кто-то заметил в другой теме - железо это всего несколько процентов кода в любой мало-мальски сложной прошивке, остальное - алгоритмы и данные. и тут нет никакой разницы в том, пишется код для "большого" процессора или для МК, просто-напросто выбираются те решения, которые вписываются по требованиям конкретной задачи. любое искусственное отгораживание эмбеддед от остальных областей приводит только к зашориванию и косности. это особенно опасно с учетом того, что ресурсы МК постоянно увеличиваются и возможности растут, а значит расширяется круг решаемых задач и сложность кода. "Большие" компы уже имеют опыт решения задач такого уровня сложности и накопили немало информации, подходов, набитых шишек и тому подобного. Отгораживаться от этого и изобретать велосипед заново - бесполезная потеря времени и сил.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 140 ]  На страницу Пред.  1, 2, 3, 4, 5, 6

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB