Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Микроконтроллеры других производителей

Микроконтроллеры других производителей Все, что касается микроконтроллеров и НЕ подошло в раздел Microchip.

Ответ
 
Опции темы Опции просмотра
Старый 22.04.2013, 15:04   #1
Рак
Senior Member
 
Регистрация: 02.04.2008
Адрес: Кременчуг
Возраст: 31
Сообщений: 1,249
Вес репутации: 2068/66
Рак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond repute
По умолчанию TNKernel порт для Cortex-m3

Доброго времени суток. Решился таки на изучение RTOSa для мк. Скачал порт TNKernel для Cortex-M3, взял с него тестовый пример под IAR и запустил на платке с STM32f103RB. Хотел посмотреть по шагам как, что и зачем. Проблема оказалась в том, что отладчик отказывается останавливаться на входе в main и не реагирует на брекпоинты, которые я установил в задачах. Останавливаю отладку и смотрю в Disassembly и не могу понят в каком месте он находится. Собственно пните в какую-то сторону, идея RTOS нравится и не хочется бросать. Программатор - STM32Discovery, оптимизация отключена.
Рак вне форума   Ответить с цитированием
Старый 22.04.2013, 15:51   #2
pal1222@yandex.ru
Senior Member
 
Регистрация: 30.09.2008
Сообщений: 1,428
Вес репутации: 2235/68
pal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond repute
По умолчанию Re: TNKernel порт для Cortex-m3

Цитата:
Сообщение от Рак Посмотреть сообщение
Доброго времени суток. Решился таки на изучение RTOSa для мк. Скачал порт TNKernel для Cortex-M3, взял с него тестовый пример под IAR и запустил на платке с STM32f103RB. Хотел посмотреть по шагам как, что и зачем. Проблема оказалась в том, что отладчик отказывается останавливаться на входе в main и не реагирует на брекпоинты, которые я установил в задачах. Останавливаю отладку и смотрю в Disassembly и не могу понят в каком месте он находится. Собственно пните в какую-то сторону, идея RTOS нравится и не хочется бросать. Программатор - STM32Discovery, оптимизация отключена.
Для начала, помигай диодом... убедитсь что проект вообще собирается и грузится. И поставь птицу "Include debug information in output" в опциях линкера
pal1222@yandex.ru вне форума   Ответить с цитированием
Старый 22.04.2013, 16:11   #3
Рак
Senior Member
 
Регистрация: 02.04.2008
Адрес: Кременчуг
Возраст: 31
Сообщений: 1,249
Вес репутации: 2068/66
Рак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond repute
По умолчанию Re: TNKernel порт для Cortex-m3

Спасибо за ответ, указанные настройки линкера присутствуют. Проект собирается и грузится - это точно. Вот еще одно, переключил отладчик с ST-LINK на Simulator. Запустил отладку и сразу остановилась на точке входа в main и без проблем шагает (зацикливается при попытке что-то перестроить в RCC). То есть проблемы в аппаратной отладке. Но плата рабочая и на ней уже дэбажился проект этой же платой STM32Discovery.
Рак вне форума   Ответить с цитированием
Старый 22.04.2013, 16:50   #4
Рак
Senior Member
 
Регистрация: 02.04.2008
Адрес: Кременчуг
Возраст: 31
Сообщений: 1,249
Вес репутации: 2068/66
Рак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond repute
По умолчанию Re: TNKernel порт для Cortex-m3

С одной проблемой разобрался, отладчик находился не там, потому, что контакт BOOT0 не был прицеплен к земле. Сейчас при попытке перейти в режим отладки выдает предупреждение "Warning: Stack pointer is setup in incorect aligment. Stack addr = 0xFFFFFFFF". После этого в Disassembly одни 0xFF, вычитал содержимое чипа утилитой ST-LINK utility, то же показывает, что чип пустой.
В настройках проекта изменил только отладчик на ST-LINK, больше ничего не трогал.
Рак вне форума   Ответить с цитированием
Старый 22.04.2013, 17:14   #5
Рак
Senior Member
 
Регистрация: 02.04.2008
Адрес: Кременчуг
Возраст: 31
Сообщений: 1,249
Вес репутации: 2068/66
Рак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond repute
По умолчанию Re: TNKernel порт для Cortex-m3

Зашагал отладчик, установил галку в Options->Debuger->Download->Use flashloader. Будем изучать дальше.
Рак вне форума   Ответить с цитированием
Старый 28.04.2016, 09:11   #6
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Orel
Возраст: 38
Сообщений: 4,285
Вес репутации: 4191/114
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: TNKernel порт для Cortex-m3

Цитата:
Сообщение от Рак Посмотреть сообщение
Зашагал отладчик, установил галку в Options->Debuger->Download->Use flashloader. Будем изучать дальше.
Андрей, удалось ли освоить RTOS? Или начал и забросил? Наверное, времени нет?
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 28.04.2016, 09:43   #7
Рак
Senior Member
 
Регистрация: 02.04.2008
Адрес: Кременчуг
Возраст: 31
Сообщений: 1,249
Вес репутации: 2068/66
Рак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond repute
По умолчанию Re: TNKernel порт для Cortex-m3

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Андрей, удалось ли освоить RTOS? Или начал и забросил? Наверное, времени нет?
Удалось сделать один хоббийный проект, но там как из "пушки по воробьям": датчики температуры, дисплей и клавиатура.
По-поводу освоения, уже 3 месяца как за рулем, у тебя есть руль, зеркала, свет, повороты, передачи и 3 педали. Попадая в разные дорожные ситуации и используя этот набор (инструментарий) получаешь опыт, т.е. идет процесс осваивания. Чем больше ситуаций, тем больше опыта, он не зависит от пробега, стажа, а именно от дорожных ситуаций. По-этому вопрос удалось ли освоить - не корректен. Пока удалось только оценить преимущества и недостатки по сравнению с программами без ОСРВ.
Рак вне форума   Ответить с цитированием
Старый 28.04.2016, 10:10   #8
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Orel
Возраст: 38
Сообщений: 4,285
Вес репутации: 4191/114
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: TNKernel порт для Cortex-m3

Цитата:
Сообщение от Рак Посмотреть сообщение
Удалось сделать один хоббийный проект, но там как из "пушки по воробьям": датчики температуры, дисплей и клавиатура....Пока удалось только оценить преимущества и недостатки по сравнению с программами без ОСРВ...Поэтому вопрос удалось ли освоить - не корректен.
Хоть попробовал и то хорошо. Этой темой можно всю жизнь заниматься (осваивать и улучшать RTOS).
Цитата:
Сообщение от Рак Посмотреть сообщение
По-поводу освоения, уже 3 месяца как за рулем, у тебя есть руль, зеркала, свет, повороты, передачи и 3 педали. Попадая в разные дорожные ситуации и используя этот набор (инструментарий) получаешь опыт, т.е. идет процесс осваивания. Чем больше ситуаций, тем больше опыта, он не зависит от пробега, стажа, а именно от дорожных ситуаций.
Я в этом году 10 лет как водитель. Опыт от пробега и стажа точно зависит.

PS: А что можешь сказать о преимуществах и недостатках проектов c RTOS TNKernel при использовании CortexM3 (я так понял, что ты с STM32 работал)? И почему решил пробовать с TNKernel, а не с FreeRTOS? У производителя есть примеры для FreeRTOS, а для TNKernel только единичные примеры у ребят в интернете.
__________________
Прогресс неизбежен.

Последний раз редактировалось Pridnya; 28.04.2016 в 10:16.
Pridnya вне форума   Ответить с цитированием
Старый 28.04.2016, 11:22   #9
Рак
Senior Member
 
Регистрация: 02.04.2008
Адрес: Кременчуг
Возраст: 31
Сообщений: 1,249
Вес репутации: 2068/66
Рак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond reputeРак has a reputation beyond repute
По умолчанию Re: TNKernel порт для Cortex-m3

Цитата:
Сообщение от Pridnya Посмотреть сообщение
PS: А что можешь сказать о преимуществах и недостатках проектов c RTOS TNKernel при использовании CortexM3 (я так понял, что ты с STM32 работал)? И почему решил пробовать с TNKernel, а не с FreeRTOS? У производителя есть примеры для FreeRTOS, а для TNKernel только единичные примеры у ребят в интернете.
Был готовый проект с сайта под мой контроллер, но он сразу не заработал, по-этому создал эту тему.
По преимуществам, на одном проекте сложно сказать, постоянно одолевало чувство, что без ОС сделаю быстрее (тоже чувство было когда с асма на С переходил). TNKernel - это одна из реализаций идей ОСРЧ, не более. Сейчас пытаюсь уйти от низкоуровневых вещей (8ми битных контроллеров), передать проекты потихоньку коллегам, а самому пересесть повыше, то примеряюсь к freertos + lwIP, там поддержка больше, чем "только единичные примеры у ребят в интернете".
Рак вне форума   Ответить с цитированием
Старый 28.04.2016, 11:48   #10
AleksBak
Senior Member
 
Аватар для AleksBak
 
Регистрация: 27.02.2007
Адрес: г. Баку
Сообщений: 3,125
Вес репутации: 2885/97
AleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond repute
По умолчанию Re: TNKernel порт для Cortex-m3

Цитата:
Сообщение от Рак Посмотреть сообщение
Был готовый проект с сайта под мой контроллер, но он сразу не заработал, по-этому создал эту тему.
По преимуществам, на одном проекте сложно сказать, постоянно одолевало чувство, что без ОС сделаю быстрее (тоже чувство было когда с асма на С переходил). TNKernel - это одна из реализаций идей ОСРЧ, не более. Сейчас пытаюсь уйти от низкоуровневых вещей (8ми битных контроллеров), передать проекты потихоньку коллегам, а самому пересесть повыше, то примеряюсь к freertos + lwIP, там поддержка больше, чем "только единичные примеры у ребят в интернете".
Можно я коротко скажу насчет смысла использовать или нет ОС? Это можно сказать - самый ключевой момент тут. Смысл использовать ОС есть тогда - когда контроллер должен делать множество разных по смыслу операций. Например - обработка клавиатуры (отдельная задача целая), обработка подключений по USB (тоже отдельная задача), обработка работы с каким-то "секретным" оборудованием, обработка спящего режима (это тоже фактически отдельная задача) и т.д. и т.п. Вот тогда и имеет большой смысл использовать ОС. А еще это и большое удобство в программировании общего кода появляется. Но памяти больше тратится в итоге... И кстати - если посмотреть, то это "модная" сейчас тенденция.. Так что лучше попробовать все-таки. Т.е. нужно попробовать все-таки. Форум этот немноголюдный, но я вот тебе 100%-ную вещь скажу, что сюда "заглядывают" очень много как бы "прохожих" и как бы на ус они мотают многие сказанные слова тут (в т.ч. и эти наверно). Пусть - лишь бы общее дело это развивалось и пр.
AleksBak вне форума   Ответить с цитированием
Старый 01.04.2017, 00:27   #11
Marat
Senior Member
 
Аватар для Marat
 
Регистрация: 27.03.2007
Адрес: Минск
Сообщений: 792
Вес репутации: 805/52
Marat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to behold
По умолчанию Re: TNKernel порт для Cortex-m3

А вот подсажите те, кто в теме.....
Каким образом (в общих чертах но с ключевыми подробностями ) реализуются при использовании РТОС такие задачи, как например приём ИК посылок от пульта. Естественно, среди некоторого списка иных задач.
Прошу не пинать. ученье - свет....

Например, я хочу принять посылку по протоколу NEC с какой-нибудь ноги GPIO...
Ранее без РТОС я (по прерыванию "активность на ноге") запускал таймер и ждал смены уровня на противоположный. Если совпадало с преамбулой, то начинал "поллить" нули и единицы, опять-же на каждый бит запуская таймер и сравнивая полученный результат со стандартными значениями (+/- допуск). Так вот, для NEC длительности порядка 0,56mS между сменой состояний с нуля на единицу и наоборот. Если в какой-то момент я определял, что посылка "сползла" в сторону по таймингам, я бросал дальнейшую обработку "бо битая". И начинал заниматься другими делами.
Если используется РТОС, то есть некоторый системный тик, классика жанра - 1mS. Контролируемые события меняются гораздо резвее, чем системный тик, но длятся в сумме дольше, чем десяток "тиков". Как правильно написать задачу, которая будет слушать эфир и при наличии корректной посылки из эфира выдавать результат-семафор : "принята по ИК каналу посылка с кодом bla-bla-bla"? При этом, если в момент принятия посылки другие задачи тоже захотят поделать свою работу я не хочу терять точность замера длительностей ИК сигнала.
Задействовать прерывание по смене уровня на входе от ИК приёмника? И в этом прерывании складывать в буфер значения таймера ( и перезапускать его дальше), а потом где-то в самой задаче разгребать буфер уже неторопясь?
Как вообще концептуально-правильно пишутся такие вещи под РТОС?
https://www.youtube.com/watch?v=OJyW5sN8L9U
__________________
RTFM.....и будет вам счастье

Последний раз редактировалось Marat; 01.04.2017 в 00:33.
Marat вне форума   Ответить с цитированием
Старый 01.04.2017, 08:58   #12
HHIMERA
Senior Member
 
Регистрация: 10.06.2008
Возраст: 55
Сообщений: 2,574
Вес репутации: 3624/94
HHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond repute
По умолчанию Re: TNKernel порт для Cortex-m3

Цитата:
Сообщение от Marat Посмотреть сообщение
Например, я хочу принять посылку по протоколу NEC с какой-нибудь ноги GPIO...
А почему не заюзать PWM Input??? Ну да... один таймер... но оно того стоит...
__________________
"Я не даю готовых решений, я заставляю думать!"(С)
HHIMERA вне форума   Ответить с цитированием
Старый 01.04.2017, 10:01   #13
Marat
Senior Member
 
Аватар для Marat
 
Регистрация: 27.03.2007
Адрес: Минск
Сообщений: 792
Вес репутации: 805/52
Marat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to behold
По умолчанию Re: TNKernel порт для Cortex-m3

Меня интересует вообще подход как таковой...... больше в сторону РТОС а не в сторону IR-NEC как пример
Понятно, что надо по максимуму использовать аппаратную периферию и отвлекаться лишь на запуск и съём результата, но вопрос не об этом...
Если речь вести об обработчике нажатий на кнопки или другой UI, то +/- 10mS роли не играют. Там можно дождаться пока задача опроса кнопок получит управление, выставит флаг нажатой кнопки (семафор) и потом так-же другая задача в своё время , когда дождётся, отреагирует на событие.
Если UART получил байт, -> прерывание, укладка байта в буфер и назад.....обработка буфера позже, когда ядро даст управление соответствующей задаче...
... а если требуется отслеживать какие-то абстрактные быстрые события, требовательные к таймингам ..... Это только прерывание (внутри которого быстрая фиксация факта и сразу возврат) а потом уже разбор полётов....??? Я правильно понимаю?
(если-бы хорошо понимал работу ОС может и задал-бы правильный вопрос в котором 90% ответа, но пока в мозгах триггер не переключился)
__________________
RTFM.....и будет вам счастье
Marat вне форума   Ответить с цитированием
Старый 01.04.2017, 10:25   #14
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,212
Вес репутации: 4222/98
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: TNKernel порт для Cortex-m3

в прерывании создать поток измеренных величин сколько времени был ноль, сколько один. в задаче выгребать. Так работает даже если надо много пультовость иметь. Сочетал прием NEC, Sony и RC5. задачи декодеры разных систем отдельно зти тайминги разгребают. Понятно, что сработает только один вариант.
ampersant вне форума   Ответить с цитированием
Старый 01.04.2017, 10:27   #15
HHIMERA
Senior Member
 
Регистрация: 10.06.2008
Возраст: 55
Сообщений: 2,574
Вес репутации: 3624/94
HHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond repute
По умолчанию Re: TNKernel порт для Cortex-m3

Цитата:
Сообщение от Marat Посмотреть сообщение
... а если требуется отслеживать какие-то абстрактные быстрые события, требовательные к таймингам .....
А если у вас двигатель... и критические режимы... как тут ОС поможет... с её задержками??? Только хардвар... для чего МК под это и затачивают...
Цитата:
Это только прерывание (внутри которого быстрая фиксация факта и сразу возврат) а потом уже разбор полётов....??? Я правильно понимаю?
Почему... а ДМА???
Хардварные решения только флагами в ОС и видятся... В остальном - "ни сном, ни духом"...
__________________
"Я не даю готовых решений, я заставляю думать!"(С)
HHIMERA вне форума   Ответить с цитированием
Старый 01.04.2017, 11:07   #16
Marat
Senior Member
 
Аватар для Marat
 
Регистрация: 27.03.2007
Адрес: Минск
Сообщений: 792
Вес репутации: 805/52
Marat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to behold
По умолчанию Re: TNKernel порт для Cortex-m3

Цитата:
Сообщение от ampersant Посмотреть сообщение
в прерывании создать поток измеренных величин сколько времени был ноль, сколько один. в задаче выгребать. Так работает даже если надо много пультовость иметь. Сочетал прием NEC, Sony и RC5. задачи декодеры разных систем отдельно зти тайминги разгребают. Понятно, что сработает только один вариант.
То есть то, что я написал, имеет место...
Спасибо.

Цитата:
Сообщение от HHIMERA Посмотреть сообщение
Хардварные решения только флагами в ОС и видятся... В остальном - "ни сном, ни духом"...
Извиняюсь - не понял (стёб или серьёзно? ). Можно подробнее...?
в смысле, что работа с железом неизбежно делится на два лэйера независимых. Один - в приложении/задаче/потоке/треде, а другой в прерывании. И эти лэйеры напрямую не взамодействуют, общаясь лишь через очереди сообщений/флаги/буферы_данных/итд
Напимер:
Задача настроила ДМА, запулила старт и ушла. По результату отправки данных будет прерывание. В нём выставим флаг. Задача потом увидит этот флаг и зарядит следующую порцию данных. и так далее....
...Если приём данных, то опять-же -> в прерывании (c ДМА или без - не важно) сложили в кучку данные и подняли флаг для задачи что "есть инфа". Задача когда получит управление тогда и разгребёт инфу.
....есть ДМА или нет - сути не меняет. Если для задачи невозможно применить ДМА, но она критична к таймингам, то каждый чих отдельно обрабатывается но тем-же прерыванием....

А если задача к таймингам не критична, то можно из самой задачи смотреть на хардваре без прерываний (например та-же кнопка -> нажата или нет ..... или запустить/прочитать АЦП напрямую без всяких прерываний ..... )
Я правильно понимаю? (Да/Нет)
__________________
RTFM.....и будет вам счастье

Последний раз редактировалось Marat; 01.04.2017 в 11:13.
Marat вне форума   Ответить с цитированием
Старый 01.04.2017, 11:41   #17
HHIMERA
Senior Member
 
Регистрация: 10.06.2008
Возраст: 55
Сообщений: 2,574
Вес репутации: 3624/94
HHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond repute
По умолчанию Re: TNKernel порт для Cortex-m3

Цитата:
Сообщение от Marat Посмотреть сообщение
Задача настроила ДМА, запулила старт и ушла. По результату отправки данных будет прерывание. В нём выставим флаг. Задача потом увидит этот флаг и зарядит следующую порцию данных. и так далее....
ДМА и на приём работать может... не забывайте... и флаг не обязятельно в прерывании выставлять... есть флаги модулей...
Цитата:
...Если приём данных, то опять-же -> в прерывании (c ДМА или без - не важно) сложили в кучку данные и подняли флаг для задачи что "есть инфа". Задача когда получит управление тогда и разгребёт инфу.
верно...
Цитата:
....есть ДМА или нет - сути не меняет. Если для задачи невозможно применить ДМА, но она критична к таймингам, то каждый чих отдельно обрабатывается но тем-же прерыванием....
Разница есть... при работе ДМА можно и не юзать прерывания... которые можно освободить для других задач...
Если у вас только НЭК... то всё уже известно заранее... нет мути типа ИИ и прочего... Достаточно только через ДМА принять данные и по таймауту тупо разгрести эту кучу...
Как и 1-вирэ... Через ДМА вытолкнули-приняли данные... система и не заметила... Ну почти не заметила... если вы такты проги в этот момент на спичках не считаете...
Здесь фишка в том... что вы при применении ДМА... можете более равномерно распределять ресурсы МК... для наилучшего выполнения задачи... чем при юзании только одних прерываний...
Цитата:
Я правильно понимаю? (Да/Нет)
Где-то так...
__________________
"Я не даю готовых решений, я заставляю думать!"(С)
HHIMERA вне форума   Ответить с цитированием
Старый 01.04.2017, 11:45   #18
Marat
Senior Member
 
Аватар для Marat
 
Регистрация: 27.03.2007
Адрес: Минск
Сообщений: 792
Вес репутации: 805/52
Marat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to behold
По умолчанию Re: TNKernel порт для Cortex-m3

Сенькс
__________________
RTFM.....и будет вам счастье
Marat вне форума   Ответить с цитированием
Старый 01.04.2017, 22:07   #19
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Orel
Возраст: 38
Сообщений: 4,285
Вес репутации: 4191/114
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: TNKernel порт для Cortex-m3

Цитата:
Сообщение от Marat Посмотреть сообщение
Сенькс
А теперь попробуйте перевести весь этот разговор в код.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Имитатор DS18B20 Filya44 Вопросы начинающих 14 12.03.2012 17:39
OS для PIC24H? timday Инструментарий 217 31.03.2010 12:18
MPLAB C18 или Hi-tech PIC18 для PIC18Fxxxx Tsimur Smolau Продукция MICROCHIP 12 09.11.2009 13:15
Драйвер для 1-Wire Dallas на HT-PICC Леонид Продукция MICROCHIP 3 04.12.2007 18:09
проблемка с PIC16F628A bereg_ok Продукция MICROCHIP 72 07.09.2007 11:00


Часовой пояс GMT +3, время: 23:22.


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