-
- Копирование строки форматирования в RAM, vsnprintf, окончательный вывод, недостаток: резервируются два буфера в RAM. инженегр(439 знак., 22.12.2013 16:38, )
- это не поможет? - oleg110592(21.12.2013 23:54 - 22.12.2013 09:02, ссылка)
- некоторые глупости лечились __generic. - Vit(21.12.2013 21:08)
- мне бы для этого MegaJohn(621 знак., 21.12.2013 22:37)
- я бы попробовал в описании формального параметра заменить __flash на __generic - Vit(21.12.2013 22:46)
- мне бы для этого MegaJohn(621 знак., 21.12.2013 22:37)
- Трололололо! Я устал об этом уж писать. Почему AVR никуда не годная архитектура (vs пик-контроллер проф. уровня) -- из-за __flash отличного от const char. 100500 раз писал. Решения у тебя два: 1) если размер проекта позволяет -- разместить fk0(418 знак., 21.12.2013 18:22, youtube)
- Вариант 4) Не использовать printf 5) Написать свой (или взять подходящий - xprintf например) - Apтём(21.12.2013 19:01)
- А чем свой printf будет отличаться от библиотечного? Он что, волшебным образом догадается, flash или не flash? В том-то и проблема, что механизма такого угадывания нет. Ровно то, о чём я говорил выше -- вариант 3. Будто дело кончится только fk0(80 знак., 21.12.2013 19:08)
- Если asctime нужон, то всё верно. Но вот мне его не надо ну ни разу... - Apтём(21.12.2013 19:15)
- Ты за деревьями леса не видишь. Проблема с __flash носит не частный, а системный характер. Переписыванием одной функции она не решается. Эта проблема вообще не даёт возможность программировать на C для программ с большим объёмом константных fk0(261 знак., 21.12.2013 20:34)
- Да нету там никакой системной проблемы в самом AVR. Есть компиляторостроители, которые не желают поддерживать generic pointers, широко известные еще с 8051. Насчет printf сотоварищи - принципиально никогда не использую LIBC от компилятора. Грабли LightElf(110 знак., 23.12.2013 10:00)
- Не то что бы я не вижу проблемы, видимо она меня не шибко парит. А кривоту этого flash я ощутил вполне, когда начал АРМы осваивать. Apтём(546 знак., 21.12.2013 23:11 - 23:17)
- Ты за деревьями леса не видишь. Проблема с __flash носит не частный, а системный характер. Переписыванием одной функции она не решается. Эта проблема вообще не даёт возможность программировать на C для программ с большим объёмом константных fk0(261 знак., 21.12.2013 20:34)
- Если asctime нужон, то всё верно. Но вот мне его не надо ну ни разу... - Apтём(21.12.2013 19:15)
- А чем свой printf будет отличаться от библиотечного? Он что, волшебным образом догадается, flash или не flash? В том-то и проблема, что механизма такого угадывания нет. Ровно то, о чём я говорил выше -- вариант 3. Будто дело кончится только fk0(80 знак., 21.12.2013 19:08)
- Вариант 4) Не использовать printf 5) Написать свой (или взять подходящий - xprintf например) - Apтём(21.12.2013 19:01)
- vsnprintf_P такой не нахожу. Вот ведь гадкая гарвардская архитектура - MegaJohn(21.12.2013 00:20)
- Не надо гнать на доброе имя гарвардской архитектуры. Виноваты исключительно чипостроители из атымела: зажали вшивый дешифратор адреса. - SciFi(21.12.2013 10:12)
- а в других как ? Типо мнимое общее адресное пространство или как ? - MegaJohn(21.12.2013 22:39)
- Мнимое или нет - это, скорее, из области психиатрии. А вы никогда не вешали периферию не внешнюю шину процессора? Линии адреса там всякие, а если их мало, то и дешифратор. Не доводилось? - SciFi(21.12.2013 22:50)
- У каждого комплексного обеда есть мнимая составляющая... - fk0(22.12.2013 12:03)
- Не доводилось.В арсенале только uC и тех не много - MegaJohn(21.12.2013 23:39)
- Мнимое или нет - это, скорее, из области психиатрии. А вы никогда не вешали периферию не внешнюю шину процессора? Линии адреса там всякие, а если их мало, то и дешифратор. Не доводилось? - SciFi(21.12.2013 22:50)
- а в других как ? Типо мнимое общее адресное пространство или как ? - MegaJohn(21.12.2013 22:39)
- А там есть такая функция? Вроде нету...Чего сделать-то надо? - Apтём(21.12.2013 00:29)
- Не надо гнать на доброе имя гарвардской архитектуры. Виноваты исключительно чипостроители из атымела: зажали вшивый дешифратор адреса. - SciFi(21.12.2013 10:12)