Миландр

Ключевым подразделением нашей компании
является Центр Проектирования интегральных микросхем
Текущее время: 2021-ноя-28 05:02

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 44 сообщения ]  На страницу « 1 2 3
Автор Сообщение
 Заголовок сообщения: Re: FreeRTOS на 1986BE1T
СообщениеДобавлено: 2021-окт-21 14:13 
Не в сети

Зарегистрирован: 2019-июн-05 21:54
Сообщения: 62
Организация: ООО Энейс
Спасибо большое, получилось, все убрались кроме юарта, в RTE стоит по-прежнему желтый квадрат
И при компиляции выдаются следующая ошибка:
.\Objects\Kprj1.axf: Error: L6218E: Undefined symbol RST_CLK_GetClocksFreq (referred from mdr32f9qx_uart.o).


Вернуться к началу
 Заголовок сообщения: Re: FreeRTOS на 1986BE1T
СообщениеДобавлено: 2021-окт-21 15:33 
Не в сети
Support
Аватара пользователя

Зарегистрирован: 2018-авг-10 23:14
Сообщения: 530
Организация: АО «ПКК Миландр»
Откуда: Зеленоград
Иван_К10 писал(а): *
Спасибо большое, получилось, все убрались кроме юарта, в RTE стоит по-прежнему желтый квадрат
И при компиляции выдаются следующая ошибка:
.\Objects\Kprj1.axf: Error: L6218E: Undefined symbol RST_CLK_GetClocksFreq (referred from mdr32f9qx_uart.o).
Обратите, пожалуйста, внимание, что необходимо детальнее проводить проверку всех путей. Предоставьте, пожалуйста, скриншот, на котором будет видно окно "Manage Run-Time Environment" с полным выпадающим списком "Drivers". Дополнительно попробуйте в этом окне выполнить опцию "Resolve" (слева внизу).

_________________
Отдел технической поддержки support@milandr.ru

Информационный портал отдела технической поддержки support.milandr.ru


Вернуться к началу
 Заголовок сообщения: Re: FreeRTOS на 1986BE1T
СообщениеДобавлено: 2021-окт-21 16:15 
Не в сети

Зарегистрирован: 2019-июн-05 21:54
Сообщения: 62
Организация: ООО Энейс
Спасибо большое!

Resolve помогло!!!


Вернуться к началу
 Заголовок сообщения: Re: FreeRTOS на 1986BE1T
СообщениеДобавлено: 2021-окт-26 12:34 
Не в сети

Зарегистрирован: 2019-июн-05 21:54
Сообщения: 62
Организация: ООО Энейс
Прошу помочь еще с парой вопросов
1. Что за сообщения после download
"Full Chip Erase Done.
Programming Done.
Verify OK.
* JLink Info: Reset: Halt core after reset via DEMCR.VC_CORERESET.
* JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ.
Application running ...
Flash Load finished at 13:32:51"
2. Не запускается ОС таймер
Вот :
int main(void)
{
//SystemInit() ;
clk_init() ;
PORT_init() ;
//TIMER_init();
UART_init() ;
CAN_init() ;
ARINC_init() ;
SPI_init() ;
TimerH = xTimerCreate("Timerforled", 1000, pdTRUE, NULL, timer_callback) ;
xTaskCreate( SPI_cf, "SPI control flow", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(lederrthread, "SPI", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(CAN2, "CAN2", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(CAN3, "CAN3", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(CAN4, "CAN4", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(CAN5, "CAN5", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(CAN6, "CAN6", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(CAN7, "CAN7", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(CAN8, "CAN8", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(ARINC, "ARINC", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTimerStart(TimerH,0);
MDR_PORTC->SETTX |= 0x2000;

//
vTaskStartScheduler();
while(1);
}

void timer_callback( TimerHandle_t xTimer )
{
MDR_PORTC->SETTX ^= 0x2000;
}

Также не запускаются таски
В дебаге вижу что до vTaskStartScheduler(); дохожу


Вернуться к началу
 Заголовок сообщения: Re: FreeRTOS на 1986BE1T
СообщениеДобавлено: 2021-окт-26 13:31 
Не в сети

Зарегистрирован: 2017-июн-05 14:53
Сообщения: 24
Организация: ОАП АПЗ
xTimer и TimerH разные handle?


Вернуться к началу
 Заголовок сообщения: Re: FreeRTOS на 1986BE1T
СообщениеДобавлено: 2021-окт-26 15:45 
Не в сети
Support
Аватара пользователя

Зарегистрирован: 2018-авг-10 23:14
Сообщения: 530
Организация: АО «ПКК Миландр»
Откуда: Зеленоград
Открыть исходное обращение пользователя
Иван_К10 писал(а): *
Прошу помочь еще с парой вопросов
1. Что за сообщения после download
"Full Chip Erase Done.
Programming Done.
Verify OK.
* JLink Info: Reset: Halt core after reset via DEMCR.VC_CORERESET.
* JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ.
Application running ...
Flash Load finished at 13:32:51"
2. Не запускается ОС таймер
Вот :
int main(void)
{
//SystemInit() ;
clk_init() ;
PORT_init() ;
//TIMER_init();
UART_init() ;
CAN_init() ;
ARINC_init() ;
SPI_init() ;
TimerH = xTimerCreate("Timerforled", 1000, pdTRUE, NULL, timer_callback) ;
xTaskCreate( SPI_cf, "SPI control flow", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(lederrthread, "SPI", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(CAN2, "CAN2", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(CAN3, "CAN3", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(CAN4, "CAN4", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(CAN5, "CAN5", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(CAN6, "CAN6", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(CAN7, "CAN7", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(CAN8, "CAN8", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(ARINC, "ARINC", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTimerStart(TimerH,0);
MDR_PORTC->SETTX |= 0x2000;

//
vTaskStartScheduler();
while(1);
}

void timer_callback( TimerHandle_t xTimer )
{
MDR_PORTC->SETTX ^= 0x2000;
}

Также не запускаются таски
В дебаге вижу что до vTaskStartScheduler(); дохожу
Закрыть
Здравствуйте!
Открыть первый вопрос
1. Что за сообщения после download
"Full Chip Erase Done.
Programming Done.
Verify OK.
* JLink Info: Reset: Halt core after reset via DEMCR.VC_CORERESET.
* JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ.
Application running ...
Flash Load finished at 13:32:51"
Закрыть
Обратите, пожалуйста, внимание, что программирование и верификация для данного процесса программирования завершились корректно. Замечания под звёздочками указывают на то, как именно был выполнен сброс после программирования и после подключения отладчиком, в данном случае присутствуют указания на сброс при помощи регистров ядра (AIRCR и DEMCR). Например, избавиться от указания на сброс через регистр AIRCR позволит настройка полей "Connect & Reset Options" во вкладке "Debug" IDE Keil.
Открыть второй вопрос
2. Не запускается ОС таймер
Вот :
int main(void)
{
//SystemInit() ;
clk_init() ;
PORT_init() ;
//TIMER_init();
UART_init() ;
CAN_init() ;
ARINC_init() ;
SPI_init() ;
TimerH = xTimerCreate("Timerforled", 1000, pdTRUE, NULL, timer_callback) ;
xTaskCreate( SPI_cf, "SPI control flow", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(lederrthread, "SPI", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(CAN2, "CAN2", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(CAN3, "CAN3", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(CAN4, "CAN4", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(CAN5, "CAN5", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(CAN6, "CAN6", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(CAN7, "CAN7", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(CAN8, "CAN8", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTaskCreate(ARINC, "ARINC", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL) ;
xTimerStart(TimerH,0);
MDR_PORTC->SETTX |= 0x2000;

//
vTaskStartScheduler();
while(1);
}

void timer_callback( TimerHandle_t xTimer )
{
MDR_PORTC->SETTX ^= 0x2000;
}

Также не запускаются таски
В дебаге вижу что до vTaskStartScheduler(); дохожу
Закрыть
Обратите, пожалуйста, внимание, что по данному куску кода сложно диагностировать проблему. В свою очередь, если Вы столкнулись с проблемой переконфигурации таймеров для работы FreeRTOS, то в качестве справки сообщаю о статье на стороннем ресурсе StartMilandr, где описывается процесс подключения ОСРВ FreeRTOS в том числе на счет от таймеров общего назначения, но стоит сказать, что имеет смысл начать с базового проекта, который будет считать от системного таймера, но который гарантированно будет работать. Спасибо за обращение.

_________________
Отдел технической поддержки support@milandr.ru

Информационный портал отдела технической поддержки support.milandr.ru


Вернуться к началу
 Заголовок сообщения: Re: FreeRTOS на 1986BE1T
СообщениеДобавлено: 2021-окт-28 13:01 
Не в сети

Зарегистрирован: 2019-июн-05 21:54
Сообщения: 62
Организация: ООО Энейс
Спасибо за ответ!
Попытки подключить Freertos привели к тому что подключился freertos но все остальное теперь нет
Проблема похоже не в кейле и не в проекте а в том какой software pack изначально выбирается при создании проекта
В нашем случае есть два варианта - Milandr и startMilandr
Я делал изначально с Milnadr и freertos компилировалась но не цепанулось в следствии отсуствия такой возможности в RTE.
Как я понял это изза отсутствия такой возможности в самом Milandr software pack

При проверке с другими камнями и с startmilandr RTE Freertos сама цепляет
Но теперь у меня не компилируется все кроме Freertos
Начиная с заголовочников MDR которые я куда только не подсовывал
и заканчивая всеми структурами, типа этой
MDR_RST_CLK->HS_CONTROL = 0x00000001 ;
Поэтому прошу подсказать как всетаки в startmilandr подключить MDR заголовочники.
Паки все с сайта установил и поставил последний keil


Вернуться к началу
 Заголовок сообщения: Re: FreeRTOS на 1986BE1T
СообщениеДобавлено: 2021-окт-28 15:23 
Не в сети
Support
Аватара пользователя

Зарегистрирован: 2018-авг-10 23:14
Сообщения: 530
Организация: АО «ПКК Миландр»
Откуда: Зеленоград
Открыть обращение пользователя Иван_К10
Иван_К10 писал(а): *
Спасибо за ответ!
Попытки подключить Freertos привели к тому что подключился freertos но все остальное теперь нет
Проблема похоже не в кейле и не в проекте а в том какой software pack изначально выбирается при создании проекта
В нашем случае есть два варианта - Milandr и startMilandr
Я делал изначально с Milnadr и freertos компилировалась но не цепанулось в следствии отсуствия такой возможности в RTE.
Как я понял это изза отсутствия такой возможности в самом Milandr software pack

При проверке с другими камнями и с startmilandr RTE Freertos сама цепляет
Но теперь у меня не компилируется все кроме Freertos
Начиная с заголовочников MDR которые я куда только не подсовывал
и заканчивая всеми структурами, типа этой
MDR_RST_CLK->HS_CONTROL = 0x00000001 ;
Поэтому прошу подсказать как всетаки в startmilandr подключить MDR заголовочники.
Паки все с сайта установил и поставил последний keil
Закрыть
Здравствуйте!

Обратите, пожалуйста, внимание, что установочный пак от стороннего ресурса StartMilandr не поддерживается официально со стороны компании Миландр, однако, в нём действительно встроена в рамках .pdsc файла функция удобного подключения файлов ОСРВ FreeRTOS в окне RTE - не исключено, что такой функционал появится в рамках официального установочного пака для IDE Keil. Если в основе Вашего проекта подразумевается использовать именно официальный установочный пак, то необходимо, как и сообщалось ранее, подключать файлы ОСРВ самостоятельно. В качестве примера я собрал для Вас простой проект для 1986ВЕ1Т, где заведена только одна задача для мигания светодиодами в рамках отладочной платы производства компании Миландр, при этом использовалась актуальная версия FreeRTOS, а файл FreeRTOSConfig.h был заполнен стандартным образом на работу от системного таймера, то есть если в Вашей системе важна точность, то прошу вновь обратить внимание на ранний ответ в рамках форума. Пожалуйста, будьте внимательны при сборке, дополнительно сообщаю, что для 1986ВЕ1Т (ядро RISC, близкое к Cortex-M1) необходимо подключать исходные файлы port.c и portmacro.h от ядра Cortex-M0.


Вложения:
HelloWorld_FreeRTOS.7z [156.01 КБ]
22 скачивания

_________________
Отдел технической поддержки support@milandr.ru

Информационный портал отдела технической поддержки support.milandr.ru
Вернуться к началу
 Заголовок сообщения: Re: FreeRTOS на 1986BE1T
СообщениеДобавлено: 2021-окт-28 16:13 
Не в сети

Зарегистрирован: 2019-июн-05 21:54
Сообщения: 62
Организация: ООО Энейс
Спасибо большое!!

Попробовал скомпилировать, но что-то он не компилируется, или я что-то упустил в Ваших рекомендациях при сборке
Вот что пишет:
Rebuild started: Project: HelloWorld
*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'D:\Keil_v5\ARM\ARMCC\Bin'
Rebuild target 'Target 1'
Error instantiating RTE components
Error #540: 'Keil::Device:Startup:rev.6+:2.0.2' component is not available for target 'Target 1'
Target not created.
Build Time Elapsed: 00:00:00


Вернуться к началу
 Заголовок сообщения: Re: FreeRTOS на 1986BE1T
СообщениеДобавлено: 2021-окт-28 16:15 
Не в сети

Зарегистрирован: 2019-июн-05 21:54
Сообщения: 62
Организация: ООО Энейс
и я не совсем понял про официальную версию, если у меня скаченная с сайта(lite) то это что-то значит?


Вернуться к началу
 Заголовок сообщения: Re: FreeRTOS на 1986BE1T
СообщениеДобавлено: 2021-окт-28 16:23 
Не в сети
Support
Аватара пользователя

Зарегистрирован: 2018-авг-10 23:14
Сообщения: 530
Организация: АО «ПКК Миландр»
Откуда: Зеленоград
Открыть обращение пользователя Иван_К10
Иван_К10 писал(а): *
Спасибо большое!!

Попробовал скомпилировать, но что-то он не компилируется, или я что-то упустил в Ваших рекомендациях при сборке
Вот что пишет:
Rebuild started: Project: HelloWorld
*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'D:\Keil_v5\ARM\ARMCC\Bin'
Rebuild target 'Target 1'
Error instantiating RTE components
Error #540: 'Keil::Device:Startup:rev.6+:2.0.2' component is not available for target 'Target 1'
Target not created.
Build Time Elapsed: 00:00:00
Закрыть
Здравствуйте!

К сожалению, не могу точно сказать, в чем причина возникновения ошибок, в свою очередь, в моём проекте для сборки использовался компилятор "Default compiler version 5", тем не менее, при сборке с использованием компилятора "v5.06 update 6 (build 750)" проблем также выявлено не было. Используется официальный установочный пак для IDE Keil. Имеет смысл произвести удаление всех других установочных паков в среде для исключения возможного конфликта, который проявляется при сборке проектов.
Иван_К10 писал(а):
и я не совсем понял про официальную версию, если у меня скаченная с сайта(lite) то это что-то значит?
Подскажите, пожалуйста, что Вы имеете ввиду под словом "lite" и о версии какого продукта идет речь: о FreeRTOS или установочных паках?

Спасибо.

upd для справки остальным пользователям форума. (вопрос был обсужден по телефону, под "lite" пользователем Иван_К10 подразумевалась базовая версия Keil с ограничением кода в 32 Кбайт, в качестве рекомендаций дополнительно было сообщено, что помимо удаления всех лишних паков поддержки микроконтроллеров из среды необходимо удалить некоторый стандартный пак для FreeRTOS, который устанавливался ранее, потому что он потенциально также может конфликтовать при сборке проекта - пользователем было принято решение установить Keil заново, заведомо рабочий проект, который был протестирован в рамках отдела технической поддержки компании Миландр, пользователю действительно будет полезен)

_________________
Отдел технической поддержки support@milandr.ru

Информационный портал отдела технической поддержки support.milandr.ru


Вернуться к началу
 Заголовок сообщения: Re: FreeRTOS на 1986BE1T
СообщениеДобавлено: 2021-окт-29 20:36 
Не в сети

Зарегистрирован: 2019-июн-05 21:54
Сообщения: 62
Организация: ООО Энейс
Большое спасибо!!!
Ваш проект заработал, я продолжил делать на основании Вашего
В процессе скрещивания моего кода возникли ошибки сборки
Подскажите пожалуйста в чем может быть причина
"
linking...
.\Objects\BU.axf: Error: L6218E: Undefined symbol UART_Cmd (referred from main.o).
.\Objects\BU.axf: Error: L6218E: Undefined symbol UART_Init (referred from main.o).
.\Objects\BU.axf: Error: L6218E: Undefined symbol xTimerCreate (referred from main.o).
.\Objects\BU.axf: Error: L6218E: Undefined symbol xTimerGenericCommand (referred from main.o).
"

include следующие:
#include "MDR1986VE1T.h"
#include <MDR32F9Qx_port.h>
#include "FreeRTOS.h"
#include "task.h"
#include "queue.h"
#include <timers.h>
#include "MDR32F9Qx_uart.h"
#include <MDR32F9Qx_arinc429r.h>
#include <MDR32F9Qx_arinc429t.h>


Вернуться к началу
 Заголовок сообщения: Re: FreeRTOS на 1986BE1T
СообщениеДобавлено: 2021-окт-30 08:32 
Не в сети

Зарегистрирован: 2018-янв-05 23:41
Сообщения: 355
Организация: ФГУП "РФЯЦ-ВНИИЭФ"
Иван_К10 писал(а): *
linking...
Это ошибка на этапе линковки - значит компиляция уже прошла успешно. А значит дело не в инклудах. Они обрабатываются препроцессором на этапе компиляции.
Иван_К10 писал(а): *
.\Objects\BU.axf: Error: L6218E: Undefined symbol UART_Cmd (referred from main.o).
В проекте отсутствует файл с реализацией (определением) функции UART_Cmd. Добавьте в проект файл MDR32F9Qx_uart.с и пересоберите.


Вернуться к началу
 Заголовок сообщения: Re: FreeRTOS на 1986BE1T
СообщениеДобавлено: 2021-окт-31 18:58 
Не в сети

Зарегистрирован: 2019-июн-05 21:54
Сообщения: 62
Организация: ООО Энейс
Спасибо, за ответ!

Прошу прощения за предыдущий вопрос, не подумал, все работает отлично!


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 44 сообщения ]  На страницу « 1 2 3

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти: 

Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB