Перейти к содержанию
    

Начал править С-style cast'ы, проверяю, опять ругань, но уже на другие места:

 

Remark[Pa137]: use of C-style cast D:\pro\scmRTOS\scmrtos-sample-projects\scmRTOS\port\avr\iar\os_target.h 228

 

А код, на который ругается, такой:

 

INLINE stack_item_t* get_data_sp()   { return reinterpret_cast<stack_item_t*>(ABS_WORD(28)); }

 

В общем, этот линтер иаровский не выглядит инструментом, который хочется использовать.

#define ABS_WORD(x) (*((volatile uint16_t*)x))

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

#define ABS_WORD(x) (*((volatile uint16_t*)x))

Был неправ. Спасибо! Будет исправлено. Остальное тоже внимательно посмотрю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Отсюда скачал примеры https://github.com/scmrtos/scmrtos-sample-projects.git

Я раньше не знал о файле .gitmodules и никогда не пользовался этой возможностью (а потребность такая была)

Так вот при клонировании папка scmRTOS создалась а файлы в ней не появились.

Клиент tortoisegit это в нем проблема или что-то не так в .gitmodules?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

После клонирования репозитория надо дать две команды:

git submodule init
git submodule update

Либо можно клонировать сразу с субмодулями, при помощи команды

git clone --recursive

Как это делается в tortosegit - к сожалению не знаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Похоже, остался старый баг в порте для IAR AVR - сообщение N227

При выборе режима передаче управления через системное прерывание (#define scmRTOS_CONTEXT_SWITCH_SCHEME 1) и

отключении пользовательского хука при переключении контекста (#define scmRTOS_CONTEXT_SWITCH_USER_HOOK_ENABLE 0)

постоянно висит и не сбрасывается системное прерывание SPM_READY, программа тормозит, а прерывания, имеющеи вектор

ниже SPM_READY_vect не вызываются никогда.

При выборе прямой передаче управления (#define scmRTOS_CONTEXT_SWITCH_SCHEME 1) или при передаче управления через прерывание SPM_READY (#define scmRTOS_CONTEXT_SWITCH_SCHEME 1) ,

но включении (#define scmRTOS_CONTEXT_SWITCH_USER_HOOK_ENABLE 1) все работает правильно.

Причем Real вроде-бы это дело фиксил, но точно не помню.

Прикладываю тестовый проект.

Test.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Этот флаг не сбрасывается никогда. Точнее его невозможно сбросить программно. Поэтому там после вызова должно сниматься разрешение этого прерывания. Если это выключение разрешения прерывания потеряли мы - да, баг.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

начал посмотреть :)

респект за док

----

scmRTOS.en.Blackfin.VDSP.pdf

scmRTOS.en.MSP430.IAR.pdf

scmRTOS.ru.AVR.GCC.pdf

scmRTOS.ru.AVR.IAR.pdf

scmRTOS.ru.Blackfin.VDSP.pdf

scmRTOS.ru.CortexM3.GCC.pdf

scmRTOS.ru.CortexM3.IAR.pdf

scmRTOS.ru.MSP430.GCC.pdf

scmRTOS.ru.MSP430.IAR.pdf

----

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...