|
Разработка концепции программы для микроконтроллера |
|
|
|
Nov 13 2013, 07:20
|
Местный
  
Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041

|
Дошёл до такого уровня, когда программа пишется не за день-два и все необходимое держишь в голове, а когда проект большой и сложный на несколько месяцев. Мне нужно средство, которое позволило бы грамотно проработать концепцию программы, спланировать работу, разбить ее на куски и т.д. То есть здесь не обойтись просто алгоритмами, нужно нечто более глобальное такое как UML. Но как применить UML к embedded на простом Си. Как составлять диаграммы классов, если у тебя их в явном виде нет как таковых, какие диаграммы из стандарта мне вообще нужны и в каком порядке мне их применять? Посоветуйте, что знаете и что сами применяете. Вообщем поделитесь опытом, буду признателен.
|
|
|
|
|
 |
Ответов
|
Nov 14 2013, 12:21
|
Местный
  
Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041

|
Цитата(yanvasiij @ Nov 14 2013, 14:05)  А Вы поделитесь информацией о своем проекте, как что собираетесь реализовывать, и Вам посоветуют. Иначе все будет слишком оторвано от жизни. Ну вот, например, сейчас нужно реализовать телеметрию: передавать данные с датчиков по GSM либо по спутниковому каналу (должен уметь работать и так и так) по протоколу МЭК-104 на скаду. Датчики выполнены в виде отдельных модулей с протоколом MODBUS. Устройство автономное, на аккумуляторе, поэтому алгоритм должен быть энергоэффективным (измерил, заснул и много не кушаешь). В добавок в перспективе должны быть подключено дополнительные модули через ethernet по UDP, данные тоже должны отправляться по запросу. Конфигурирование устройства должно осуществляться по telnetу. Ну вот для начала. По отдельности пустяк, а в комплексе можно набыдлокодить за недельку, а потом никто кроме тебя поддержать это не сможет. Вот и хочется, что все было продуманно, лаконично. А как это сделать? Как планировать, как разбивать? Как прорабатывать концепцию? Цитата(AlexandrY @ Nov 14 2013, 18:07)  Это 2-я глава, что ли? Где про блочные диаграммы, иерархию управления, интерфейс драйверов и схему модель-представление-контроллер (Model-View-Controller)?
Я так понял, что автор просто изобретает очередной вариант ассоциативных диаграмм. Их еще называют ментальными картами. Они быть может нужны, но больше для успокоения, хотя может кому-то и помогают генерировать идеи.
Интерфейсы драйверов в стиле open-close-read-write_IOcontrol на дух не переношу. Они маскируют физику. А физику в real-time системах не замаскируешь. Она даст о себе знать, а унифицированный интерфейс только увеличит вероятность ошибок.
Вещь под название Model-View-Controller представляет собой какой-то чистый поток разума, высшую абстракцию. Никакой практической нагрузки. Просто чтобы занять объем книги. Ну, что же. Положим Вы меня убедили в неэффективности всего этого творчества. Тогда, что же Вы используете?
Сообщение отредактировал yanvasiij - Nov 15 2013, 04:16
|
|
|
|
|
Nov 28 2013, 05:22
|
Местный
  
Группа: Свой
Сообщений: 265
Регистрация: 30-11-05
Из: Омск
Пользователь №: 11 590

|
Цитата(yanvasiij @ Nov 14 2013, 19:21)  Ну вот, например, сейчас нужно реализовать телеметрию: передавать данные с датчиков по GSM либо по спутниковому каналу (должен уметь работать и так и так) по протоколу МЭК-104 на скаду. Датчики выполнены в виде отдельных модулей с протоколом MODBUS. Устройство автономное, на аккумуляторе, поэтому алгоритм должен быть энергоэффективным (измерил, заснул и много не кушаешь). В добавок в перспективе должны быть подключено дополнительные модули через ethernet по UDP, данные тоже должны отправляться по запросу. Конфигурирование устройства должно осуществляться по telnetу. Ну вот для начала. По отдельности пустяк, а в комплексе можно набыдлокодить за недельку, а потом никто кроме тебя поддержать это не сможет. Вот и хочется, что все было продуманно, лаконично. А как это сделать? Как планировать, как разбивать? Как прорабатывать концепцию? Ну, что же. Положим Вы меня убедили в неэффективности всего этого творчества. Тогда, что же Вы используете? Инструмент планирования и проработки концепции должен быть лист бумаги и карандаш с ластиком, не хватает листа - подклеиваешь другой лист. "алгоритм должен быть энергоэффективным" это что такое? чтобы не рубил пустые циклы что ли?, там где GSM, спутниковый канал, и ethernet можно не беспокоится за энергоэффективность. "можно набыдлокодить за недельку, а потом никто кроме тебя поддержать это не сможет" - главное чтобы ты сам через год\два смог разобраться в своем же коде. Не скупиться на комментарии, названия процедур и функций и переменных и их сокращений выбирать по одному стандарту. "Как планировать, как разбивать? Как прорабатывать концепцию?" - главное чтобы было написано ТЗ, не для кого то а для себя. Каждый пункт в ТЗ это и есть твоя разбивка. А концепция построения программы такая, что если начальник скажит все вывернуть наизнанку - то ты бы смог это выполнить. Т.е универсальность и гибкость. А по поводу "Как планировать" так c утра и до вечера, а читать нужно не книжки, а форум с какими проблемами сталкивались люди при реализации подобного набора ваших датчиков и оконечных устройств (MODBUS, GSM, спутниковый канал, и ethernet) Насколько я вижу здесь корячится RTOS. (не хочу спорить, ваше дело, как решите так и будет) Выберете самый сложный узел, часть, которую вы не делали раньше, о чем меньше всего информации. Это и будет центром вашей работы и начинайте именно с него. Если чего касается иного, ставьте заглужку и вперед. А все остальное вы уже представляете, поэтому дальше будет проще. По поводу взаимодействия с начальником это очень индивидуально, у каждого свой стиль, нрав и компетенция. И вообще то надо бы ему задавать эти вопросы, а как получишь несколько ответов которые тебя не устраивают. Тогда делаешь как знаешь ты. должен быть диалог, начал делать то - сделал, сказал. Дальше другое и т.п.
|
|
|
|
Сообщений в этой теме
yanvasiij Разработка концепции программы для микроконтроллера Nov 13 2013, 07:20 yanvasiij Для диаграмм состояний нашел вот такую книжку.
Ув... Nov 14 2013, 04:18 AlexandrY Цитата(yanvasiij @ Nov 14 2013, 06:18) Дл... Nov 14 2013, 07:42 Idle Цитата(yanvasiij @ Nov 14 2013, 08:18) Дл... Nov 19 2013, 07:14 yanvasiij Ну та ссылка действительно на рекламу, ибо не охот... Nov 14 2013, 09:20 AlexandrY Цитата(yanvasiij @ Nov 14 2013, 11:20) Ещ... Nov 14 2013, 10:37 yanvasiij Честно говоря, не читал эту книгу полностью. Мне б... Nov 14 2013, 11:05 Dog Pawlowa Цитата(yanvasiij @ Nov 14 2013, 14:05) А ... Nov 14 2013, 11:56 AlexandrY Цитата(yanvasiij @ Nov 14 2013, 13:05) Че... Nov 14 2013, 12:07 Dog Pawlowa Цитата(yanvasiij @ Nov 14 2013, 15:21) А ... Nov 14 2013, 12:59 AlexandrY Цитата(yanvasiij @ Nov 14 2013, 14:21) Ну... Nov 14 2013, 13:02 _Pasha А по-моему, надо не в диаграммы упираться а в сред... Nov 14 2013, 13:25 yanvasiij Ну положим с неделькой то я действительно загнул, ... Nov 14 2013, 15:24 AlexandrY Цитата(yanvasiij @ Nov 14 2013, 17:24) Я ... Nov 14 2013, 15:43  _Pasha Цитата(AlexandrY @ Nov 14 2013, 18:43) Ко... Nov 14 2013, 15:54 kolobok0 Цитата(yanvasiij @ Nov 13 2013, 11:20) ..... Nov 14 2013, 15:31 yanvasiij Цитата(kolobok0 @ Nov 14 2013, 21:31) как... Nov 15 2013, 05:06 Виктория Цитата(yanvasiij @ Nov 15 2013, 08:06) Сп... Nov 15 2013, 05:50 AlexandrY Цитата(yanvasiij @ Nov 15 2013, 07:06) UM... Nov 15 2013, 07:32  Aner QUOTE (AlexandrY @ Nov 15 2013, 10:32) ..... Nov 15 2013, 10:31 yanvasiij Цитата(Виктория @ Nov 15 2013, 11:50) То ... Nov 15 2013, 07:49 Harbour Использую dia для красоты и обыкновенную классную ... Nov 22 2013, 05:52 ARV Цитата(Harbour @ Nov 22 2013, 09:52) Поня... Dec 6 2013, 05:48  Shein Цитата(ARV @ Dec 6 2013, 11:58) программы... May 22 2014, 06:15 syoma А может есть смысл подумать о MATLAB/Simulink - и ... Nov 25 2013, 16:12 ukpyr бред эти все диаграммы и UML.
гораздо проще записа... Nov 26 2013, 01:27 yanvasiij ЦитатаДа вспоминаю, было такое чувство. Да и до си... Dec 6 2013, 05:21 TSerg И как мы раньше обходились без UML:) Dec 10 2013, 10:15 FPGAz Цитата(yanvasiij @ Nov 13 2013, 11:20) Мн... Feb 9 2014, 22:17 Kopa Цитата(FPGAz @ Feb 10 2014, 06:27) При та... May 22 2014, 15:05
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|