Связанные сообщения
-
- Оба не правы. Железкин не прав больше. Он вообще за деревьями леса не видит. Нужно делать как писюканец сказал, но выделить обращения к железу в отдельные файлы таки. И не на уровне "ножка порта" (подход железкина), а на уровне логических функций fk0(423 знак., 25.10.2013 16:23)
- Стараюсь сочетать варианты 1 и 2. Сочетание сводится к тому, что прокладки поддержки железа разбиты на отдельные файлы :) При портировании кусков проекта так удобнее. Vladimir Ljaschko(512 знак., 25.10.2013 13:08)
- Ситуация описана неверно.Первый случай это и есть второй ПЛЮС вынесенный отдельно HAL. plainuser(90 знак., 25.10.2013 12:57)
- Ну как: main.c -> encoder.c (encoder.h) -> io.c (io.h) -> config.h Звероящер(330 знак., 25.10.2013 13:09)
- файл с именем config.h обычно имеет совсем другое назначение. Vit(53 знак., 25.10.2013 13:44)
- Ну как: main.c -> encoder.c (encoder.h) -> io.c (io.h) -> config.h Звероящер(330 знак., 25.10.2013 13:09)
- Делаю и так, и так, а иногда и смешиваю. Соблюдаю только одно - четкое отделение прикладных алгоритмов от тех, что хоть чуть-чуть железо-зависимы. - Скрипач(25.10.2013 12:18)
- То есть, если есть например алгоритм работы с 1-wire, то опускаем его до уровня HAL, а наверх оставляем что-то вроде SendMessage(), GetMessage(). Э? - Звероящер(25.10.2013 12:41)
- Не совсем. Над HAL может быть ещё один слой, уже нужный для совмещения разных программных интерфейсов. Т.е. есть модуль A, который, потенциально может работать с модулем B или модулем C. Как быть? Вариант первый: в проект можно включить либо fk0(510 знак., 25.10.2013 16:28)
- типа да - RED_DRAGON(25.10.2013 12:45)
- +1 - Mahagam(25.10.2013 12:25)
- То есть, если есть например алгоритм работы с 1-wire, то опускаем его до уровня HAL, а наверх оставляем что-то вроде SendMessage(), GetMessage(). Э? - Звероящер(25.10.2013 12:41)
- HAL отдельно, задача отдельно. - RED_DRAGON(25.10.2013 11:41)
- Есть полтыщи способов слагать народные песни. Тут показаны два способа. Оба способа приемлемы и имеют свои достоинства и недостатки. Остальное религиозные вопросы кто в какую церкоаь ходить привык. - ASDFS(25.10.2013 11:29)
- ну вот, конфликт представлений. у одного в голове функциональная схема, у другого - структурная. их мнения никогда не совпадут. - Д.ARMоед(25.10.2013 10:58)
- Должен быть один системный архитектор (Дирижёр) тогда и какофонии не будет. - инженегр(25.10.2013 11:40,
)
- угу. это его обязанности - душить разброд и шатания. на крайняк, просто ведущий программер. но трудно угадать - Звероящер не колется, может там всё по-старинке - только нач.группы.. - Д.ARMоед(25.10.2013 12:24)
- Это разговор двух друзей программеров, которые работают в разных
говноконторах :) - Звероящер(25.10.2013 12:35)
- Это разговор двух друзей программеров, которые работают в разных
- Да как-то так получается, что в "архитекторы" выбиваются самые бестолковые (при это самые пронырливые), и такая получается симфония.... - Крок(25.10.2013 12:22)
- угу. это его обязанности - душить разброд и шатания. на крайняк, просто ведущий программер. но трудно угадать - Звероящер не колется, может там всё по-старинке - только нач.группы.. - Д.ARMоед(25.10.2013 12:24)
- Должен быть один системный архитектор (Дирижёр) тогда и какофонии не будет. - инженегр(25.10.2013 11:40,
- :) ни о чём, пока не знаем кто и за что платит сейчас и будет платить потом. любые потуги сделать портабельное чего-то стОят. Vit(548 знак., 25.10.2013 10:50 - 10:56)
- +1 LordN(164 знак., 25.10.2013 15:58)
- Оба дураки :-)). Как минимум три уровня: =AlexD=(463 знак., 25.10.2013 10:51)
- Первое (CSP) это вообще не уровень.Но в целом поддерживаю. - plainuser(25.10.2013 12:52)
- Код от действительно заслуживающего уважения человека видел - там "железячно" всё разбито. У меня - компромисс... POV(1040 знак., 25.10.2013 10:43 - 10:50)
- Хе. На меня похоже. Звероящер(25.10.2013 11:20)
- Возьми любую серьёзную ОС, там в отдельные файлы вынесена работа с аппаратурой и логика аппаратуры, вплоть до частей драйвера, называется обычно HAL, весь аппаратно переносимый код (завязанный на ОС) находится в уровне драйверов ОС. А дальше инженегр(68 знак., 25.10.2013 10:49,
)
- +1500 - _basile(25.10.2013 13:18)
- А кто мешает ОС применить? _basile(105 знак., 25.10.2013 13:23)
- А зачем плодить лишние сущности? ОС нужна в сильно разлапистых проектах на жырных контроллерах и только. Да и любая ОС накладывает свои ограничения по времени реакции на события - Звероящер(25.10.2013 13:26)
- Какие "сильно разлапистые" ? И сущностей плодить - не надо. Щас железо копейки стоит, по сравнению с зряплатой программера и дальнейшей поддержкой ПО. Да, LPC/STM запаять (0,5) - монтажник нормальный нужен, в отличии от AVR (0,8). А чо делать ? - _basile(25.10.2013 13:39)Vit
- слишком категорично. - Vit(25.10.2013 13:29)
- А зачем плодить лишние сущности? ОС нужна в сильно разлапистых проектах на жырных контроллерах и только. Да и любая ОС накладывает свои ограничения по времени реакции на события - Звероящер(25.10.2013 13:26)
- А кто мешает ОС применить? _basile(105 знак., 25.10.2013 13:23)
- Это где ОС есть. А где нет? И кропотливый подход = временные затраты = деньги. - Звероящер(25.10.2013 11:19)
- Одноразовый подход выгоден говнокодерам, у них всегда есть работа. Хороший программист стремиться к повторному использованию кода, без кропотливой переделки и отладки уже написанного. Быстрее складывать кубики, нежели выпиливать статую с нуля. - инженегр(25.10.2013 11:32,
)
- кубики привязанные к железу один хер переделывать. Mahagam(121 знак., 25.10.2013 11:38)
- STL поди еще использовали... - Звероящер(25.10.2013 12:37)
- Всё хорошо в меру, слоение ради слоения = маразм, если есть готовые кубики, и под них надо переписать только HAL и проложить связи, это будет быстрее, нежели писать и отлаживать с нуля. - инженегр(25.10.2013 11:42,
)
- кубики привязанные к железу один хер переделывать. Mahagam(121 знак., 25.10.2013 11:38)
- Одноразовый подход выгоден говнокодерам, у них всегда есть работа. Хороший программист стремиться к повторному использованию кода, без кропотливой переделки и отладки уже написанного. Быстрее складывать кубики, нежели выпиливать статую с нуля. - инженегр(25.10.2013 11:32,
- +1500 - _basile(25.10.2013 13:18)