-
- Исходинки библиотеки есть? Если да, то допилить иаровский форматтер в сторону avr-gcc-шного (%s - строка в ОЗУ, %S - во флеше). - ReAl_из_отпуска(25.09.2010 17:42, )
- Учитывая, что работа с фпеш и рам в функции организована принципиально по-разному, варианты видятся такие: mandigit(224 знак., 24.09.2010 22:30)
- Прокладка -- единственный правильный путь. - fk0(27.09.2010 11:19)
- AVR, как контроллер любительского уровня, не приспособлен для нормального программирования на C, в отличии от контроллеров профессионального уровня PIC, где htsoft умеет в runtime отличать указатель на ROM и на RAM (по-адресу). KEIL для x51, кстати, тоже fk0(64 знак., 24.09.2010 11:14)
- В ИАРе для АВРов тоже есть поддержка женерик указателей, и соответствующие либы. Курите доку. - =AlexD=(25.09.2010 17:40)
- Вот IAR -- компилятор профессионального уровня. А GCC, как всегда, поделка финских студентов... - fk0(25.09.2010 21:23)
- Насколько могу понять, первичный половой признак "профессиональности" контроллера, это совмещённое адресное пространство? Круто! ;О) - mse(24.09.2010 14:05)
- Ну, ну. За это "Кайло" платит 3-мя байтами для описания "универсального" указателя. Вместо 2-х для CODE и XRAM и одного для IRAM. Код пухнет, а про скорость можно забыть. - Chum_A(24.09.2010 13:45)
- Сэкономить целый байт -- это да, это того стоит. А если ещё переписать на ассемблере, то сэкономится может даже целый килобайт. Только сейчас 2010 год, если кто не знает, а не 1960. - fk0(24.09.2010 13:54)
- Вообще я имею мнение, что если в компиляторе для AVR такая ()() со строками, то просто данный контроллер не предназначен для тех задач, где строки в C нужны. Ну оно, в общем-то и верно: при таких объёмах ОЗУ... PIC18, кстати, тоже не предназначен. Хотя и fk0(7 знак., 24.09.2010 11:30)
- Компилятор здесь не виноват Ксения(1044 знак., 24.09.2010 12:36 - 12:47)
- Не надо нести чушь в массы. В AT91 тоже флеш, например, но проблем специфичных для гарвардской архитектуры -- нет. Ибо адресное пространство -- одно. И тип памяти флеш или нет здесь вовсе не при чём. Или PIC24 -- где данная проблема учтена разработчиками fk0(104 знак., 24.09.2010 13:31)
- Выходит, что вы по-прежнему считаете, что это комплятор виноват в том, что у МК гарвардская архитектура? Ксения(121 знак., 24.09.2010 13:52 - 13:55)
- Может, я ничего не понимаю в компиляторах, но почему нельзя расширить С в части автоматического размещения переменных с квалификаторм const во флэши и подмены использующих их функций на этапе компиляции. Невелика беда переопределить const <> __flash Vladimir Ljaschko(115 знак., 25.09.2010 13:14)
- Вы действительно не понимаете, что означает const. И правил приведения обычной переменной к const и наоборот. Cepгeй Бopщ(37 знак., 25.09.2010 17:37)
- Неважно, что понимаю я, вот Snaky ниже смог сделать поправку на мою косноязычность и непонимание и правильно выразить мою мысль :) - Vladimir Ljaschko(25.09.2010 19:44)
- Опять слов красивых много, а толку нет! Если компилятор для PIC МОЖЕТ обеспечить работы со строками, а компилятор для AVR НЕ МОЖЕТ, то последний - говно! И глупо пытаться обойти эти ограничения. Сам в свое время полностью отказался от AVR только из-за FDA_home(248 знак., 25.09.2010 17:48, )
- Плюсадин! Под пик есть компилятор профессионального уровня, а под авр -- любителького -- для маленьких программой ногами дёргать. Вот и вся разница! - fk0(25.09.2010 20:14)
- "По мне компилятор должен быть максимально независимым от архитектуры процессора." Так Сергей об этом и говорит. Это Vladimir Ljaschko предложил компилятор Си научить с флешью нативно работать и даже в стандарте прописать. - Snaky(25.09.2010 17:54)
- Вы действительно не понимаете, что означает const. И правил приведения обычной переменной к const и наоборот. Cepгeй Бopщ(37 знак., 25.09.2010 17:37)
- За то, что AVR -- контроллер любительского уровня. Профессионалы используют PIC. - fk0(24.09.2010 13:55)
- Уважаемый. Вы любите пики. Флаг вам, м-м-м, в руки. Целуйте, холите и лелейте своих любимцев, сколько влезет. Только не нужно говорить, что АВР гамно, а пики рулез. mazur(650 знак., 24.09.2010 17:15)
- Я тоже начинал с AVR. Но потом наступило прозрение. И я нелюблю пики... - fk0(24.09.2010 18:12)
- И это прозрение почему-то наступило одновременно с появлением ядра Cortex? ;) - Vladimir Ljaschko(25.09.2010 19:46)
- Итак, как мне можно поступить? Целое пространство вариантов. Можно промолчать. Можно лаяться до опупения. Можно что-то отвечать. С одной стороны я не имею права вам это говорить. Все что делаете-это ваше решение, ваше право. Сразу хочу сказать, что я не mazur(857 знак., 25.09.2010 18:44)
- Бгагага! Это не у меня комплексы. На счёт ассемблера и пикоманства. Профессиональные программисты не смущаясь пишут double когда нужно. И, повторюсь, пики я не люблю, но вынужден. И я попросту видел несколько больше, чтоб более адекватно сравнивать AVR fk0(62 знак., 25.09.2010 20:18)
- Открою страшную тайну - профессионалу вообще пох на чём и подо что писать. На то он и профессионал. Т.е. зарабатывает на жизнь своей профессией. И владеет всеми тонкостями её, что позволяет работать пох с чем. И уж точно профессионал не скажет, что mse(126 знак., 25.09.2010 20:29)
- Я программировал и AVR и PIC. Профессионально (за деньги). На счёт любительский -- остаётся только посочувствовать тем, кто не видит здесь весьма нетонкий троллинг. - fk0(25.09.2010 21:16)
- Да что ж такое! Тут уже толпа собралась, чипсами запаслись, а он сливает.. Алчем услышать главные критерии профессиональности PIC'а. - blackbit(25.09.2010 22:51 - 22:53)
- Да... Настоящих буйных не осталось... Даже на Телесиськах. ;О) А тут-то вообще... - mse(25.09.2010 23:03)
- зафейлил! Низачот! - Т.Достоевский(25.09.2010 21:19)
- Да что ж такое! Тут уже толпа собралась, чипсами запаслись, а он сливает.. Алчем услышать главные критерии профессиональности PIC'а. - blackbit(25.09.2010 22:51 - 22:53)
- Я программировал и AVR и PIC. Профессионально (за деньги). На счёт любительский -- остаётся только посочувствовать тем, кто не видит здесь весьма нетонкий троллинг. - fk0(25.09.2010 21:16)
- Открою страшную тайну - профессионалу вообще пох на чём и подо что писать. На то он и профессионал. Т.е. зарабатывает на жизнь своей профессией. И владеет всеми тонкостями её, что позволяет работать пох с чем. И уж точно профессионал не скажет, что mse(126 знак., 25.09.2010 20:29)
- Потенциальный работодатель просто сравнит проекты Ваши и fk0 и сделает правильный вывод :) - Vladimir Ljaschko(25.09.2010 19:52)
- Потенциальный работодатель услышит что-нить про "любительский" процессор, на котором у него несколько линеек продуктов и пошлёт такого профессионала нах. И будет прав. ;О) И до проектов дело не дойдёт. - mse(25.09.2010 20:38)
- Я что, единственный учил диалектику? Мега128 была супер-профессональным прибором лет 8 назад, помню, как сам нёс в потной ладошке :) А сейчас это действительно для любителей. - Vladimir Ljaschko(25.09.2010 20:54)
- ;О) Я русским языком написал - на М128 сделаны несколько линеек продуктов. Разрабатываются новые. Номенклатура микропроцессоров на всё-про всё - 3-4шт. Производительности - за глаза. Все отладочно-инструментальные приблуды на каждом рабочем месте. Всё mse(323 знак., 25.09.2010 21:12)
- Не останутся. Atmel их с производства снимет :-Р - Shura(27.09.2010 11:09)
- дык уже nrnd - ATmega128A вместо неё. есть. пока есть. - Vit(27.09.2010 21:05)
- Ну не знаю, использую приблизительно поровну AVR/MSP/ARM, и с AVR постоянно хочется спрыгнуть. Может, раз это не получается, он и является супер-профессональным? :) - Vladimir Ljaschko(25.09.2010 21:32)
- Не останутся. Atmel их с производства снимет :-Р - Shura(27.09.2010 11:09)
- ;О) Я русским языком написал - на М128 сделаны несколько линеек продуктов. Разрабатываются новые. Номенклатура микропроцессоров на всё-про всё - 3-4шт. Производительности - за глаза. Все отладочно-инструментальные приблуды на каждом рабочем месте. Всё mse(323 знак., 25.09.2010 21:12)
- Я что, единственный учил диалектику? Мега128 была супер-профессональным прибором лет 8 назад, помню, как сам нёс в потной ладошке :) А сейчас это действительно для любителей. - Vladimir Ljaschko(25.09.2010 20:54)
- Потенциальный работодатель услышит что-нить про "любительский" процессор, на котором у него несколько линеек продуктов и пошлёт такого профессионала нах. И будет прав. ;О) И до проектов дело не дойдёт. - mse(25.09.2010 20:38)
- Бгагага! Это не у меня комплексы. На счёт ассемблера и пикоманства. Профессиональные программисты не смущаясь пишут double когда нужно. И, повторюсь, пики я не люблю, но вынужден. И я попросту видел несколько больше, чтоб более адекватно сравнивать AVR fk0(62 знак., 25.09.2010 20:18)
- А теперь, уважаемый, почему я сейчас, Вам, взрослому человеку, должен объяснить прописную истину. Что всему своя задача, ниша. - mazur(25.09.2010 11:31)
- У Мегаджона задачи явно стали расходиться с возможностями AVR... - fk0(25.09.2010 20:12)
- Не обращайте внимания - это у него такая манера самовыражаться. Пожалуй, возможность скрывать сообщения отдельных участников была бы полезной. - Cepгeй Бopщ(25.09.2010 11:38)
- А скрывать участников которые скрывают участников было бы вообще здорово! - Т.Достоевский(25.09.2010 21:15)
- За SMS ;)) - Т.Достоевский(25.09.2010 21:47)
- А скрывать участников которые скрывают участников было бы вообще здорово! - Т.Достоевский(25.09.2010 21:15)
- Я тоже начинал с AVR. Но потом наступило прозрение. И я нелюблю пики... - fk0(24.09.2010 18:12)
- ;О) А ещо профессионалы жуют "Orbit Professional". - mse(24.09.2010 14:08)
- А вы глаза-то поднимите и поглядите в какой раздел пишите. Ксения(66 знак., 24.09.2010 13:58)
- Действительно, футбольные фанаты за такое точно
отпиздиотругали бы. - General(24.09.2010 14:05)
- Действительно, футбольные фанаты за такое точно
- Уважаемый. Вы любите пики. Флаг вам, м-м-м, в руки. Целуйте, холите и лелейте своих любимцев, сколько влезет. Только не нужно говорить, что АВР гамно, а пики рулез. mazur(650 знак., 24.09.2010 17:15)
- Может, я ничего не понимаю в компиляторах, но почему нельзя расширить С в части автоматического размещения переменных с квалификаторм const во флэши и подмены использующих их функций на этапе компиляции. Невелика беда переопределить const <> __flash Vladimir Ljaschko(115 знак., 25.09.2010 13:14)
- Выходит, что вы по-прежнему считаете, что это комплятор виноват в том, что у МК гарвардская архитектура? Ксения(121 знак., 24.09.2010 13:52 - 13:55)
- как вариант поиграться с printf (не printf_P) и модификатором __generic - Vit(24.09.2010 12:40)
- Не надо нести чушь в массы. В AT91 тоже флеш, например, но проблем специфичных для гарвардской архитектуры -- нет. Ибо адресное пространство -- одно. И тип памяти флеш или нет здесь вовсе не при чём. Или PIC24 -- где данная проблема учтена разработчиками fk0(104 знак., 24.09.2010 13:31)
- Компилятор здесь не виноват Ксения(1044 знак., 24.09.2010 12:36 - 12:47)
- В ИАРе для АВРов тоже есть поддержка женерик указателей, и соответствующие либы. Курите доку. - =AlexD=(25.09.2010 17:40)
- Обычно опцию ставят "--string_literals_in_flash", тогда ВСЕ стринги окажутся во флеши. Если ВСЕ неудобно (где-то нужны стринги в RAM), то можно такой стринг объявить в отдельной переменной типа __flash. - Ксения(24.09.2010 10:45)
- а, то есть динамически из рамы воссоздать во флеши такую строчку ?! =) - megajohn(24.09.2010 11:16)
- Нет, не динамически. С этой опцией компилятор грузит стринги во flash вместе с прошивкой. Ксения(356 знак., 24.09.2010 11:27 - 11:31)
- Окрыли мне омерику. Мне нужно выводить строки из рамы и флеша, (в обоих случаях строка форматирования во флеше). Ща попозже попробую с приведением - вдруг есть скрытая реализация и типо overload - megajohn(24.09.2010 11:56 - 11:58)
- Я не омерику открывала, а отвечала на ваш идиотский вопрос про "динамическое воссоздание из рамы во флеши". - Ксения(24.09.2010 12:05)
- идиотский вопрос возник на идиотское предложение сделать то что ужо сделано (это можно понять из суффикса _P). - megajohn(24.09.2010 12:10)
- Я не омерику открывала, а отвечала на ваш идиотский вопрос про "динамическое воссоздание из рамы во флеши". - Ксения(24.09.2010 12:05)
- Окрыли мне омерику. Мне нужно выводить строки из рамы и флеша, (в обоих случаях строка форматирования во флеше). Ща попозже попробую с приведением - вдруг есть скрытая реализация и типо overload - megajohn(24.09.2010 11:56 - 11:58)
- Нет, не динамически. С этой опцией компилятор грузит стринги во flash вместе с прошивкой. Ксения(356 знак., 24.09.2010 11:27 - 11:31)
- а, то есть динамически из рамы воссоздать во флеши такую строчку ?! =) - megajohn(24.09.2010 11:16)
- printf_P("\rNAME="); printf_P(str_p); Специального идентификатора формата для строки во флешь, по-моему, не было. А что говорит документация? - Cepгeй Бopщ(24.09.2010 10:25 - 10:28)