#13bis Народ, гляньте, у кого IAR есть, что написано в #define
assert_param (в каком-то из заголовочных файлов примеров и
библиотек) в вашей версии. Процессор не имеет значения, т.к. речь о
языке Си. В версии 5.20 код выглядит так: #ifdef DEBUG
#define assert_param(expr) ((expr) ? (void)0 : assert_failed((u8 *)__FILE__, __LINE__))
void assert_failed(u8* file, u32 line);
#else
#define assert_param(expr) ((void)0)
#endif /* DEBUG */
В версии 7.40:
#ifdef USE_FULL_ASSERT
#define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))
void assert_failed(uint8_t* file, uint32_t line);
#else
#define assert_param(expr) ((void)0)
#endif /* USE_FULL_ASSERT */
Иначе говоря, то же самое. Но эта конструкция не совместими с MISRA2004 в ветке "#else". Может в более свежих версиях IAR чего-нибудь новое придумал?