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

init_stack_frame() вызывать не надо (да и не выйдет, она protected), она вызывается в конструкторе процесса.

 

А вызов может выглядеть так:

    for(uint_fast8_t i = 0; i < OS::PROCESS_COUNT; i++)
    {
        uart << priorities[i] << '\t'
            << OS::get_proc(i)->stack_slack() * sizeof(stack_item_t)  << "\r\n";
    }

 

ЗЫ. Всё это есть в примере 4-Debug (посмотрите разные порты)

 

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


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

А вызов может выглядеть так:

    for(uint_fast8_t i = 0; i < OS::PROCESS_COUNT; i++)
    {
        uart << priorities[i] << '\t'
            << OS::get_proc(i)->stack_slack() * sizeof(stack_item_t)  << "\r\n";
    }

 

ЗЫ. Всё это есть в примере 4-Debug (посмотрите разные порты)

Спасибо! :a14:

Будем юзать четвёрку :biggrin:

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


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

Вопрос больше Александру (как поддерживающему AVR) - при попытке определения макро scmRTOS_PROCESS_RESTART_ENABLE = 1 у процесса отсутствует метод terminate().

Ковыряния установили что из-за особенности архитектуры AVR и компилятора IAR и соответственно нового особенного шаблона процесса (с доп. параметром глубины стека возвратов) метод terminate() у нового шаблона не описан.

Это связано с чем-то серьезным или просто забыли описать?

 

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


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

Я только-только стал под перископную глубину всплывать (много всяких событий -- в общем и целом хороших, но отнявших кучу времени), а тут вопросов навалили...

IAR-ветку я подхватил недавно и в самом иаре не во всём разобрался.

Скорее всего -- "просто забыли" в двухстековой ветке добавить всё. Посмотрю в ближайшее время.

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


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

pre400 - подскажите пожалуйста на что можно заменить в ARM порте inarm.h

 

Fatal Error[Pe005]: could not open source file "inarm.h" D:\Temp\pre-v400\Samples\ARM7\AT91SAM7\IAR_v4.30\scmRTOS\ARM7\OS_Target.h 50 
            searched: "D:\Temp\pre-v400\Samples\ARM7\AT91SAM7\IAR_v4.30\2-Message\Src\" 
            searched: "D:\Temp\pre-v400\Samples\ARM7\AT91SAM7\IAR_v4.30\2-Message\..\scmRTOS\Common\" 
            searched: "D:\Temp\pre-v400\Samples\ARM7\AT91SAM7\IAR_v4.30\2-Message\..\scmRTOS\ARM7\" 
            searched: "D:\Program Files\IAR Systems\Embedded Workbench 5.4\arm\INC\"

Очевидно в версии 4.30 файл существовоал.

В IAR ARM v5 такого нет...

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


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

Это связано с чем-то серьезным или просто забыли описать?
Ага, просто забылось. Как и size_t для размера стека.

Поправил, зафиксировал.

 

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


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

Я смотрю в классах сервисов по-прежнему поля объявлены как private a не protected, что не позволяет наследоваться от них и изменять под свои нужды :(

Жаль, а шаг в этом направлении уже сделан в виде TService.

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


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

Я смотрю в классах сервисов по-прежнему поля объявлены как private a не protected, что не позволяет наследоваться от них и изменять под свои нужды :(

Это потому, что эти классы не предназначены для расширения их функционала - как-то до сих пор не возникало пожеланий на этот счёт.

 

Жаль, а шаг в этом направлении уже сделан в виде TService.

Именно TService для этих целей и предназначен - кто хочет, тот может слепить себе любой сервис.

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


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

Это потому, что эти классы не предназначены для расширения их функционала - как-то до сих пор не возникало пожеланий на этот счёт.

Это я понял уже, у нас с вами возникал диалог на этот счет в одной из веток http://electronix.ru/forum/index.php?showt...st&p=735769

(кстати, можно сказать, что я пожелание сгенерировал :) ) Я в принципе не настаиваю конечно, авторам решать. Просто непонятно, что плохого в этом наследовании было бы.

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


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

Просто непонятно, что плохого в этом наследовании было бы.

Наверное, ничего плохого. Просто до сих пор как-то не возникал этот вопрос ребром. Подозреваю, что раз он всё же так встал, то скорее всего будет решён положительно. :)

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


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

Добрый день. Не подскажите как начать работать с 4 версией для MSP430F5438. Среда IAR 4.2. Просто по пунктам какой бранч нужно checkout( т.к есть pre-V400 и TService, в которой вроде бы тоже исходники самой ОС) и что понадобится в проекте. И также как настроить работу самих тиков, если в исходниках этого нет.

Спасибо.

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


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

Подозреваю, что раз он всё же так встал, то скорее всего будет решён положительно. :)

Вопрос решён положительно, все private члены классов-сервисов теперь являются protected.

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


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

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

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

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

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

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

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

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

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

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