Jump to content
    

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 (посмотрите разные порты)

 

Share this post


Link to post
Share on other sites

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

    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:

Share this post


Link to post
Share on other sites

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

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

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

 

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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 такого нет...

Share this post


Link to post
Share on other sites

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

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

 

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

 

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

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

Спасибо.

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...