Перейти к содержанию
    

Обновился yagarto. компилятор теперь 4.7.2.

yagarto tools тоже новый.

 

LTO заработало.

По размеру кода на крохи уступает последнему klen-овскому варианту сборки.

LTO у меня не плохо работало и с 4.7.1 ). %на 30 уменьшался исходник! Функция main стала такааая большая ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

LTO у меня не плохо работало и с 4.7.1 ). %на 30 уменьшался исходник! Функция main стала такааая большая ))

в yagarto-bu-2.22_gcc-4.7.1-c-c++_nl-1.20.0_gdb-7.4.1_eabi_20120616.exe у меня lto не работало...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

%на 30 уменьшался исходник! Функция main стала такааая большая ))

У меня такая статистика:

11кБ -> 8 кБ

17кБ -> 16кБ

При запуске отладчики IDE выдало: main не найден.

 

Ещё два прокта сократились с 1 кБ до 4 и 0 байт соответственно. Запускать я их не стал - они наверное слишком быстро будут работать - улетят ещё.

 

P.S. Кто-нибудь рабочий проект бы выложил напосмотреть.

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

нулевые проекты появляются, когда у кортекса таблица перерываний не помечена used.

мой проект тут http://www.cqham.ru/forum/showthread.php?t=9688

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

P.S. Кто-нибудь рабочий проект бы выложил напосмотреть.

Я примеры к scmRTOS адаптировал для LTO. Чтоб было LTO, надо в makefile задать

 USE_LTO = YES

А нулевой размер получается от отсутсвия аттрибута used у таблицы векторов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А нулевой размер получается от отсутсвия аттрибута used у таблицы векторов.

Экспериментировал я с этим USED так и не смог добиться даже нашёл багрепорт который так и не пофиксен . В итоге решил проблему линкером.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А нулевой размер получается от отсутсвия аттрибута used у таблицы векторов.

Ненулевой тоже не работает.

У тех, что были нулевые изменил таблицу:

__attribute__ ((section(".isr_vector"), used))
void (* const g_pfnVectors[])(void) = {
// вектора
}

Всё равно не работает

mon reset 0

Resets core & peripherals via SYSRESETREQ & VECTRESET bit.

 

tbreak main

Function "main" not defined.

cont

 

Может makefile древний какой взял

adc_example.rar

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а сделанная сборкой от klen работает прошивка?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а сделанная сборкой от klen работает прошивка?

Не проверял, но уверен что не работает. Ни разу не получалось собрать рабочую прошивку c KGP.

Использовал Yagarto или SCB, без lto.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мои скрипты не для плюсовых проектов, помочь не очень могу. У меня работает и с yagarto и с klen.

Посоветую сделать минимальный проект - и добавляя конструкции смотреть map файл на тему соответствия тому, что написали.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не проверял, но уверен что не работает. Ни разу не получалось собрать рабочую прошивку c KGP.

Специально проверил - скомпилил пример 4-Debug для STM32F1XX. Работает. Пишет в консольку.

arm-kgp-eabi-gcc (Klen's GNU package (KGP) for ARM/elf platform) 4.8.0 20120422 (experimental)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Специально проверил - скомпилил пример 4-Debug для STM32F1XX. Работает.

AHTOXA, в проекте по ссылке нет скрипта линкера, где его взять?

 

Странно, я свои проекты делал на основе примеров к scmrtos, наверное что-то нужное выкинул...или в примерах что-то новое появилось.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

AHTOXA, в проекте по ссылке нет скрипта линкера, где его взять?

Рядом

Если брать все примеры через svn и запустить switch из корня примеров, то оно размножается по всем примерам оттуда

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Странно, я свои проекты делал на основе примеров к scmrtos, наверное что-то нужное выкинул...или в примерах что-то новое появилось.

Или kgp немножко не той системы:) Там было несколько версий, в которых LTO для M3 не работало. А последние версии, где заработало, были, емнип, только под линукс.

Хотя нет, у Genadi Zawidowski вроде бы windows, значит просто надо уточнить у него правильную версию:)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...