-
- Нуля нет -- а что вместо нуля? ARM, стек растёт вниз. Затирать конец буфера уж точно не может. Покажи sprintf.c здесь (нет IAR). Вариант: таки прерывания не запрещаются? И обработчик портит какой-то регистр (не сохраняется и т.п.) и потому fk0(125 знак., 22.01.2013 13:44)
- Вместо нуля мусор который был до вызова sprintf. В терминал летит мусор + JTAGом вижу в отладчике на точке останова после sprintf. IARовский sprintf: Молодой коллега(369 знак., 22.01.2013 14:31)
- И как именно определяется, что "нуля нет"? Может метод анализа глючный, а со sprintf всё ок? - fk0(22.01.2013 13:45)
- Фигня получается. sprintf засунут между __disable_interrupt и __enable_interrupt(). Ты говоришь, что перед __enable_interrupt() нуля нет. Но как FreeRTOS может вмешаться если прерывания под запретом? Может это проц какой хитрый которому доступен Codavr(23 знак., 22.01.2013 13:33)
- "мопед не мой", LPC4300 - Vladimir Ljaschko(22.01.2013 13:38)
- Там по DMA никто напакостить не может? - vmp(22.01.2013 14:22)
- Больно прецизионно для DMA. Хотя реальность такие фортеля выкидывает. - Codavr(22.01.2013 14:48)
- А там мусор вместо нуля? Попробуй буфер инициализировать чем нить, чтобы убедиться sprintf не пишет или затирается чем-то. Ну там 0xAA допустим. - Codavr(22.01.2013 13:45)
- Там по DMA никто напакостить не может? - vmp(22.01.2013 14:22)
- "мопед не мой", LPC4300 - Vladimir Ljaschko(22.01.2013 13:38)
- Нуля нет -- а что вместо нуля? ARM, стек растёт вниз. Затирать конец буфера уж точно не может. Покажи sprintf.c здесь (нет IAR). Вариант: таки прерывания не запрещаются? И обработчик портит какой-то регистр (не сохраняется и т.п.) и потому fk0(125 знак., 22.01.2013 13:44)