Комментарии 24
нуу… когда kAIPSTZ_PeripheralAllowUntrustedMaster == kAIPSTZ_PeripheralWriteProtected это пять… :D
О нет! Я наивно полагала, что только писишный софт умудряется работать (!) несмотря на тысячи ошибок (но как?). А такое творится ещё и в эмбеддеде! Но как оно работает при этом?
Такое, как в статье, не работает. =)
Открою секрет… этот код может вообще не вызываться.
Открою ужасающий секрет — embedded-софт тестируют как минимум на порядок меньше и хуже, чем любой зачуханный веб-сервер. И пишут его зачастую динозавры, отладчик — это для слабаков, а «если код компилируется, значит, все работает».
Код на С. Компилируется. Значит, работает.
Я не шучу, к сожалению.
И никто этого не замечает, потому что в веб-сервер каждый день тыкают пальцами миллионы пользователей, и любые ошибки выплывают гораздо быстрее.
Код на С. Компилируется. Значит, работает.
Я не шучу, к сожалению.
И никто этого не замечает, потому что в веб-сервер каждый день тыкают пальцами миллионы пользователей, и любые ошибки выплывают гораздо быстрее.
Выбрал ряд предупреждений, которые на мой взгляд могут представлять интерес и выгрузил их в полный HTML-лог (с навигацией по коду). Интересующиеся могут скачать архив rt-thread-html-log.zip и посмотреть, что есть ещё интересного. Заодно, это повод познакомиться с нашим новым форматом отчётов.
Или можно подождать статью, где я разберу ошибки в проекте RT-Thread и расскажу про поддержку KEIL, IAR.
Или можно подождать статью, где я разберу ошибки в проекте RT-Thread и расскажу про поддержку KEIL, IAR.
Так что там с IAR`ом? В двух словах… Уже есть поддержка или пока ещё ждём?
А кейл? Кейл? Кейл-то как? Как он, родненький?
Джва года
Боже мой, да я пять лет жду такую новость!
Ой, ну не переживайте так. Если хотите, могу (наверное) beta-версию выдать. :)
Если можно, то очень хочу :) Узнайте, пожалуйста!
Выложили бету, можете попробовать.
Спасибо большое!
Мне уже неловко вам писать, но… а как ей пользоваться? -_-' Я попробовал запустить standalone и мониторить запуски компилятора, но компиляцию в Кейле она не увидела. В Кейл ничего не интегрировалось (я не особо верил, но вдруг?).
Наверное, я поторопился; надо было подождать вашей следующей статьи.
Мне уже неловко вам писать, но… а как ей пользоваться? -_-' Я попробовал запустить standalone и мониторить запуски компилятора, но компиляцию в Кейле она не увидела. В Кейл ничего не интегрировалось (я не особо верил, но вдруг?).
Наверное, я поторопился; надо было подождать вашей следующей статьи.
Нисколько не принижая важность статического анализа кода, считаю необходимым написать, что даже
НИКАК не может считаться хорошим стилем по двум причинам:
1) используются две константы, которые должны изменяться синхронно, а задаются просто так;
2) данный фрагмент используется многократно и ДОЛЖЕН быть заменен inline функцией или даже макросом, при всех недостатках последнего, хуже, чем есть, точно не будет.
*pulHigh = ((ulTemp & PECI_M0D0C_HITHR_M) >> PECI_M0D0C_HITHR_S);
НИКАК не может считаться хорошим стилем по двум причинам:
1) используются две константы, которые должны изменяться синхронно, а задаются просто так;
2) данный фрагмент используется многократно и ДОЛЖЕН быть заменен inline функцией или даже макросом, при всех недостатках последнего, хуже, чем есть, точно не будет.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Ошибки в роботах: ожидание и реальность