Jump to content

    

Algol

Свой
  • Content Count

    139
  • Joined

  • Last visited

Everything posted by Algol


  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. Добрый день! КМК, фича довольно бесполезная для такого класса мк. Я на скриншоты этого GUI смотрел мельком - без слез не взглянешь. Если нужен GUI, Qt мне очень нравится в этом плане, но это уже другая весовая категория. Да, радует еще и что аппноты у СТ тоже основаны на FreeRTOS+LwIP. Запустил у себя на плате Lwip 1.4.0 и FreeRTOS 7.1.0. Теперь осталось подружить их вместе :rolleyes:
  9. День добрый! Субъективно - стиль написания 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. 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?
  16. Огласите, пожалуйста, конкретнее версию вашей САПР. В состав ISE входит утилита iMPACT для программирования ПЛИС, правда я не в курсе можно ли ее скачать отдельно от всей среды. Данную ПЛИС я программировал из ISE 10.1, проблем с заливкой по jtag не возникало.
  17. Dog Pawlowa "ехать" безусловно нужно, с этим нельзя не согласиться. В общем потратив день на информационный поиск для себя определился. В качестве отправной точки буду изучать исходники FatFS, а в дальнейшем возможно прикручу FreeRTOS в целях образования.
  18. Я и не утверждаю, что ОС (я вообще нигде и не говорил, что выбираю именно РТОС) здесь обязательна. Все предыдущие проекты и были собственно без оной. Но в данном случае я думаю применение ОС целесообразным по нескольким причинам: 1) организация ФС, ибо как тут уже предлагали писать файл без ФС - это лишь обходной путь и не очень прямой я считаю), 2) Дальнейшее развитие проекта, об чем я писал в первом посте.
  19. В общем окончательно убедился в бесперспективности использования ucLinux на данной платформе. Сузил выбор между uCOS (ну тот что в закромах ftp естественно) и freeRTOS. По freeRTOS не совсем понятен пока вопрос лицензирования после разветвления на Safe и OpenRTOS. Safe понятно что платная, а Open? Именно в openRTOS есть поддержка FAT, но что то мне подсказывает что это не может быть бесплатным.
  20. one_man_show Спасибо за совет. Про данный подход мне известно и на мой взгляд он имеет два существенных минуса - спецутилита для считывания данных и как вы уже заметили полная переработка проекта при добавлении сервисов. Мне же необходимо по ТЗ работа с файлами на SD стандартными средствами Windows. Ну и как я уже упоминал, практически после реализации записи на SD (ну прям вот чувствую) необходимо будет реализовать вывод данных в ISA. В связи с этим меня интересует вариант с ARM7+ОС. Как в плане некоторого задела по ресурсам (вопроса в цене не стоит, тираж - штучный) так и просто в плане повышения квалификации. Сейчас определил для себя круг uClinux, FreeRTOS, eCos. Читаю описание и теряюсь в муках выбора и обилии информации. uCOS-II как я понял платная, что не совсем мне подходит, хотя по описанию очень понравилась.
  21. Доброго времени суток! Стоит в общем то типовая задача. Абстрактно - необходимо синхронизировать поток данных №1 (~10-20 КБайт/с) с потоком данных №2 (~1 КБайт/с) и записать в виде таблицы на SD-карту. Первая проблема - на SD-карте нужно организовать FAT16, чтобы потом можно было считать файл в PC для дальнейшей обработки. Возможные трансформации проекта - передача синхронизированного (объединенного) потока данных на шину ISA и TCP/IP. Сейчас у меня в распоряжении есть отладочная плата на базе LPC2378+SD, думаю начать эксперименты на ней. В дальнейшем может быть перейти на Cortex-M3. Подскажите пожалуйста...целесообразно ли использовать какую либо ОС для такой задачи? Почитал форум - сделал вывод, что ucLinux вроде бы тяжеловат для подобного процессора. Есть ли какие то бесплатные альтернативы? может быть FreeRTOS? Основной вопрос для меня - реализация FAT16, не хотелось бы делать программную реализацию ФС, а возложить эту задачу на ядро. Ну и вообще хотелось бы применить в рамках этого проекта ОС, потому как до этого подобного опыта не было и жутко интересно.
  22. halfdoom Да, вы правы, сегодня глянул, 3DView корректно отображает только пустую плату (пробовал Eval.pcb из папки Examples) :( При попытке посмотреть плату с компонентами приложение виснет наглухо. Обидно. Хотя, в общем то 3DView я пользовал в Альтиуме только развлечения ради и то, по большим праздникам.
  23. Всем доброго дня. Попробовал шестерку под wine, инсталляция проходит, схематика и псб запускаются. Возможно в дальнейшем вылезут какие то проблемы, но пока перспектива очень вдохновила.
  24. Uree По поводу прямой зависимости выбора инструмента от решаемых задач полностью с вами согласен. Здесь я просто еще преследую цели расширения кругозора. Ну надоедает мне порой работать в одном и том же:-) Спасибо, что разъяснили по поводу Аллегро, пришел к выводу, что для меня в сегодняшних реалиях он не актуален. К ПАДС присмотрюсь в какой-нибудь ближайший отпуск (интересно, а когда он будет). halfdoom Пульсоникс уже качаю с местного кладезя знаний. Прочитал соседнюю ветку, очень приятное впечатление о нем сложилось, потыкаю в выходные.
  25. Mentor меня немного пугает своей грандиозностью. Может быть Pulsonix? Где то на форуме читал хвалебные отзывы в его сторону. Уважаемый Uree. Если мне не изменяет память, то вы некоторое время плотно работали в Кадстаре... Очень интересно ваше мнение о нем, можно ли привыкнуть к его интерфейсу людям с европейским складом ума?) Нет, я понимаю, что привыкнуть можно ко всему, только стоит ли оно того? Какого ваше мнение? Как я понял вы сторонник ПАДС...