Ничего не меняет. Разница в размере кода и занимаемых сегментов памятей не отличается, что свидетельствует о том что никаких изменений нет.Добавлю эту опцию в пример hello_world_optimized, что про эту опцию думает многоуважаемый pvvx ?
PROVIDE ( dport_ = 0x3ff00000);
PROVIDE ( io2_regs_ = 0x3ff20000);
PROVIDE ( uart0_ = 0x60000000);
PROVIDE ( spi1_ = 0x60000100);
PROVIDE ( spi0_ = 0x60000200);
PROVIDE ( gpio_ = 0x60000300);
PROVIDE ( timer_ = 0x60000600);
PROVIDE ( rtc_ = 0x60000700);
PROVIDE ( iomux_ = 0x60000800);
PROVIDE ( wdt_ = 0x60000900);
PROVIDE ( uart1_ = 0x60000F00);
PROVIDE ( rtc_ram_ = 0x60001000);
PROVIDE ( rtc_mem_ = 0x60001100);
PROVIDE ( io4_regs_ = 0x60009800);
extern volatile uint32 dport_[64]; // 0x3ff00000
extern volatile uint32 io2_regs_[1536]; // 0x3ff20000
extern volatile uint32 uart0_[64]; // 0x60000000
extern volatile uint32 spi1_[64]; // 0x60000100
extern volatile uint32 spi0_[64]; // 0x60000200
extern volatile uint32 gpio_[64]; // 0x60000300
extern volatile uint32 timer_[64]; // 0x60000600
extern volatile uint32 rtc_[64]; // 0x60000700
extern volatile uint32 iomux_[64]; // 0x60000800
extern volatile uint32 wdt_[64]; // 0x60000900
extern volatile uint32 sar_[64]; // 0x60000D00
extern volatile uint32 uart1_[64]; // 0x60000F00
extern volatile uint32 rtc_ram_[64]; // 0x60001000
extern volatile uint32 rtc_mem_[192]; // 0x60001100
extern volatile uint32 io4_regs_[384]; // 0x60009800
Не нужно, шьёт обе части сразу, потом надо GPIO0 вернуть в <1> и опять ресет .Ну и там шьется же не 1, а 2 части при обычной прошивке. Не знаю точно, но есть вероятность, что и Reset нужно дергать дважды. Хотя тут могу врать...
help_word_cpp и help_word_cpp_irom это по сути не оптимизация, просто в help_word_cpp_irom все по-умолчанию ложиться в IROM, в отличии от help_word_cpp, тем самым мы освобождаем IRAM для другого кода.Добрый день,
я правильно понял следующие результаты:
------------------------------
собираю пример help_word_cpp, получаю:
Total Used RAM : 39104 Free RAM : 42816 Free IRam : 6392
----------------------------
теперь собираем help_word_cpp_irom
-- это пример с оптимизацией - верно? получаю:
Total Used RAM : 39104 Free RAM : 42816 Free IRam : 6592
----------------------------------
Вопрос:
В результате оптимизации освободилось 200 байт. Правильно я понял?
Не могу понять сколь значимы такие ресурсы.
Буду признателен, если кто-нибудь придумает пример,
когда этих 200 байт не хватает либо на что их теперь хватит.
Спасибо
pvvx Вы меня конечно простите, но Вы задолбали нести ахинею, что я только собираю бабло... Завидуйте молча, я Вам уже это говорил неоднократно.Но тут ничего не поделать - сборщик UDK говорит, что он не будет исправлять ничего пока ему в рот не положат что и как у него лично в его компе исправить при трансляции компилятора и не доплатят.Выходит, что UDK платный и проще использовать от xtensa.
Чему завидовать то? Кривому транслятору и 100 рупь пожертвований?pvvx Вы меня конечно простите, но Вы задолбали нести ахинею, что я только собираю бабло... Завидуйте молча, я Вам уже это говорил неоднократно.
Сборкой UDK я не занимаюсь. Что он делает не совсем правильно - указано до битика. Обходные решения тоже. Далее - шаг того, кто собирает UDK.Скажите конкретно, что исправить и я исправлю, скажите с какими опциями пересобрать GCC и я пересоберу, проблем в этом нет..
Про платность вы сами писали - типа никто не платит... с напрашивающимся выводом (по контексту где про это писалось), что пока не оплатят ничего нового не будетЕсли Вы хотите часть пирога от пожертвования - нет проблем, пишите в личку, обсудим, договоримся, но вначале внесите изменения и опубликуйте их в официальном репозитарии.
Не хотите, не публикуйте, Выше право, но не нужно нести ахинею про платность UDK.
Если libc.a и libgcc.a заменены правильно (к примеру из моей свалки на libmc.a и libmgcc.a) то получаем так:Если возможно, поясните каким образом я могу реализовать эту оптимизацию в произвольном проекте.
Что для этого надо делать.
Спасибо