

Algol
Свой-
Posts
139 -
Joined
-
Last visited
Reputation
0 ОбычныйAbout Algol
-
Rank
Частый гость
- Birthday 04/04/1984
Контакты
-
Сайт
Array
-
ICQ
Array
Информация
-
Город
Array
Recent Profile Visitors
1,776 profile views
-
AlexandrY Прошу прощения, что возможно ввел в заблуждение стремлением абстрагировать задачу от архитектуры. Работаю с STM32. Насколько я понял из ваших слов, вы говорите о внутренней АЦП...в моей же задаче будет использоваться внешняя АЦП с SPI-интерфейсом, т.е. по прерыванию таймера должен работать аппаратный spi.
-
aaarrr Хм...логично. Хотя вот вчера добрался до главы работы с прерываниями в FreeRTOS tutorial book, так там на первой странице вроде как ответ на мой вопрос. Вроде как не рекомендуется делать большие обработчики прерываний, поэтому задачу блокируют бинарным семафором, а в прерывании просто разблокируют, тогда задача начнет свое выполнение сразу после выхода из прерывания. Мне кажется такой подход как то красивее...или я не прав?
-
Доброго всем времени суток! Задача в целом тривиальна, но поскольку я впервые реализую ее с использование ОС, FreeRTOS в частности, то решил посоветоваться с более опытными людьми. Абстрактно задача заключается в опросе ацп с заданной частотой и отправкой полученных данных в коммуникационный порт. Следовательно можно выделить две задачи для ОС - задача №1 опроса ацп и задача №2 отправки готовых данных. Приоритет задачи 1 > приоритета задачи 2. Соответственно, чтобы запустить опрос ацп, нужно отсчитывать таймером заданные интервалы времени и в прерывании по переполнению таймера запускать задачу 1. Сейчас нахожусь на стадии чтения туториала по FreeRTOS..задачи моргания светодиодами и выдачи в консоль данных сделаны. Хотелось бы услышать 1) в целом верна ли моя концепция..или в рамках ОС можно сделать проще? Скажем отсчитывая периоды между опросами системным таймером ОС, но тогда снижается точность, если я правильно понял - интервал времени будет кратным системному тику. 2) данные между задачами нужно перебрасывать с помощью очереди в данном случае? 3) как лучше и/или проще пробудить задачу опроса ацп, блокированную событием таймера? Какое API для этого предоставляет FreeRTOS или же в прерывании от таймера просто искусственно повысить приоритет задачи опроса, чтобы по выходу из прерывания планировщик переключился на нее. Извините за некий сумбур...пока больше нахожусь на этапе сбора и осмысления информации. Все-таки работа с ОС требует некоторой перестройки мозгов, нежели standalone.
-
Спасибо! Пример с SSL посмотрю. Установка таймаута не проблема в данном случае, это можно сделать с netconn_set_recvtimeout() Проблема именно в том, что АСК не доходит до верхнего уровня... Только что осенило...сама функция netconn_write возвращает значение типа err_t. Возможно обработка ACK спрятана уже внутри netconn_write. Мне просто нужно понять, как клиент узнает, что потеряна связь с сервером и нужно сделать реконнект...
-
Доброго всем времени суток! Продолжая вникать в LwIP столкнулся с такой непоняткой для себя, как правильно организовать TCP клиента? Посмотрел пример TCP сервера на базе STM32F217 от ST. Если правильно понял, то клиент должен отличаться лишь отсутсвием команд listen и accept. Набросал такой алгоритм connn = netconn_new(NETCONN_TCP); netconn_connect(connn, &addr, 5001); // создание и заполнение буфера... ... while(1) { netconn_write(connn,buf1,LENGTH,NETCONN_NOCOPY); buf_rev = netconn_recv(connn); if (buf_rev != NULL) { // сервер отвечает } } коннект благополучно происходит, данные отправляются..но netconn_recv(connn); бесконечно ожидает приема данных от сервера. Хотя сниффером наблюдаю, как сервер шлет ACK пакеты, почему же их не перехватывает клиент? Я либо не умею готовить LwIP, либо не до конца понимаю принцип реализации клиента. Пожалуйста, подскажите как проверить факт получения сервером посылки?
-
VslavX Ух ты. Спасибо. До ерраты пока не успел добраться, сейчас почитаю.
-
Доброго всем времени суток! Перехожу с STM32F107 на STM32F217. Столкнулся с такой проблемой на сон грядущий, а именно генерация 50 МГц на MCO pin для подключения PHY по RMII. Для STM32F107 использовал для этого PLL3. Беглое чтение доки на STM32F217 в части RCC удивило тем, что PLL3 вроде как и нет больше. Неужели выход, только опускать SYSCLK до 100 МГц и делить предделителем на 2? Как то не верится в это...скорее я что то упускаю из вида. Заранее благодарен за дельные и не очень советы. Да...кварц HSE - 25 МГц.
-
Помогите определиться с RTOS
Algol replied to Algol's topic in ARM, 32bit
Добрый день! КМК, фича довольно бесполезная для такого класса мк. Я на скриншоты этого GUI смотрел мельком - без слез не взглянешь. Если нужен GUI, Qt мне очень нравится в этом плане, но это уже другая весовая категория. Да, радует еще и что аппноты у СТ тоже основаны на FreeRTOS+LwIP. Запустил у себя на плате Lwip 1.4.0 и FreeRTOS 7.1.0. Теперь осталось подружить их вместе :rolleyes: -
Помогите определиться с RTOS
Algol replied to Algol's topic in ARM, 32bit
День добрый! Субъективно - стиль написания TNKernel понравился больше. Меньше файлов ядра, пример мигания светодиодом запустил сразу. При этом даже предупреждений компилятор не выдал. С FreeRTOS пытался начинать ранее. Там и файлов не в пример больше и предупреждений было уйма насколько помню. TNKernel видится мне более легковесной по сравнению с FreeRTOS. -
Помогите определиться с RTOS
Algol posted a topic in ARM, 32bit
Доброго времени суток! Решил в качестве самообразования освоить для себя применение RTOS для embedded. В приоритете Cortex-M3..возможно M4 в недалеком будущем. Пока есть начальные представления о TNKernel и FreeRTOS - создание задач моргания светодиодами. Наверное между ними и сводится выбор в конечном счете. Задачи наверное типовые - опрос периферии, ethernet. Субъективно TNKernel понравилась гораздо больше, но смущает только один нюанс - не слишком широкое распространение. Боюсь остаться один на один с возникающими граблями. Наверное вопрос больше религиозный, но все же...что скажет купечество? -
Выбор ПЛИС XILINX
Algol replied to Algol's topic in Работаем с ПЛИС, области применения, выбор
VladimirB Спасибо вам за такой аргументированный ответ. Очень наглядно и убедительно. Глянул даташит на XC3S50AN. Похоже программирование флеш реализовано через стандартный jtag, поправьте если ошибаюсь. Да, и еще сложилось ощущение, что это дефицит, но пока не искал вплотную где купить, пробежался только поиском по efind. -
LPC23xx/17xx
Algol posted a topic in ARM, 32bit
Наверное избитая тема:( У NXP на сайте LPC2000 Flash Utility кончается версией 2.2.3 и поддерживаемыми чипами кажется LPC2294. Я кажется что то пропустил в жизни и теперь никак не могу найти, какой утилитой прошить LPC23xx/17xx? через UART0:( -
Заливка Xilinx
Algol replied to drgreenthumb's topic in В помощь начинающему
drgreenthumb Методику Student Pupkin вам очень точно изложил. В принципе вам собственно и не нужно открывать весь проект целиком. Главное, чтобы jed файл у вас был...а он у вас вроде как есть. Но перед тем как его залить, нужно проинициализировать JTAG, чтобы iMPACT "увидел" вашу ПЛИС. Для этого нужно нажать в iMPACT Initialize JTAG chain. Если ваша ПЛИС определилась успешно, дважды щелкнуть на ее иконке и выбрать файл прошивки. -
Выбор ПЛИС XILINX
Algol replied to Algol's topic in Работаем с ПЛИС, области применения, выбор
Большое спасибо всем ответившим. Как уже отметили тут CoolRunner не подходит именно по причине нетолерантности к 5В. Boris_TS Спасибо за совет, сейчас посмотрю на XC3SAN50-xTQ144x. Тут наверное имелось ввиду XC3S50AN? "Если без FIFO, то все остальное наверное поместится и в XC9572XL. Для реализации FIFO более-менее приемлемой глубины, лучше применить кристалл большей емкости." Вопрос о глубине FIFO меня, признаюсь, тоже мучает - сколько реально может поместиться скажем в XC95144XL? С FPGA как то не хочется завязываться. Да и преобразователи уровней ставить - это дополнительное место на плате, у меня ограниченный размер. "Проще всего - создайте проект, нарисуйте схему (опишите его на verilog или VHDL), скомпилируйте и сами увидите, сколько Вам надо ресурсов." С этим трудно поспорить, но в данный момент ISA-шина и контроллер закладываются в схему "на перспективу", нужно как можно быстрее отдать ПП в производство, поэтому вопросами моделирования у меня нет совершенно времени заниматься:( -
Выбор ПЛИС XILINX
Algol posted a topic in Работаем с ПЛИС, области применения, выбор
Доброго времени суток. Стоит задача выбора CPLD XILINX для реализации контроллера ISA 16 бит. Примерное структурное описание: Контроллер работает только в режиме ведомого устройства ISA. Данные на вход поступают по параллельному интерфейсу (возможен вариант по SPI если линий GPIO не хватит), далее входные данные складируются в FIFO откуда и выдаются на шину ISA. В данный момент мне необходимо лишь заложить конкретную ПЛИС в схему будущего устройства. Но для этого необходимо определиться с требуемой логической емкостью. В данный момент у меня небольшой опыт проектирования на плис (реализовано только чтение 8разрядного счетчика по ISA 8бит на XC9536), поэтому и нужна помощь сведующих в этом деле. Буду благодарен любой конструктивной критике и рекомендациям. Остановился на серии XC9500XL, но что выбрать из XC9572XL, XC95144XL, XC95288XL?