Изучаем язык Си (Learn C language)

Русскоязычный форум SECU-3 по общим вопросам. General discussion in Russian language. English sub-forum.

Moderator: STC

Stranger21
LQFP144 - On Top Of The Game
Posts: 1664
Joined: Fri Jul 01, 2011 2:10 pm
Location: г Уфа

Re: Изучаем язык Си (Learn C language)

Post by Stranger21 »

все проверил - все работает ) ничего не нарушилось ) ... все больше и больше узнаю о Си )
WAZ21051 gti 1.7i SECU3Ts + mm1.2.3(1)
ВАЗ21310 1.7i Я7.2 2001г
teuer
DIP8 - Involved
Posts: 27
Joined: Tue Jul 26, 2011 9:01 am

Re: Изучаем язык Си (Learn C language)

Post by teuer »

Для тех,кто пользуется GCC и у кого не хватает места в процессоре:
В Makefile добавьте строчки
CFLAGS += -flto
LDFLAGS += -flto

Без них выдавало:
section .firmware_data loaded at [00003263,00003dff] overlaps section .text loaded at [00000000,00003365]
section .data loaded at [00003366,0000336d] overlaps section .firmware_data loaded at [00003263,00003dff]

Проверено gcc (GCC) 4.6.1 20110908 (Red Hat 4.6.1-9)
Stranger21
LQFP144 - On Top Of The Game
Posts: 1664
Joined: Fri Jul 01, 2011 2:10 pm
Location: г Уфа

Re: Изучаем язык Си (Learn C language)

Post by Stranger21 »

а под какой версией GCC прошивка собираеться без "пропусков" ? насколько помню истрою развития версия правильно собирающая найдена не была .... только ИАР 4.21а верно собирает прошивку
WAZ21051 gti 1.7i SECU3Ts + mm1.2.3(1)
ВАЗ21310 1.7i Я7.2 2001г
teuer
DIP8 - Involved
Posts: 27
Joined: Tue Jul 26, 2011 9:01 am

Re: Изучаем язык Си (Learn C language)

Post by teuer »

IAR использовать нет возможности.
С весны катаюсь на прошивке, сгенерированной GCC.
Кроме проблем с местом для версии с регулировкой времени накопления, ничего плохого об этом копиляторе не скажу.
Stranger21
LQFP144 - On Top Of The Game
Posts: 1664
Joined: Fri Jul 01, 2011 2:10 pm
Location: г Уфа

Re: Изучаем язык Си (Learn C language)

Post by Stranger21 »

а вы разве не видели летние дебаты поповоду кривых сборок имеено версий прошивок сделаных для двух компиляторов? . ДО июля, вроде как , прошивки собирались без проблемм 5 иар и думается мне любым другим компилятором . после внедерения Майкфаилов и GCC теперь прошивку можно собрать только иар 4.21а , WinAVR 20100110 собирает Криво!!! так же как и ИАР 5
поэтому и спрашиваю , какой версией Винавр Вы собираете Текущую прошивку в репозитарии , так что бы она работала без пропусков!!!!??????
WAZ21051 gti 1.7i SECU3Ts + mm1.2.3(1)
ВАЗ21310 1.7i Я7.2 2001г
teuer
DIP8 - Involved
Posts: 27
Joined: Tue Jul 26, 2011 9:01 am

Re: Изучаем язык Си (Learn C language)

Post by teuer »

Вероятно, дело в том, что я не пользуюсь WinAVR.
У меня RedHat-овские сборки avr-gcc. Они периодически обновляются, поэтому точно сейчас сказать не могу конкретную версию компилятора, на прошивке которого я катаюсь.
Летнюю эпопею помню, даже учавствовал, но думаю, все проблемы были связаны с допиливанием алгоритма накопления. Сейчас все устаканилось, можно попробовать поэкспериментировать с компиляторами.
Stranger21
LQFP144 - On Top Of The Game
Posts: 1664
Joined: Fri Jul 01, 2011 2:10 pm
Location: г Уфа

Re: Изучаем язык Си (Learn C language)

Post by Stranger21 »

устаканилось - потому что никто его конретно не проверял) . проблемы со сборками были любой прошивки и без накопления тоже . проблема имено в переходе на GCC . возможно под линукс он все правильно собирает.
Попробуйте под линуксом собрать последнюю прошивку в простом режиме и протестировать ее . А то все уже и забыли про этот переход ) . лично мне он не нужен) было просто обидно что изза этого , пользуясь 5 ИАР , я якобы нес чуш про кривость прошивки ))) а веть оказался прав) ИАР 4.21а устраивает всем . главное чтобы было чем верно собрать , остальное не важно)
WAZ21051 gti 1.7i SECU3Ts + mm1.2.3(1)
ВАЗ21310 1.7i Я7.2 2001г
User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Изучаем язык Си (Learn C language)

Post by STC »

Для тех,кто пользуется GCC и у кого не хватает места в процессоре:
В Makefile добавьте строчки
CFLAGS += -flto
LDFLAGS += -flto
Что делают эти опции? Может их внести в официальный Makefile?
Author of the SECU-3 project. SECU-3 Engine control unit / Ignition control system
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
teuer
DIP8 - Involved
Posts: 27
Joined: Tue Jul 26, 2011 9:01 am

Re: Изучаем язык Си (Learn C language)

Post by teuer »

>Что делают эти опции?

Эти опции включают оптимизацию на стадии линковки.
Как я понимаю, оптимизация, например -Os, происходит для каждого модуля *.c adc.c ckps.c... Далее происходит генерация объектников, которые в конце линкуются.
С этими опциями объектник дополняется информацией, используемой линковщиком для дополнительной оптимизации.
Проще говоря, оптимизируется весь проект целиком.
User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Изучаем язык Си (Learn C language)

Post by STC »

И что даже в 16-ю мегу влазит?
Выложи пожалуйста свой Makefile
Author of the SECU-3 project. SECU-3 Engine control unit / Ignition control system
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
Post Reply