реклама на сайте
подробности

 
 
> scmRTOS предварительно-400 + + AVR GCC запуска аварии
Mike_Smith
сообщение Jul 21 2011, 06:43
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 21-07-11
Пользователь №: 66 333



Я прошу прощения за машинного перевода.

Я нашел ошибку, которая вызывает аварии на ATmega1280 при компиляции с GCC.

Первоначальные кадра стека имеет слишком много байт за $ PC

Исправление для проверки __AVR_3_BYTE_PC__

С этим исправить, я бегу scmRTOS под Arduino.

Regards,
= Mike

Код
--- OS_Target_cpp.cpp~    2011-07-20 23:02:56.000000000 -0700
+++ OS_Target_cpp.cpp    2011-07-20 23:07:04.000000000 -0700
@@ -96,8 +96,7 @@
     //
     *(--Stack) = reinterpret_cast<uint16_t>(exec);       // return from interrupt address (low  byte)
     *(--Stack) = reinterpret_cast<uint16_t>(exec) >> 8;  // return from interrupt address (high byte)
-#ifdef EIND
-    // assume EIND exist only in 3-byte-PC AVRs        
+#ifdef __AVR_3_BYTE_PC__
     *(--Stack) = 0;                              // all trampolines are placed in lower 128K
#endif
     *(--Stack) = 0;                              // initalize __zero_reg__ for this process



Сообщение отредактировал Mike_Smith - Jul 21 2011, 06:45
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ReAl
сообщение Jul 21 2011, 10:38
Сообщение #2


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Thanks.
__AVR_3_BYTE_PC__ macro is supported since avr-gcc 4.1 but scmRTOS AVR/GCC port is intended to be working with avr-gcc 3.x.x (periodically tested with WinAVR 20060421, avr-gcc 3.4.6).
So "EIND exist only in 3-byte-PC AVRs" rule was used. I am sorry for wrong assumption. The code will be corrected.
May be it is time to drop avr-gcc 3.x support :-)


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 22:02
Рейтинг@Mail.ru


Страница сгенерированна за 0.01337 секунд с 7
ELECTRONIX ©2004-2016