Jump to content

    

Algol

Свой
  • Content Count

    139
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Algol

  • Rank
    Частый гость
  • Birthday 04/04/1984

Контакты

  • Сайт
    http://
  • ICQ
    0

Информация

  • Город
    Россия, Владимир
  1. AlexandrY Прошу прощения, что возможно ввел в заблуждение стремлением абстрагировать задачу от архитектуры. Работаю с STM32. Насколько я понял из ваших слов, вы говорите о внутренней АЦП...в моей же задаче будет использоваться внешняя АЦП с SPI-интерфейсом, т.е. по прерыванию таймера должен работать аппаратный spi.
  2. aaarrr Хм...логично. Хотя вот вчера добрался до главы работы с прерываниями в FreeRTOS tutorial book, так там на первой странице вроде как ответ на мой вопрос. Вроде как не рекомендуется делать большие обработчики прерываний, поэтому задачу блокируют бинарным семафором, а в прерывании просто разблокируют, тогда задача начнет свое выполнение сразу после выхода из прерывания. Мне кажется такой подход как то красивее...или я не прав?
  3. Доброго всем времени суток! Задача в целом тривиальна, но поскольку я впервые реализую ее с использование ОС, FreeRTOS в частности, то решил посоветоваться с более опытными людьми. Абстрактно задача заключается в опросе ацп с заданной частотой и отправкой полученных данных в коммуникационный порт. Следовательно можно выделить две задачи для ОС - задача №1 опроса ацп и задача №2 отправки готовых данных. Приоритет задачи 1 > приоритета задачи 2. Соответственно, чтобы запустить опрос ацп, нужно отсчитывать таймером заданные интервалы времени и в прерывании по переполнению таймера запускать задачу 1. Сейчас нахожусь на стадии чтения туториала по FreeRTOS..задачи моргания светодиодами и выдачи в консоль данных сделаны. Хотелось бы услышать 1) в целом верна ли моя концепция..или в рамках ОС можно сделать проще? Скажем отсчитывая периоды между опросами системным таймером ОС, но тогда снижается точность, если я правильно понял - интервал времени будет кратным системному тику. 2) данные между задачами нужно перебрасывать с помощью очереди в данном случае? 3) как лучше и/или проще пробудить задачу опроса ацп, блокированную событием таймера? Какое API для этого предоставляет FreeRTOS или же в прерывании от таймера просто искусственно повысить приоритет задачи опроса, чтобы по выходу из прерывания планировщик переключился на нее. Извините за некий сумбур...пока больше нахожусь на этапе сбора и осмысления информации. Все-таки работа с ОС требует некоторой перестройки мозгов, нежели standalone.
  4. LwIP NetConn

    Спасибо! Пример с SSL посмотрю. Установка таймаута не проблема в данном случае, это можно сделать с netconn_set_recvtimeout() Проблема именно в том, что АСК не доходит до верхнего уровня... Только что осенило...сама функция netconn_write возвращает значение типа err_t. Возможно обработка ACK спрятана уже внутри netconn_write. Мне просто нужно понять, как клиент узнает, что потеряна связь с сервером и нужно сделать реконнект...
  5. LwIP NetConn

    Доброго всем времени суток! Продолжая вникать в 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, либо не до конца понимаю принцип реализации клиента. Пожалуйста, подскажите как проверить факт получения сервером посылки?
  6. STM32F2x7 RMII PHY

    VslavX Ух ты. Спасибо. До ерраты пока не успел добраться, сейчас почитаю.
  7. STM32F2x7 RMII PHY

    Доброго всем времени суток! Перехожу с STM32F107 на STM32F217. Столкнулся с такой проблемой на сон грядущий, а именно генерация 50 МГц на MCO pin для подключения PHY по RMII. Для STM32F107 использовал для этого PLL3. Беглое чтение доки на STM32F217 в части RCC удивило тем, что PLL3 вроде как и нет больше. Неужели выход, только опускать SYSCLK до 100 МГц и делить предделителем на 2? Как то не верится в это...скорее я что то упускаю из вида. Заранее благодарен за дельные и не очень советы. Да...кварц HSE - 25 МГц.
  8. Цитата(dac @ Jan 31 2012, 18:35) делаю на TNKernel под М3. в дальнейшем планирую постоянно использовать, радует что есть GUI Добрый день! КМК, фича довольно бесполезная для такого класса мк. Я на скриншоты этого GUI смотрел мельком - без слез не взглянешь. Если нужен GUI, Qt мне очень нравится в этом плане, но это уже другая весовая категория. Цитата(kan35)Я остановился на FreeRTOS почти случайно, потом с удовольствием узнал, что команда lwIP очень дружит с FreeRTOS и это правда полезно. Да, радует еще и что аппноты у СТ тоже основаны на FreeRTOS+LwIP. Запустил у себя на плате Lwip 1.4.0 и FreeRTOS 7.1.0. Теперь осталось подружить их вместе
  9. Цитата(haker_fox @ Jan 19 2012, 06:12) Добрый день! Понимаю, что спрашиваю Вас о субъективном, но все же... расскажите, пожалуйста, чем Вам понравилась TNKernel? День добрый! Субъективно - стиль написания TNKernel понравился больше. Меньше файлов ядра, пример мигания светодиодом запустил сразу. При этом даже предупреждений компилятор не выдал. С FreeRTOS пытался начинать ранее. Там и файлов не в пример больше и предупреждений было уйма насколько помню. TNKernel видится мне более легковесной по сравнению с FreeRTOS.
  10. Доброго времени суток! Решил в качестве самообразования освоить для себя применение RTOS для embedded. В приоритете Cortex-M3..возможно M4 в недалеком будущем. Пока есть начальные представления о TNKernel и FreeRTOS - создание задач моргания светодиодами. Наверное между ними и сводится выбор в конечном счете. Задачи наверное типовые - опрос периферии, ethernet. Субъективно TNKernel понравилась гораздо больше, но смущает только один нюанс - не слишком широкое распространение. Боюсь остаться один на один с возникающими граблями. Наверное вопрос больше религиозный, но все же...что скажет купечество?
  11. VladimirB Спасибо вам за такой аргументированный ответ. Очень наглядно и убедительно. Глянул даташит на XC3S50AN. Похоже программирование флеш реализовано через стандартный jtag, поправьте если ошибаюсь. Да, и еще сложилось ощущение, что это дефицит, но пока не искал вплотную где купить, пробежался только поиском по efind.
  12. LPC23xx/17xx

    Наверное избитая тема У NXP на сайте LPC2000 Flash Utility кончается версией 2.2.3 и поддерживаемыми чипами кажется LPC2294. Я кажется что то пропустил в жизни и теперь никак не могу найти, какой утилитой прошить LPC23xx/17xx? через UART0:(
  13. Заливка Xilinx

    drgreenthumb Методику Student Pupkin вам очень точно изложил. В принципе вам собственно и не нужно открывать весь проект целиком. Главное, чтобы jed файл у вас был...а он у вас вроде как есть. Но перед тем как его залить, нужно проинициализировать JTAG, чтобы iMPACT "увидел" вашу ПЛИС. Для этого нужно нажать в iMPACT Initialize JTAG chain. Если ваша ПЛИС определилась успешно, дважды щелкнуть на ее иконке и выбрать файл прошивки.
  14. Большое спасибо всем ответившим. Как уже отметили тут CoolRunner не подходит именно по причине нетолерантности к 5В. Boris_TS Спасибо за совет, сейчас посмотрю на XC3SAN50-xTQ144x. Тут наверное имелось ввиду XC3S50AN? "Если без FIFO, то все остальное наверное поместится и в XC9572XL. Для реализации FIFO более-менее приемлемой глубины, лучше применить кристалл большей емкости." Вопрос о глубине FIFO меня, признаюсь, тоже мучает - сколько реально может поместиться скажем в XC95144XL? С FPGA как то не хочется завязываться. Да и преобразователи уровней ставить - это дополнительное место на плате, у меня ограниченный размер. "Проще всего - создайте проект, нарисуйте схему (опишите его на verilog или VHDL), скомпилируйте и сами увидите, сколько Вам надо ресурсов." С этим трудно поспорить, но в данный момент ISA-шина и контроллер закладываются в схему "на перспективу", нужно как можно быстрее отдать ПП в производство, поэтому вопросами моделирования у меня нет совершенно времени заниматься
  15. Доброго времени суток. Стоит задача выбора CPLD XILINX для реализации контроллера ISA 16 бит. Примерное структурное описание: Контроллер работает только в режиме ведомого устройства ISA. Данные на вход поступают по параллельному интерфейсу (возможен вариант по SPI если линий GPIO не хватит), далее входные данные складируются в FIFO откуда и выдаются на шину ISA. В данный момент мне необходимо лишь заложить конкретную ПЛИС в схему будущего устройства. Но для этого необходимо определиться с требуемой логической емкостью. В данный момент у меня небольшой опыт проектирования на плис (реализовано только чтение 8разрядного счетчика по ISA 8бит на XC9536), поэтому и нужна помощь сведующих в этом деле. Буду благодарен любой конструктивной критике и рекомендациям. Остановился на серии XC9500XL, но что выбрать из XC9572XL, XC95144XL, XC95288XL?