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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> 4.0
Сергей Борщ
сообщение Sep 23 2011, 13:09
Сообщение #31


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Для ускорения выхода релиза я принял решение прекратить поддержку следующих портов ARM7:
IAR/STR71x - ибо порт был написан по просьбе местного представителя ST в обмен на обещание упомянуть scmRTOS на сайте ST. Обещание не выполнено, кит я отдал после выхода порта, отлаживаться не на чем.
GCC/ADuC70xx - ибо ADuC тоже не применяю, а для полноценного порта надо добавлять еще и поддержку ADuC71xx, которых у меня нет.
По статистике загрузок с sourceforge.net оба эти порта были скачаны в сумме 17 раз за последний год, что показывает их неактуальность.

всю ветку IAR4.xx, ибо не актуально.

По поводу IAR версии 6.xx - я с версии 4.хх перескочил на GCC, с пятой и более поздними не разбирался и разбираться желания нет - во-первых, GCC меня устраивает полностью, во-вторых - принято решение переползать на кортексы. Если несмотря на засилие кортексов кому-то еще интересены порты ARM7/IAR6.xx - добро пожаловать в команду разработчиков. Вышлю присланый мне когда-то очень давно порт scmRTOS v3.10 под IAR5.xx для допиливания под 6.xx и дальнейшей поддержки.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Sep 23 2011, 13:19
Сообщение #32


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Цитата(dxp @ Sep 21 2011, 15:43) *
Вопрос решён положительно, все private члены классов-сервисов теперь являются protected.

Спасибо!
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Sep 23 2011, 15:27
Сообщение #33


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(Сергей Борщ @ Sep 23 2011, 19:09) *
GCC/ADuC70xx - ибо ADuC тоже не применяю

А я применяю (706x). Давай тогда мне его?


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 23 2011, 18:13
Сообщение #34


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (AHTOXA @ Sep 23 2011, 18:27) *
А я применяю (706x). Давай тогда мне его?
А забирай. Я сегодня зафиксировал последние (надеюсь) правки порта, осталось добить примеры и документацию. Добавил возможность компилить любые файлы (включая файлы ОС) в thumb - для ADuC, с его 16-битной флешью, будет полезно. Проверил - первый пример на SAM7, полностью в thumb за исключением трех необходимых файлов, запустился.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Sep 24 2011, 20:00
Сообщение #35


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Забралsm.gif
Все примеры компилятся, thumb ещё не пробовал. Примеры LPC2xxx - тоже обновил, арбайтен. (И то и то - GCC.)
Пример №4 делать не буду ни там ни там, нет времени. Может потом...


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Oct 26 2011, 12:28
Сообщение #36


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Вопрос к разработчикам ОС.

Будет ли поддержка новых AVR в последующих версиях?
Интересует семейство xMega.

Спасибо.
Go to the top of the page
 
+Quote Post
ReAl
сообщение Nov 8 2011, 11:46
Сообщение #37


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

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



Будет. STM8 я так-сяк запустил, теперь время на Xmega выделю. Потом на доводку STM8.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
a9d
сообщение Jan 28 2012, 20:51
Сообщение #38


Местный
***

Группа: Участник
Сообщений: 312
Регистрация: 9-04-10
Пользователь №: 56 532



В версии для GCC есть небольшой косяк. При сборки версии, для ATmega168pa , с программным прерывание вылетает ошибка "SPM ready interrupt vector not defined". Это происходит из-за того, что вектор SPM_READY_vect называется SPM_Ready_vect.

А так-же есть еще эта ошибка
Код
#  if scmRTOS_CONTEXT_SWITCH_USER_HOOK_ENABLE != 1
#    error scmRTOS_CONTEXT_SWITCH_USER_HOOK_ENABLE must be 1\
          for SPM_READY interrupt context switcher
#  endif


Это опечатка? (Этот вопрос уже прояснил, при программном прерывании scmRTOS_CONTEXT_SWITCH_USER_HOOK_ENABLE =1 )

Сообщение отредактировал a9d - Jan 28 2012, 22:00
Go to the top of the page
 
+Quote Post
dxp
сообщение Jan 29 2012, 10:18
Сообщение #39


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



QUOTE (a9d @ Jan 29 2012, 03:51) *
В версии для GCC есть небольшой косяк. При сборки версии, для ATmega168pa , с программным прерывание вылетает ошибка "SPM ready interrupt vector not defined". Это происходит из-за того, что вектор SPM_READY_vect называется SPM_Ready_vect.

Вообще-то, выбор и конфигурирование источника программного прерывания специально вынесен на уровень пользовательского проекта для: 1) предоставления пользователю полной свободы в этом вопросе; 2) обхода косяков в заголовках тулчейнов, когда для разных МК аналогичные макросы имеют чуть разные имена, как в примере выше.

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


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
ReAl
сообщение Feb 12 2012, 11:44
Сообщение #40


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

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



Цитата(a9d @ Jan 28 2012, 22:51) *
Это происходит из-за того, что вектор SPM_READY_vect называется SPM_Ready_vect.
Ой, а где это он так (SPM_Ready_vect) называется? В h-файлах от avr-libc есть только SPM_READY_vect и SPM_RDY_vect, эти имена и используются в примерах scmRTOS.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
a9d
сообщение Feb 12 2012, 12:50
Сообщение #41


Местный
***

Группа: Участник
Сообщений: 312
Регистрация: 9-04-10
Пользователь №: 56 532



AVR Studio 5.1 хеадер для ATmega168pa.
Там еще имена других прерываний отличаются от нормальных тем, что добавлено одно нижнее подчеркивание.

Сообщение отредактировал a9d - Feb 12 2012, 12:52
Go to the top of the page
 
+Quote Post
ReAl
сообщение Feb 12 2012, 14:58
Сообщение #42


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

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



Т.е. в «тулчейне», который со студией? Тьху, заразы. И зачем они так? В предшественнике WinAVR было только с большими буквами.
Кому-то захотелось красоту навести... Но когда в прошлый раз наводили, то XXX_YYY_vect поставили параллельно с SIG_XXX_YYY, старое всё собиралось.
Хм. так это ж в avr-libc изменение. Это что, как у меня в убунте свежая версия avr-gcc появится, так тоже поменяется?


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Mar 8 2012, 13:03
Сообщение #43


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Как в версии 4 использовать исходники написанные для 3.10?
Нужно где-то определить
Код
#define scmRTOS_OBSOLETE_NAMES 1

?
В каком файле это должно быть определено?
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Mar 8 2012, 17:01
Сообщение #44


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Задал в файле scmRTOS_CONFIG.h scmRTOS_OBSOLETE_NAMES 1
Получил:
Код
../scmRTOS/Common/OS_Kernel.h: In member function 'void OS::TKernel::raise_context_switch()':
../scmRTOS/Common/OS_Kernel.h:182:46: error: 'RaiseContextSwitch' is not a member of 'OS'
./src/main.cpp: In function 'void OS::system_timer_user_hook()':
./src/main.cpp:116:6: error: redefinition of 'void OS::system_timer_user_hook()'
../scmRTOS/Common/OS_Kernel.h:496:17: error: 'void OS::system_timer_user_hook()' previously defined here
make: *** [obj/main.o] Ошибка 1


Ошибка на строке:
Код
INLINE void raise_context_switch() { OS::RaiseContextSwitch(); }

Что неправильно делаю?
Go to the top of the page
 
+Quote Post
ReAl
сообщение Mar 8 2012, 19:52
Сообщение #45


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

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



Значит, Вы не задали функцию RaiseContextSwitch() в пространстве OS у себя в проекте, в файле scmRTOS_TARGET_CFG.h
И если исходники были для 3.10, то в них не могло быть функции system_timer_user_hook(), должна была быть SystemTimerUserHook()

Пример 3-Channel для порта AVR/GCC
специально оставлен в режиме совместимости, т.е. там все исходники примера от 3.10
Только в scmRTOS_CONFIG.h добавлена строка
Код
#include "scmRTOS_310_compat.h"

и всё. Этого достаточно — компилируется в режиме совместимости.
В том include-файле кроме
Код
#define scmRTOS_OBSOLETE_NAMES 1
ещё определено несколько нужных для 3.10 типов.


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

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

 


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


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