Портирование кода прошивки на GCC (Porting firmware to GCC)
Moderator: STC
- STC
- LQFP144 - On Top Of The Game
- Posts: 2420
- Joined: Fri Oct 22, 2010 10:47 pm
- Location: Ukraine, Kiev
- Contact:
Re: Портирование кода прошивки на GCC
Обращайся за помощью, можешь писать прямо в эту тему!
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
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
Re: Портирование кода прошивки на GCC
Вот этот кусок в vstimer.h вызывает затруднения
#pragma inline //а в обычном "С" такого нет
__monitor uint8_t s_timer16_is_action(s_timer16_t i_timer).
Первую строку переделываем в #define inline, а как правильно преобразовать __monitor. В нете однозначности нет.
#pragma inline //а в обычном "С" такого нет
__monitor uint8_t s_timer16_is_action(s_timer16_t i_timer).
Первую строку переделываем в #define inline, а как правильно преобразовать __monitor. В нете однозначности нет.
- STC
- LQFP144 - On Top Of The Game
- Posts: 2420
- Joined: Fri Oct 22, 2010 10:47 pm
- Location: Ukraine, Kiev
- Contact:
Re: Портирование кода прошивки на GCC
__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?
Нужно посмотреть есть ли в 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
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
- STC
- LQFP144 - On Top Of The Game
- Posts: 2420
- Joined: Fri Oct 22, 2010 10:47 pm
- Location: Ukraine, Kiev
- Contact:
Re: Портирование кода прошивки на GCC
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
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
Re: Портирование кода прошивки на GCC
__save_interrupt(),__disable_interrupt(),__restore_interrupt(_t) и inline есть. Так и сделаем. В репозиторий - ОК. Как?
- STC
- LQFP144 - On Top Of The Game
- Posts: 2420
- Joined: Fri Oct 22, 2010 10:47 pm
- Location: Ukraine, Kiev
- Contact:
Re: Портирование кода прошивки на GCC
Проще всего если зарегистрируешься на 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
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
Re: Портирование кода прошивки на GCC
Зарегистрировался.
Re: Портирование кода прошивки на GCC
Под именем joleg.
- STC
- LQFP144 - On Top Of The Game
- Posts: 2420
- Joined: Fri Oct 22, 2010 10:47 pm
- Location: Ukraine, Kiev
- Contact:
Re: Портирование кода прошивки на GCC
Добавил тебя в команду. Твоя ветка в репозитории 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
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
Re: Портирование кода прошивки на GCC
Пароль восстановил но все попытки добавить файлы были неудачны. Зарегился под другим именем jholeg. Жду приглашения.