|
STM32F407: Ethernet, HAL + Lwip |
|
|
|
 |
Ответов
|
Jan 17 2017, 22:21
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Стиль написания, конструирование программы и язык всё же параллельны. А стабильность работы вообще к языку никакого отношения не имеет. Не в плане спора, но как известно С++ ни в одном источнике, как ясный прозрачный и без проблемный не рассматривается. Ну это же объективно. Просто почитайте мнение специалистов. В предпоследнем проекте у меня было 411 объектных файлов и более 50 тыс строк текста. Это прибор коммерческого учёта. Я не видел случаев его падения. Там Си + FreeRTOS + LwIP. Драйвера в несколько уровней. Например, обращение к флэшке SPI из различных задач - на ура. Мало того, использовались 2 аппаратных буфера поочерёдно для ускорения. В некоторых случаях заливка производилась потоковым способом. Всё работало как часики. При падении напряжения возникало прерывание, сохранялся контекст, сохранялись указатели архивов... Сделал - положить нельзя прибор. Только контрольный выстрел. )) Меню там экранов штук сто - объектно построено. Вот подумываю один проект замутить на плюсах. Там просто графика будет приличная. Должно окупиться. А что вы так взъелись на динамическое выделение памяти? Тоже пробовал в проектах. В одном проете вообще на нём всё построено было. Причём там у меня дырки появлялись. Так я свой сборщик мусора сделал. Тоже претензий не было. Если всё продумать, то всё работает.
|
|
|
|
|
Jan 17 2017, 23:00
|

Профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831

|
Цитата(SasaVitebsk @ Jan 18 2017, 01:21)  В предпоследнем проекте у меня было 411 объектных файлов и более 50 тыс строк текста. По статистике, среди программистов самый популярный способ продемонстрировать крутизну проекта - указать число строк и файлов ))) И совершенно до лампочки тот факт, что из них львиная доля - сторонние чужие библиотеки ... Цитата Вот подумываю один проект замутить на плюсах. В чем смысл переходить на плюсы, коли уже выработалась стойкая привычка применять объектные фишки на голом С? Неужели и вас тоже утомило работать "молотком по стамеске"?  Цитата А что вы так взъелись на динамическое выделение памяти? Все просто - категорически не люблю мотаться по командировкам  Есть у меня испытанный в тестах неплохой диспетчер динамической памяти (TLFS), но пока нет ни одного проекта, где понадобилось применять динамическую память. Поэтому пока что предпочитаю заложить в проект камень с достаточным объемом памяти (или прикрутить внешнюю), вместо того, чтобы мотаться по командировкам, вылавливая баги. В моем случае такой подход выгоднее )) з.ы. На ум приходит такая старая фраза (формулировка по памяти): "идеальна не та конструкция, к которой уже нечего добавить, а та, от которой уже нечего убрать"....
--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
|
|
|
|
|
Jan 19 2017, 12:47
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(Forger @ Jan 18 2017, 02:00)  По статистике, среди программистов самый популярный способ продемонстрировать крутизну проекта - указать число строк и файлов ))) И совершенно до лампочки тот факт, что из них львиная доля - сторонние чужие библиотеки ... Из сторонних библиотек только LwIP и FreeRTOS. Больше ничего нет. Я HAL не пользуюсь. Из HAL использовал только инициализацию CPU и шин переписанную и Ethernet подправленный. Строки, естественно считал по своим файлам. Нафига чужое считать. Проект реально большой. Я 2 года писал. Понятно, что попутно куча другой работы была. Поддержка старых приборов, всякие там сертификации, поездки .. )) Насчёт плюсов я так скажу. Это надо бы взять какой-нибудь камень ясный... Ну типа того же AVR. Ну чтобы ассемблер был такой, чтобы читался как роман... )) После чего наваять несколько простых проектов. Компильнуть и посмотреть чё получилось. Поиграться. Ну чтобы ясная картина появилась, во что превращается та хрень, что ты написал. Вот где на это время взять?
|
|
|
|
Сообщений в этой теме
k000858 STM32F407: Ethernet, HAL + Lwip Jan 12 2017, 07:11 pitt Цитата(k000858 @ Jan 12 2017, 02:11) Пока... Jan 12 2017, 15:38 Мур Сам долго мучился с HAL, пока не скачал книгу
Mas... Jan 12 2017, 15:51 k000858 спасибо за советы. определенный смысл в них конечн... Jan 13 2017, 03:43 pitt Цитата(k000858 @ Jan 12 2017, 22:43) спас... Jan 13 2017, 13:13 SasaVitebsk Насколько вы описали проблему, мне кажется, что пр... Jan 13 2017, 18:12 k000858 Цитата(SasaVitebsk @ Jan 13 2017, 21:12) ... Jan 16 2017, 04:44  Forger Цитата(k000858 @ Jan 16 2017, 07:44) тако... Jan 16 2017, 14:24   SasaVitebsk Цитата(Forger @ Jan 16 2017, 17:24) Лично... Jan 16 2017, 21:16   Aner QUOTE (Forger @ Jan 16 2017, 18:24) Курим... Jan 16 2017, 21:51    Сергей Борщ QUOTE (Aner @ Jan 16 2017, 23:51) С++ и е... Jan 17 2017, 06:50     SasaVitebsk Цитата(Сергей Борщ @ Jan 17 2017, 09:50) ... Jan 17 2017, 07:19      Forger Синглтон я указал как самый популярный способ избе... Jan 17 2017, 08:29      Сергей Борщ QUOTE (SasaVitebsk @ Jan 17 2017, 09:19) ... Jan 17 2017, 12:12       Forger Цитата(Сергей Борщ @ Jan 17 2017, 15:12) ... Jan 17 2017, 14:32        SasaVitebsk Цитата(Forger @ Jan 17 2017, 17:32) Конеч... Jan 17 2017, 15:42         Forger Цитата(SasaVitebsk @ Jan 17 2017, 18:42) ... Jan 17 2017, 15:58        Сергей Борщ QUOTE (Forger @ Jan 17 2017, 16:32) Сингл... Jan 18 2017, 09:18         Forger Цитата(Сергей Борщ @ Jan 18 2017, 12:18) ... Jan 18 2017, 09:48     pitt Цитата(Сергей Борщ @ Jan 17 2017, 01:50) ... Jan 17 2017, 14:18  pitt Цитата(k000858 @ Jan 15 2017, 23:44) тако... Jan 16 2017, 16:03 SasaVitebsk В зависимости от текста... Как правило непредсказу... Jan 16 2017, 14:22   Forger Цитата(SasaVitebsk @ Jan 19 2017, 15:47) ... Jan 19 2017, 13:04 SasaVitebsk Посмотрите с чего начиналась тема. Начали гнать на... Jan 17 2017, 23:48 Forger Цитата(SasaVitebsk @ Jan 18 2017, 02:48) ... Jan 18 2017, 00:13  pitt Цитата(Forger @ Jan 17 2017, 19:13) На С+... Jan 18 2017, 13:43   Forger Цитата(pitt @ Jan 18 2017, 16:43) Вообще,... Jan 18 2017, 19:31    pitt Цитата(Forger @ Jan 18 2017, 14:31) На са... Jan 19 2017, 04:35     Forger Цитата(pitt @ Jan 19 2017, 07:35) Блажен,... Jan 19 2017, 06:52      pitt Цитата(Forger @ Jan 19 2017, 01:52) А дру... Jan 19 2017, 13:28       Forger Классика жанра: вопрос -> холивар -> срач -... Jan 19 2017, 13:34 SasaVitebsk На счёт грамотного проектирования - ктож с вами сп... Jan 18 2017, 08:32 k000858 не соглашусь
темы подобного рода создаю в части с... Jan 19 2017, 16:31 Forger Цитата(k000858 @ Jan 19 2017, 19:24) не с... Jan 19 2017, 16:34 SasaVitebsk Цитата(k000858 @ Jan 19 2017, 19:31) проб... Jan 19 2017, 20:19  k000858 Цитата(SasaVitebsk @ Jan 19 2017, 23:19) ... Jan 20 2017, 05:54   Forger Цитата(k000858 @ Jan 20 2017, 08:54) В пр... Jan 20 2017, 06:00 SasaVitebsk Ну в принципе, здесь возможны 4 ошибки.
1. класси... Jan 20 2017, 08:08 Forger Если проектировать код похожим образом (на C++ без... Jan 20 2017, 08:20 SasaVitebsk Уважаемый Forger. Мы вас уже поняли. Надо проект о... Jan 20 2017, 12:22 pitt Цитата(SasaVitebsk @ Jan 20 2017, 07:22) ... Jan 20 2017, 13:22  Forger Навеяло (ничего личного) ... Jan 20 2017, 17:38   pitt Цитата(Forger @ Jan 20 2017, 12:38) Навея... Jan 20 2017, 22:11    Forger Цитата(pitt @ Jan 21 2017, 01:11) По-види... Jan 20 2017, 22:19     pitt Цитата(Forger @ Jan 20 2017, 17:19) Не ст... Jan 21 2017, 04:19 k000858 все оказалось проще: в одной задаче действительно ... Jan 23 2017, 07:09
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|