−46
- 1
- 2
- 3
- 4
- 5
for( pxIterator = ( ListItem_t * ) &( pxList->xListEnd ); pxIterator->pxNext->xItemValue <= xValueOfInsertion; pxIterator = pxIterator->pxNext ) /*lint !e826 !e740 The mini list structure is used as the list end to save RAM. This is checked and valid. */
{
/* There is nothing to do here, just iterating to the wanted
insertion position. */
}
Встал остро вопрос выбора использования ОС в команде. Сперва я с пеной у рта пытался навязать использование ОСи как таковой, теперь когда согласились, новый спор. Собираются использовать freertos. А у меня слёзы наворачиваются, когда я вижу подобное говно: стиль тупой блондинки, тяжело воспринимаемые конструкции, модули по 2к+ строк кода, безмозглые комменты и т.д. Для реализации проекта будет годна RTEMS, но к сожалению, я не успел толком её попробовать, что бы конкретно привести факты: быстрее, выше, сильнее. Если говорить только про code style, меня никто слушать не станет. Может есть кто кинет в меня умными ссылками, где freertos смешают с говном?
Запостил:
MiD,
01 Августа 2016
с другой стороны, у нас тут на фирме есть фан QP/CPP... http://govnokod.ru/17627 http://govnokod.ru/17616 http://govnokod.ru/17612
но больше мне это сравнивать не с чем (кроме доморощеных осей).
ОС (OS) - это операционная система (operation system)?
Загуглил - подумал, не ошибся-ли профессией.
Так FreeRTOS - это получается просто либа, также как WinAPI в windows? Почему это называется операционной системой?
Вот в статье показано использование функции vTaskDelay. Откуда оно знает как на моем устройстве сделать задержку на N мс?
Скорее фреймворк.
самые большие грабли были в том что FreeRTOS хотело динамическую память - но в v9.0 они добавили статическую инициализацию для всех структур, поэтому даже хип больше не нужен.
Няшная всё-таки архитектура, не то что x86. Вектор сброса и обработчики прерываний можно прям обычными функциями хуярить, вообще без асма...
зависит от контроллера прерываний. с теми двумя с которыми я уже работал - с поддержкой приоритетов - нужна было пара мелочей (для которых была пара макро с асмом).
у ARM'а контроллер прерываний это почти "внешний" девайс: "внешний" == можно своим заменять на стадии "синтеза" чипа.
У него прям так прокатило, т.к. все нужные регистры бекапит, а стартовое значение sp записано рядом с резетом.
А названия не помнишь, случаем?
Куда там уже резать то...