Портирование кода прошивки на GCC (Porting firmware to GCC)

Обсуждение прошивок SECU-3. Discussion of SECU-3 firmware.

Moderator: STC

User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Портирование кода прошивки на GCC

Post by STC »

Обращайся за помощью, можешь писать прямо в эту тему!
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
JOleg
QFP80 - Contributor
Posts: 89
Joined: Mon Dec 20, 2010 10:40 am

Re: Портирование кода прошивки на GCC

Post by JOleg »

Вот этот кусок в vstimer.h вызывает затруднения
#pragma inline //а в обычном "С" такого нет ;-)
__monitor uint8_t s_timer16_is_action(s_timer16_t i_timer).
Первую строку переделываем в #define inline, а как правильно преобразовать __monitor. В нете однозначности нет.
User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Портирование кода прошивки на GCC

Post by STC »

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

Нужно посмотреть есть ли в GCC аналогичная директива (делать функции с запрещенными прерываниями). Если нет, то __monitor убрать и сделать вместо него:
uint8_t _t;
_t=__save_interrupt();
__disable_interrupt();
ТЕЛО ФУНКЦИИ
__restore_interrupt(_t);

в GCC должны быть функции аналогичные __save_interrupt();__disable_interrupt();__restore_interrupt(_t);

По поводу inline. А что в GCC нет inline?
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
User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Портирование кода прошивки на GCC

Post by STC »

p.s. Будет лучше если ты выложишь портируемые исходники в репозиторий и я смогу участвовать и помогать тебе...
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
JOleg
QFP80 - Contributor
Posts: 89
Joined: Mon Dec 20, 2010 10:40 am

Re: Портирование кода прошивки на GCC

Post by JOleg »

__save_interrupt(),__disable_interrupt(),__restore_interrupt(_t) и inline есть. Так и сделаем. В репозиторий - ОК. Как?
User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Портирование кода прошивки на GCC

Post by STC »

Проще всего если зарегистрируешься на assembla.com и я создам тебе отдельную папку в репозитории http://subversion.assembla.com/svn/secu3doc например под именем JOleg
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
JOleg
QFP80 - Contributor
Posts: 89
Joined: Mon Dec 20, 2010 10:40 am

Re: Портирование кода прошивки на GCC

Post by JOleg »

Зарегистрировался.
JOleg
QFP80 - Contributor
Posts: 89
Joined: Mon Dec 20, 2010 10:40 am

Re: Портирование кода прошивки на GCC

Post by JOleg »

Под именем joleg.
User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Портирование кода прошивки на GCC

Post by STC »

Добавил тебя в команду. Твоя ветка в репозитории http://subversion.assembla.com/svn/secu3doc/JOleg
Тебе на почту должно прийти письмо со ссылкой для подтверждения приглашения.
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
JOleg
QFP80 - Contributor
Posts: 89
Joined: Mon Dec 20, 2010 10:40 am

Re: Портирование кода прошивки на GCC

Post by JOleg »

Пароль восстановил но все попытки добавить файлы были неудачны. Зарегился под другим именем jholeg. Жду приглашения.
Post Reply