-
- Ты вначале хоть озвучь, какая у тебя libc. А то может и колёс-то нет, по которым стучать. В общем случае -- нужны интерфейсные с ОС функции вроде open, read, write, close, несколько ещё. Так newlib, например, работает. В более тяжёлых случаях fk0(886 знак., 11.12.2014 12:15)
- Фуф. Запустил. Оптимизатор выкинул вызов printf перед основным циклом. перетащил в цикл - тут уже не посмел оптимизировать. - Dingo(11.12.2014 13:42)
- man setvbuf flush puts и \n в конце - fk0(11.12.2014 13:57)
- Гы-гы. Танцы с бубном. Продолжайте, пожалуйста, это так увлекательно :-) SciFi(48 знак., 11.12.2014 13:45)
- Ну как... вот так. Dingo(187 знак., 11.12.2014 15:13 - 15:19)
- Чукча не читатель. fk0 уже 2 раза написал, что нужно делать flush. Оптимизатор к этому имеет приблизительно такое же отношение, как и фаза Луны. - SciFi(11.12.2014 15:25, ссылка)
- Не думал, что так критично. Теперь знать буду. А равны ли fflush и \n по действию? - Dingo(11.12.2014 15:36)
- Нет, конечно. fflush() не делает перенос строки. - SciFi(11.12.2014 15:39)
- Я в контексте "вывести на устройство сейчас же". - Dingo(11.12.2014 15:40)
- В этом контексте да. - SciFi(11.12.2014 15:47)
- Некоторые libc, в частности микрософтовская, но и некоторые из мира embedded, не умеют _IOLBF... - fk0(12.12.2014 00:14)
- В этом контексте да. - SciFi(11.12.2014 15:47)
- Я в контексте "вывести на устройство сейчас же". - Dingo(11.12.2014 15:40)
- Нет, конечно. fflush() не делает перенос строки. - SciFi(11.12.2014 15:39)
- Не думал, что так критично. Теперь знать буду. А равны ли fflush и \n по действию? - Dingo(11.12.2014 15:36)
- Чукча не читатель. fk0 уже 2 раза написал, что нужно делать flush. Оптимизатор к этому имеет приблизительно такое же отношение, как и фаза Луны. - SciFi(11.12.2014 15:25, ссылка)
- Ну как... вот так. Dingo(187 знак., 11.12.2014 15:13 - 15:19)
- Нашёл пример, с которым работает (но скорость уарта не могу угадать. А сообщения - да, пытается печатать.). а со своим проектом не могу сростить. Собирается, но не работает. - Dingo(11.12.2014 13:04 - 13:09)
- STM32F4xx_DSP_StdPeriph_Lib_V1.4.0 и цельнотянутая GCC Dingo(2203 знак., 11.12.2014 13:02)
- Фуф. Запустил. Оптимизатор выкинул вызов printf перед основным циклом. перетащил в цикл - тут уже не посмел оптимизировать. - Dingo(11.12.2014 13:42)
- extern "C" ? анекдот: "По колесам стучал? Стекло протирал?" - Nikolay801_(11.12.2014 10:21)
- Так. Вдумчивый анализ ключей подсказал заменить -std=c99 на -std=gnu99 и asm стал перевариваться. Работать пока не заставил. - Dingo(11.12.2014 12:58)
- Нашел рабочий пример. Копирую к себе syscalls.c Одним и тем же компилятором он собирается, в составе моего - нет. Ругается на register char * stack_ptr asm ("sp"); До этого просто переправлял в __asm__ Видимо, тут что-то другое... Dingo(3315 знак., 11.12.2014 11:29)
- Ну таки оно их цепляет, раз некоторым из вызовов управление передаётся. То есть - синтаксически нормально всё. - Dingo(11.12.2014 10:26)
- Ты вначале хоть озвучь, какая у тебя libc. А то может и колёс-то нет, по которым стучать. В общем случае -- нужны интерфейсные с ОС функции вроде open, read, write, close, несколько ещё. Так newlib, например, работает. В более тяжёлых случаях fk0(886 знак., 11.12.2014 12:15)