ReAl 0 26 мая, 2010 Опубликовано 26 мая, 2010 · Жалоба WinAVR-20100110 - gcc 4.3.3 Klen - gcc 4.6.0 (gcc 4.4.0 для Klen-20090323, 4.5.0 для Klen-20091202) Некоторые баги (тяжело сказать - gcc как целого или порта AVR или эффект интерференции между ними) появились где-то на уровне gcc-4.2.x, сохранились в 4.3.х, пропали в 4.4.0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 26 мая, 2010 Опубликовано 26 мая, 2010 · Жалоба О'да!!!!!!!!!! переход от тройки к четверке был болезненный и четверка по началу была хуже тройки, но закладывались новые концепции. пример из жизни, Миг-23МЛД в ближнем маневренном бою!!! рвал Миг-29 первых серий как Тузик грелку, причем драмматически. Со временем САУ на Миг29 поднастроили, напильньником приложтлись и ... вуаля! сверхмоневренный пипелац. 2_Genadi Zawidowski Вы кажется какойто приемник творите или чтото в этом роде если не ошибаюсь. новой сборкой должно собратся. хочу вашего подтверждения что кокос растет и крокодил ловится. или пять не ловится? :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ARV 1 26 мая, 2010 Опубликовано 26 мая, 2010 · Жалоба спасибо, klen, за ответ, да видно не в коня корм... сложно мне понять ваши слова, т.к. до сего момента не сталкивался с багами avr-gcc... разве что вот один, который меня подкосил: с целью оптимизации по размеру объявил ряд переменных регистровыми, и напоролся на то, что компилятор ни слова не говоря собирает код, в котором происходит использование регистров из моих регистровых переменных в функциях разных модулей, в итоге, естественно, каша и бардак :( было бы интересно узнать, ваша сборка как с регистровыми переменными (глобальными, естественно) себя ведет? и еще, упомянутые вами оптимизаторы - есть что-то на более-менее понятном языке об их возможностях? какие параметры управляют ими и т.п.? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vasen 3 26 мая, 2010 Опубликовано 26 мая, 2010 · Жалоба klen, большое Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 26 мая, 2010 Опубликовано 26 мая, 2010 · Жалоба 2_ARV c регистровыми переменными все очень просто. 0. правильно проектируем приложение 1. если линкуете без внешних либ которые знать не знают о ваших регистровых переменных будь то libgcc libc libm (хотя это мало реально) нада для всех исходников при компиляции скормить компиллеру ключи -ffixed-rX -ffixed-rY .... где X,Y,... номера регистров. тогда никто эти регисрты трогать не будет и они спокойно будут использоватся переменными обявленными в С коде register uint8_t Var asm("rX") ; 2. в более реальном случае с использования ничего не знающих о вашей какойто там регистровой переменной библиотеках я делаю так - собираю все без регистровых переменных - нахожу в результирущем асм - листинге дыры в использовании регистров (в моем крайнем проекте это оказались r9 r12 r16 ) и делаю пункт 1. Это нада чтоб неналететь на затирание регистровых переменных библиотечными вызовами. 3, если в пункте 2 'дыр нет", берем перекомпилируем библиотеки ;) а правильнее начинаем с пункта номаер ноль!!!! - делаем чтоб регистровых переменных ненужно было. хотя клиника случается и без них не обойтись, сам пользуюсь но не злоупотребляю. Я думаю кнонить ченить должен добавит по этой теме. 2_Vasen неужели без толкача завелась сразу? неверю. про ldconfig не стал писать ;) хотя очем это я - линуксойды народ которуму разжовыать не нада Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ARV 1 26 мая, 2010 Опубликовано 26 мая, 2010 · Жалоба вот я олух! ну ведь знал я о ключике -ffixed-rX!!! как я мог забыть?! а по поводу оптимизаторов что скажете? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReAl 0 26 мая, 2010 Опубликовано 26 мая, 2010 · Жалоба А вот кстати klen, спасибо Вам за сборку для arm. А не имеется ли оной для Ubuntu? присоединяюсь, и аналогичный вопрос по AVR. А в основном уже сижу под линуксом, но вот подсел на чужие сборки и так сам и не наладил процесс :-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 26 мая, 2010 Опубликовано 26 мая, 2010 · Жалоба ... аналогичный вопрос по AVR... а вопрос то в чем? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReAl 0 26 мая, 2010 Опубликовано 26 мая, 2010 · Жалоба "Не имеется ли сборки для AVR для Ubuntu/64" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 26 мая, 2010 Опубликовано 26 мая, 2010 · Жалоба "Не имеется ли сборки для AVR для Ubuntu/64" зддрасти приехали... сообщение #343 читать до самого низу обязательно, Vasen уж наверно наверно педали нажимает, а Вы на стоянке пипелац в упор незаметили :) если незаведется то кривым стартером (ldconfig) поможем - либы отделным архивом, их в /usr/lib usr/local/lib сыпать не нада - затрете системые и могут быть глюки потому что у меня версии свежие(т.е отличаются от тех что в ситеме), свалите сошки в отдельную папку и прокешируйте ее с помощщу ldconfig Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 26 мая, 2010 Опубликовано 26 мая, 2010 (изменено) · Жалоба Это Ваша версия, klen. arm-kgp-eabi-size tc1_rom.elf text data bss dec hex filename 31860 0 2552 34412 866c tc1_rom.elf arm-kgp-eabi-objcopy -O ihex tc1_rom.elf tc1_rom.hex А это предпоследний yagarto arm-elf-size tc1_rom.elf text data bss dec hex filename 32148 0 2572 34720 87a0 tc1_rom.elf arm-elf-objcopy -O ihex tc1_rom.elf tc1_rom.hex Как видите, в Вашу пользу выигрыш около 300 байт на 31 килобайт. Прошивка работает, что приятно отличает от предпоследней версии. Прерывания, как Вы понимаете, заработали сами. Я не модифицировал текст (только префикс для компилятора в Makefile). Стеки в bss... Пожалуй зря. На самом деле - не обратил внимания. Там ещё можно накопать - не используется user stack. Но очищаю bss я не в подпрограмме - потому и не заметил ничего плохого. Где-то встретил требование по выравниванию стеков для ARM-EABI на 8 байт. Не прокомментируете? klen, как Вы правильно заметили, делаю приёмник (уже давно разные варианты), сейчас на стадии рисования схемы платы передающего тракта для превращения в приёмо-передатчик. В программе формирование телеграфного сигнала с ручного манипулятора и управление автоматикой переключения приём-передача присутствует. Я на forum.cqham.ru этот проект выкладываю свежее состояние и фотографии плат. Изменено 26 мая, 2010 пользователем Genadi Zawidowski Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 26 мая, 2010 Опубликовано 26 мая, 2010 · Жалоба Где-то встретил требование по выравниванию стеков для ARM-EABI на 8 байт. Не прокомментируете? а хрен его знает, нада пробывать и так и так, и глядеть что будет под отладчиком. от версии ядра арма навено зависит тоже. Прерывания, как Вы понимаете, заработали сами. я таки думаю что не прерывания неработали, а вообще ничего неработао (или работало непрвильно еще недоходя до прерываний) Я на forum.cqham.ru этот проект выкладываю свежее состояние. эх.. я по СВЧ приемникам и передачтика болше балдю, тока не измерительной апааратуры ни условий... ничего вообще нет, только любовь Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReAl 0 27 мая, 2010 Опубликовано 27 мая, 2010 · Жалоба зддрасти приехали... сообщение #343 читать до самого низу обязательно, Vasen уж наверно наверно педали нажимает, а Вы на стоянке пипелац в упор незаметили :) Так он же вроде для ARM просил, а не для AVR. Ладно, выдохну выпускной -- разберусь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 27 мая, 2010 Опубликовано 27 мая, 2010 · Жалоба Так он же вроде для ARM просил, а не для AVR. Ладно, выдохну выпускной -- разберусь. действительно, это я пипелац не увидел, извиняюсь. выложу пожже Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vasen 3 27 мая, 2010 Опубликовано 27 мая, 2010 · Жалоба klen, не получилось развернуть архив со сборкой (сливал 2 раза). Выкидывает вот такую ошибку: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться