Dave Owen 0 23 мая, 2014 Опубликовано 23 мая, 2014 · Жалоба Есть несколько маленьких задачек практически не привязанные к конкретному процессору. Нужна помощь в составлении ТЗ и программирования. Тестирую на STM32-DISC STM32L152RB6 или на STM32F103RB6 Сложность задач примерно на уровне институтской лабы. Присутствует RTOS. Пример задания: Есть контролер и на нём установлен RTOS Что нужно сделать самая первая задача написать ТЗ на задачку: "Метаданные контролера" Модуль описывающий выводы контролера. Это таблица со столбцами: 1. Номер ноги МК - описание порта 2. Тип данных - bool, indeger 3. Вход/выход - т.е. можно ли эту ноу читать или писать r,w,rw 4. Индефикатор - символьное сокращение названия 5. Комментарий - произвольный текст(100) В модуле должны быть 1. процедура инициализации портов (чтение таблицы, тактирование портов и настройка) 2. процедура записи в порт 3. процедура чтения из порта 4. записать измененную конфигурацию в FLASH хотелось бы чтобы UART был бы символьным портом чтение/запись, т.е. для каждого порта можно было бы тоже писать и читать так же как и отдельные ноги. по хранению таблицы - хотел бы чтобы таблица могла из прошивки записываться во FLASH и в память подтягивалась если нет в FLASH бралась из прошивки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 235 23 мая, 2014 Опубликовано 23 мая, 2014 · Жалоба Модуль описывающий выводы контролера. Это таблица со столбцами: 1. Номер ноги МК - описание порта 2. Тип данных - bool, indeger 3. Вход/выход - т.е. можно ли эту ноу читать или писать r,w,rw 4. Индефикатор - символьное сокращение названия 5. Комментарий - произвольный текст(100) Откройте даташит на CPU - там всё это есть. В модуле должны быть 1. процедура инициализации портов (чтение таблицы, тактирование портов и настройка) 2. процедура записи в порт 3. процедура чтения из порта 4. записать измененную конфигурацию в FLASH Возьмите библиотеку для работы с GPIO. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dave Owen 0 23 мая, 2014 Опубликовано 23 мая, 2014 (изменено) · Жалоба Откройте даташит на CPU - там всё это есть. Возьмите библиотеку для работы с GPIO. Это маленькая задачка - часть другой большей. Видимо не понятно для чего это вообще делается? От сюда и такое предложение. Попробую объяснить. Привык работать с готовой платформой или фреймвоком в котором даташиты и прочие вещи скрыты за интерфейсами. Есть желание сделать открытый проект под АРМ по управлению группами контролеров (приложения АСУТП, умный дом и т.д.). Фишкой проекта должна стать гибкость удаленного управления контролера и локальный обмен данными между контролерами напрямую минуя сервер. Такие системы есть могу перечислить для примера: ninjablocks.com agocontrol.com ab-log.ru/smart-house/ethernet/megad-328 smartanthill.ikravets.com Atmel BitCloud www.mzta.ru (Контар) все системы прекрасные со своими минусами, где-то железо закрытое, у кого ПО, кто привязан строго к одному МК. Вот и с подвигло сделать свой велосипед. Почему привязываюсь к STM32 или RTOS в прошивке контролера? Нужно с чего-то начать линейка STM32L0 до STM32F4 более сотни моделей в свободной продаже цены от 30руб до 2000р выбор есть. FreeRTOS портирована практически под всё современные МК. Деньги за попытку оплачиваю. ) Изменено 23 мая, 2014 пользователем Dave Owen Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Belikov_lp 0 23 мая, 2014 Опубликовано 23 мая, 2014 · Жалоба Деньги за попытку это интересно. А если не секрет, то это сколько? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dave Owen 0 23 мая, 2014 Опубликовано 23 мая, 2014 · Жалоба Деньги за попытку это интересно. А если не секрет, то это сколько? Жду предложения в личку и координаты для уточнения задания, сроков, способов оплаты. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 23 мая, 2014 Опубликовано 23 мая, 2014 · Жалоба Есть желание сделать открытый проект под АРМ по управлению группами контролеров (приложения АСУТП, умный дом и т.д.). Фишкой проекта должна стать гибкость удаленного управления контролера и локальный обмен данными между контролерами напрямую минуя сервер. FreeRTOS портирована практически под всё современные МК. Но во FreeRTOS нет самого главного для вас - "локальный обмен данными между контролерами напрямую" Советую начинать не с углубления в инициализацию портов, а с более продуманного выбора оси и софта промежуточного уровня. Ось и продиктует какое семейство микроконтроллеров выбрать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alien85 0 24 мая, 2014 Опубликовано 24 мая, 2014 · Жалоба Советую эти деньги потратить на репетитора по русскому языку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dave Owen 0 24 мая, 2014 Опубликовано 24 мая, 2014 · Жалоба Советую эти деньги потратить на репетитора по русскому языку. Совет принят. Сори. Но во FreeRTOS нет самого главного для вас - "локальный обмен данными между контролерами напрямую" Советую начинать не с углубления в инициализацию портов, а с более продуманного выбора оси и софта промежуточного уровня. Ось и продиктует какое семейство микроконтроллеров выбрать. Например название OS? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_basile 0 25 мая, 2014 Опубликовано 25 мая, 2014 · Жалоба Советую эти деньги потратить на репетитора по русскому языку. При такой каше в голове репетитор не поможет. Человек , похоже, не понимает, что RTOS на МК и форточки - две большие разницы, и подход должен быть разным. Если его порты напрягают, что же он будет делать, когда до таймеров дойдет. Но во FreeRTOS нет самого главного для вас - "локальный обмен данными между контролерами напрямую" Советую начинать не с углубления в инициализацию портов, а с более продуманного выбора оси и софта промежуточного уровня. Ось и продиктует какое семейство микроконтроллеров выбрать. Да ладно, FreeRTOS зарещает "локальный обмен данными между контролерами напрямую" ? Ось ничего не диктует. Берем UCOS - портов куча, от 8051 до Cortex-M4. И что диктует ось ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dave Owen 0 25 мая, 2014 Опубликовано 25 мая, 2014 · Жалоба При такой каше в голове репетитор не поможет. Человек , похоже, не понимает, что RTOS на МК и форточки - две большие разницы, и подход должен быть разным. Если его порты напрягают, что же он будет делать, когда до таймеров дойдет. Да ладно, FreeRTOS зарещает "локальный обмен данными между контролерами напрямую" ? Ось ничего не диктует. Берем UCOS - портов куча, от 8051 до Cortex-M4. И что диктует ось ? Ну хорошо про репетитора вопрос закрыт. Диагноз - не поможет. FRTOS ничего не запрещает по этому другие варианты пока не рассматриваю. Общение контролеров по шине CAN. Это будет отдельная задача. Очень нравиться идеология SmartAnthill. Графического интерфейса на контролере не будет, он там не нужен. Если сложилось впечатление что порты напрягают - это ошибка. Если говорить об общей задаче то "метаданные" нужны для следующего уровня - представления их в СУБД на сервере. Семейство МК выбрано STM32F другие варианты не рассматриваю. P.S. Действительно общая задача объемная, но распадается на маленькие последовательные кирпичики. Очень нужна помощь потому как закодить всё это одному не реально. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 25 мая, 2014 Опубликовано 25 мая, 2014 · Жалоба все системы прекрасные со своими минусами, где-то железо закрытое, у кого ПО, кто привязан строго к одному МК. Вот и с подвигло сделать свой велосипед. и Семейство МК выбрано STM32F другие варианты не рассматриваю. Делаете еще один велосипед "с минусом"? Зачем? У меня давным-давно работает УД на CAN, но я не делал привязку к аппаратной платформе, а разработал универсальную архитектуру приложения. Поэтому есть порты и под AVR, и под ARM7 (LPC23xx), и под Cortex-M (LPC17xx, STM32). Ни в коем случае не нужно думать в терминах "порты ввода-вывода" и "таймеры" - Вам же еще межконтроллерный обмен осмыслить придется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 25 мая, 2014 Опубликовано 25 мая, 2014 · Жалоба Очень нравиться идеология SmartAnthill. Если сложилось впечатление что порты напрягают - это ошибка. SmartAnthill это же просто протокол установки/чтения портов. Примитивней некуда. Возьмите FreeMODBUS и получите еще больше функций. Поверх CAN его тоже можно без труда поставить. Хотя признанный стандарт здесь CANOpen. Есть и открытые проекты под CANOpen (не для FreeRTOS, правда) Но это все очень далеко от понятия "локальный обмен данными между контролерами напрямую" В этой теме важней всего роутинг(маршрутизация) и реальное время. Не найдете вы для FreeRTOS подходящего middleware. И вот когда поймете это можем вернуться к вопросу,"что не запрещает FreeRTOS". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dave Owen 0 26 мая, 2014 Опубликовано 26 мая, 2014 · Жалоба Делаете еще один велосипед "с минусом"? Зачем? У меня давным-давно работает УД на CAN, но я не делал привязку к аппаратной платформе, а разработал универсальную архитектуру приложения. Поэтому есть порты и под AVR, и под ARM7 (LPC23xx), и под Cortex-M (LPC17xx, STM32). Ни в коем случае не нужно думать в терминах "порты ввода-вывода" и "таймеры" - Вам же еще межконтроллерный обмен осмыслить придется. У каждой системы есть минусы и плюсы. Нет системы в которой только плюсы. Источник такой "несправедливости" заложен в разной оценке плюсов/минусов субъектом. С минусами других систем вопрос закрыт. Порты нарисовать для этого нужно только время. Между ARM Cortex-M порт "рисуется" заменой "standard peripheral library". Про порты(перенос между разными МК) вопрос закрыт. STM32F выбран для отладки первой прошивки. Задача "метаданные" как-раз и служит для того чтобы отойти от адресов ввода/вывода и перейти к идентификационной логике. Обмен между контролерами отдельная задача. Там должен быть и протоколы регистрации, маршрутизации и транспортный протокол. Это называется сетевой стек. SmartAnthill это же просто протокол установки/чтения портов. Примитивней некуда. Возьмите FreeMODBUS и получите еще больше функций. Поверх CAN его тоже можно без труда поставить. Хотя признанный стандарт здесь CANOpen. Есть и открытые проекты под CANOpen (не для FreeRTOS, правда) Но это все очень далеко от понятия "локальный обмен данными между контролерами напрямую" В этой теме важней всего роутинг(маршрутизация) и реальное время. Не найдете вы для FreeRTOS подходящего middleware. И вот когда поймете это можем вернуться к вопросу,"что не запрещает FreeRTOS". Когда говорил что "нравиться идеология SmartAnthill" имел в виду её открытость, простоту идеи и переносимость между разными средами RS485, CAN, Ethernet, 0-modem и т.д. Прямой обмен, между контролерами минуя сервер пример тут http://www.ab-log.ru/smart-house/ethernet/megad-328 прошивка под МК AVRmega328 с исходниками встроенный http сервер, ethernet ENC28J60. В FRTOS есть все, что мне нужно: диспетчер и динамическая куча. Уже раньше задавал вопрос: "Например, название OS?", но он был проигнорирован. Так какой ответ? Где же она OS с подходящим middleware? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 26 мая, 2014 Опубликовано 26 мая, 2014 · Жалоба Уже раньше задавал вопрос: "Например, название OS?", но он был проигнорирован. Так какой ответ? Где же она OS с подходящим middleware? По одной из ваших ссылок и было - Raspberry Pi и Линукс соответсвенно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dave Owen 0 26 мая, 2014 Опубликовано 26 мая, 2014 · Жалоба По одной из ваших ссылок и было - Raspberry Pi и Линукс соответсвенно. Вычислительной мощности малинки уже перебор под "простой" контролер, сколько она живет от батарейки? Лучше взять тогда ардуину с парой шилдов. Кстати за 2600р можно мать взять с интегрированным Celeron874 если электричество много. Пример тут http://www.ulmart.ru/goods/412459 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться