mml 0 13 января, 2017 Опубликовано 13 января, 2017 · Жалоба Пробовал так: char s[256]; sprintf(&s,"APL: %f", 12.345); sprintf(&s,"APL: %F", 12.345); sprintf(&s,"APL: %e", 12.345); sprintf(&s,"APL: %E", 12.345); Там где должно появиться float число, пустое место (не вставляются никакие символы). Целые числа, строки и символы выводятся нормально. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alechek 0 13 января, 2017 Опубликовано 13 января, 2017 · Жалоба 1. включена ли поддержка float в библиотеке? 2. выравнивание стека по 8? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mml 0 13 января, 2017 Опубликовано 13 января, 2017 · Жалоба 1. включена ли поддержка float в библиотеке? В настройках поставлена галочка Use float with nano printf для включения опции -u _printf_float. Эта опция не помогает. 2. выравнивание стека по 8? Не знаю как настроить такое выравнивание. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k000858 0 13 января, 2017 Опубликовано 13 января, 2017 · Жалоба В настройках поставлена галочка Use float with nano printf для включения опции -u _printf_float. Эта опция не помогает. Не знаю как настроить такое выравнивание. в настройках адреса начала стека Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mml 0 13 января, 2017 Опубликовано 13 января, 2017 · Жалоба в настройках адреса начала стека _estack = 0x20010000; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
novikovfb 17 13 января, 2017 Опубликовано 13 января, 2017 · Жалоба В настройках поставлена галочка Use float with nano printf для включения опции -u _printf_float. nano printf - очень похоже на printf без поддержки плавающей запятой. Ищите опцию включения полнофункциональной printf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mml 0 13 января, 2017 Опубликовано 13 января, 2017 · Жалоба Ищите опцию включения полнофункциональной printf В этом и смысл моего обращения на форум. Я не знаю как ее включить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 13 января, 2017 Опубликовано 13 января, 2017 · Жалоба В этом и смысл моего обращения на форум. Я не знаю как ее включить. Этого тут никто не знает, так как не можем телепатировать какой у Вас компилятор. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 13 января, 2017 Опубликовано 13 января, 2017 (изменено) · Жалоба не будем телепатировать. будем предполагать дефолтный GCC для арм LD_FLAGS += -nostartfiles LD_FLAGS += --specs=nano.specs LD_FLAGS += -fno-exceptions -fno-rtti LD_FLAGS += -Wl,--gc-sections LD_FLAGS += -lc -lnosys LD_FLAGS += -lm LD_FLAGS += -u _scanf_float LD_FLAGS += -u _printf_float LD_FLAGS += -T$(LD_SCRIPT) флаги из реально как печатающего так и ожидающего на вход плавучку проекта. Изменено 13 января, 2017 пользователем _Pasha Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mml 0 13 января, 2017 Опубликовано 13 января, 2017 · Жалоба Этого тут никто не знает, так как не можем телепатировать какой у Вас компилятор. gcc Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mml 0 13 января, 2017 Опубликовано 13 января, 2017 (изменено) · Жалоба Не работает, только при вызове из задачи FREE RTOS. Вне FREE RTOS работает. Изменено 13 января, 2017 пользователем mml Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 14 13 января, 2017 Опубликовано 13 января, 2017 · Жалоба Значит, у вас стек задачи не выровнен на границу 8 байт. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 13 января, 2017 Опубликовано 13 января, 2017 · Жалоба Не работает, только при вызове из задачи FREE RTOS. Вне FREE RTOS работает. 2. выравнивание стека по 8? "Совпадение? Не думаю!" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mml 0 13 января, 2017 Опубликовано 13 января, 2017 (изменено) · Жалоба Как его выровнять на 8? Использую: #define configMINIMAL_STACK_SIZE ( ( uint16_t ) 1 * 1024 ) Если речь о величине стека на задачу, то она у меня кратна восьми. Изменено 13 января, 2017 пользователем mml Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ohmjke 0 14 января, 2017 Опубликовано 14 января, 2017 · Жалоба Как его выровнять на 8? С FreeRTOS не работал, но, к примеру, в TNKernel стеки задач это просто массивы. А массив можно выровнять так: uint32_t stack[STACK_SIZE] __attribute__ ((aligned (8))); Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться