Цитата(Михась @ Nov 7 2015, 11:28)

Спасибо, Сергей. Я видел ваш пост по этой теме ранее и посмотрел хидеры printf. Понял что есть выбор только между целочисленным printf и double. Была надежда, что где-то затаился printf с float.
Для информации будущим исследователям
МК -STM32f030, индикатор - LCD TIC-55, softspi. Частота тактовая - 8МГц
Строка форматируется из
sprintf(s_temp, "%4.1f%5d", (float)A,

;
Время на функцию включая вывод softspi - 2.2ms
sprintf(s_temp, "%2d %5d", A, B );
Время на функцию включая вывод softspi - 0.9ms
Время чистого вывода на индикатор по softspi -0.4ms
Библиотеки (float используется и в других функциях, double - только printf)
Оптимизация отключена. Стека в 256 байт не хватило (без printf с double хватало 256), пришлось увеличить до 512.
CODE
----------------------------------------------------------------------
Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name
34 0 0 0 0 60 fpclassifyf.o
62 0 0 0 0 340 funder.o
1520 90 320 0 0 176 powf.o
0 0 0 0 0 0 entry.o
0 0 0 0 0 0 entry10a.o
0 0 0 0 0 0 entry11a.o
8 4 0 0 0 0 entry2.o
4 0 0 0 0 0 entry5.o
0 0 0 0 0 0 entry7b.o
0 0 0 0 0 0 entry8b.o
8 4 0 0 0 0 entry9a.o
12 6 0 4 0 60 errno.o
30 0 0 0 0 0 handlers.o
40 0 0 0 0 72 idiv.o
36 8 0 0 0 68 init.o
0 0 0 0 0 0 iusefp.o
32 0 0 0 0 68 llshl.o
38 0 0 0 0 68 llsshr.o
34 0 0 0 0 68 llushr.o
2242 94 0 0 0 472 printfa.o
36 12 0 4 0 120 rand.o
44 0 0 0 0 72 uidiv.o
96 0 0 0 0 84 uldiv.o
40 2 0 0 0 68 cdrcmple.o
356 4 0 0 0 140 dadd.o
240 6 0 0 0 84 ddiv.o
236 0 0 0 0 216 depilogue.o
64 10 0 0 0 68 dfixul.o
208 6 0 0 0 88 dmul.o
40 0 0 0 0 60 f2d.o
178 0 0 0 0 108 fadd.o
124 0 0 0 0 72 fdiv.o
130 0 0 0 0 144 fepilogue.o
50 0 0 0 0 60 ffixi.o
76 0 0 0 0 68 ffixir.o
40 0 0 0 0 60 ffixui.o
22 0 0 0 0 68 fflti.o
14 0 0 0 0 68 ffltui.o
122 0 0 0 0 72 fmul.o
24 0 0 0 0 60 fscalb.o
----------------------------------------------------------------------
6242 246 320 8 0 3232 Library Totals
2 0 0 0 0 0 (incl. Padding)
Сообщение отредактировал Михась - Nov 7 2015, 06:58