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

Пытаюсь запустить FreeRTOS v8.0 из под IAR для миландровского МК на Cortex-M3 1986ВЕ91

Помогите разобраться. Хочу использовать FreeRTOS под IAR. Пытаюсь заставить работать простой пример, где две задачи мигают светодиодами, но задачи не запускаются. Программа зависает и выводится сообщение:

The stack pointer for stack 'CSTACK' (currently 0x20007FC0) is outside the stack range (0x20001518 to 0x20003D18).

 

Это происходит в функции

vPortStartFirstTask

при выполнении команды

msr msp, r0

(файл portasm.c строка 147).

 

Добавил в файл FreeRTOSConfig.h

#define vPortSVCHandler    SVC_Handler
#define xPortPendSVHandler    PendSV_Handler
#define xPortSysTickHandler SysTick_Handler

как советуют на миландровском форуме http://forum.milandr.ru/viewtopic.php?f=33&t=1394#p6201

quartet_mcu.zip

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


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

все CM3 одинаковы

попробуйте за основу взять

FreeRTOSv8.0.1\FreeRTOS\Demo\CORTEX_LPC1768_IAR\RTOSDemo.eww

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


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

попробуйте добавить в конец функции SystemInit строчки:

 

#pragma section=".intvec"
  /* Configure the Vector Table location add offset address ------------------*/
  SCB->VTOR = (uint32_t)__section_begin(".intvec");

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


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

у меня тоже что-то не так. Где искать ошибку? Весь код на скрине уместился.

post-79085-1402412418_thumb.jpg

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


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

Посмотрите, как в примерах сделано. В проект включается куча .c файлов от FreeRTOS.

И раз уж у вас сходу такие проблемы, на первых порах лучше отказаться от c++ в пользу c, ибо там добавится ещё вопросов.

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


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

Посмотрите, как в примерах сделано. В проект включается куча .c файлов от FreeRTOS.

И раз уж у вас сходу такие проблемы, на первых порах лучше отказаться от c++ в пользу c, ибо там добавится ещё вопросов.

вот от примера

#include "FreeRTOS.h"

#include "task.h"

#include "queue.h"

 

/* Demo app includes. */

#include "BlockQ.h"

#include "integer.h"

#include "blocktim.h"

#include "flash.h"

#include "partest.h"

#include "semtest.h"

#include "PollQ.h"

#include "GenQTest.h"

#include "QPeek.h"

#include "recmutex.h"

 

#include "includes.h"

#include <stdio.h>

#include <system_LPC177x_8x.h>

#include <lpc177x_8x_uart.h>

те, которые после /* Demo app includes. */ мне пока не нужны

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


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

вот от примера

 

вам же правильно пишут, что надо *.C включить в проект IAR а не про *.h

post-1143-1402463090_thumb.png

 

да и готовый проект я давал.

 

hands.vxd

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


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

вам же правильно пишут, что надо *.C включить в проект IAR а не про *.h

post-1143-1402463090_thumb.png

 

да и готовый проект я давал.

 

hands.vxd

готовый прект тоже чёт матерился, :maniac: поэтому решил с простейшего начать, а то в дебри залез бы. Какие именно *.C файлы включать надо и куда нажимать для их добавления?

 

 

вечером попробую почистить тот проект до минимума :smile3046:

 

картинка не сразу открылась

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


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

готовый прект тоже чёт матерился

попробуйте для начала сами понять что он матерится, или тут выложить что выдает

 

Какие именно *.C файлы включать надо

какие файлы - указано на скриншоте. И в том проекте

 

куда нажимать для их добавления?

ну попробуйте чтоли вызвать контексное меню правой кнопкой =)

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


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

ну попробуйте чтоли вызвать контексное меню правой кнопкой =)

аа, попробую :smile3046:

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


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

все CM3 одинаковы

попробуйте за основу взять

FreeRTOSv8.0.1\FreeRTOS\Demo\CORTEX_LPC1768_IAR\RTOSDemo.eww

ничего не менял, но при компилировании 27 ошибок и одно предупреждение :wacko:

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


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

вернулся к копанию в FreeRTOS

Пытаюсь собрать проект по самому минимум, пока показал 8 предупреждений, но они поправимы - тактирование можно вручную настроить. Совсем непонятно, на какие переменные "TIM0" ругается компилятор? Её нет ни в одном файле проекта, искал поиском по словам.

RTOS_LPC.rar

post-79085-1408397147_thumb.jpg

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


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

что мешает ткнуть два раза в сообщение об ошибке, а затем поглядеть на определение того, что вызывает ошибку?

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


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

что мешает ткнуть два раза в сообщение об ошибке, а затем поглядеть на определение того, что вызывает ошибку?

Он показывает на строку с какой-то функцией, в которой этой переменной нет. Скрин сделать не могу, т.к. на рабочем компе IAR залез в тырнет, сломался и какую-то лицензию требует. Если не сложно, то попробуйте откомпилировать и ткнуть.

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


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

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

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

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

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

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

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

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

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

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