Freertos e plataforma do core.

Para "abobrinhas" use o " Boteco"

Moderadores: andre_luis, 51, guest2003, Renie

Freertos e plataforma do core.

Mensagempor fabim » 11 Out 2019 15:26

Pessoal, eu li o manual de 400 paginas.
Criei um histórico de aprendizado.
Comprei um curso muito bom na Udemy sobre o Freertos, e já terminei.

Mas algo ainda está muito obscuro, e não consigo entender de forma alguma como fazer.
Eu não estou conseguindo entender como configurar o FreeRtos para o target em questão...
No meu caso seria um LPC1768 que é um CM3.

Alguém poderia me auxiliar informando um local que posso estudar como fazer isso?

Muito obrigado!
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Re: Freertos e plataforma do core.

Mensagempor julian camargo » 12 Out 2019 11:28

julian camargo
Nibble
 
Mensagens: 54
Registrado em: 31 Ago 2019 19:50

Re: Freertos e plataforma do core.

Mensagempor Red Neck Guy » 12 Out 2019 12:20

Para usar uma determinada plataforma com o FREERTOS você precisa de um port para o target.
Existem aqui duas abordagens, para muitas arquiteturas já existe o port pronto. Então o processo é juntar o seu código do freeRTOS e o código do port.
Se a arquitetura ainda não tem port, você pode criar.
A estrutura do projeto do kernel já está toda modularizada de tal forma que a implementação do target se resume a um ou dois arquivos.
ASM51 descanse em paz!
Avatar do usuário
Red Neck Guy
Dword
 
Mensagens: 1968
Registrado em: 12 Out 2006 22:24

Re: Freertos e plataforma do core.

Mensagempor pamv » 12 Out 2019 12:43

Tem um exemplo no site usando o LPC1768

https://www.freertos.org/LPC1768_RedSuite.html
pamv
Word
 
Mensagens: 842
Registrado em: 20 Jun 2016 21:47

Re: Freertos e plataforma do core.

Mensagempor fabim » 15 Out 2019 07:53

Muito obrigado pessoal!
Estive com problemas nos últimos dias, e acabei esquecendo de vir verificar o conteúdo do auxílio do pessoal!

Muito obrigado novamente a todos!

Más, ainda estou (já dizia meu avô escarafunchando) sobre como funciona.

O que entendi, e pude verificar, é que tudo no Freertos é simples ANSI-C, e o cara ali é o scheduler!!
O scheduler que é o responsável de fazer as mudanças de contexto, etc., e ele possui o acesso à arquitetura e target do sistema, o resto baseia-se em simples lógica de programação.

Más o bravo, é saber quais são os arquivos necessários para atender determinada arquitetura.

Me perdoem, mas tenho uma forma peculiar de aprender algo que é entendendo os fundamentos!

Vou continuar a estudar!

Muito obrigado novamente!
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Re: Freertos e plataforma do core.

Mensagempor Red Neck Guy » 15 Out 2019 09:56

fabim escreveu:Muito obrigado pessoal!
Más o bravo, é saber quais são os arquivos necessários para atender determinada arquitetura.


Acho que saber quais são os arquivos é a parte mais fácil.
Os arquivos são o port.c e port.asm.
Digamos que para criar um port basta você implementar a API desses dois arquivos no target em questão.
ASM51 descanse em paz!
Avatar do usuário
Red Neck Guy
Dword
 
Mensagens: 1968
Registrado em: 12 Out 2006 22:24

Re: Freertos e plataforma do core.

Mensagempor fabim » 15 Out 2019 11:22

Aquino escreveu:
fabim escreveu:Muito obrigado pessoal!
Más o bravo, é saber quais são os arquivos necessários para atender determinada arquitetura.


Acho que saber quais são os arquivos é a parte mais fácil.
Os arquivos são o port.c e port.asm.
Digamos que para criar um port basta você implementar a API desses dois arquivos no target em questão.

Opa Aquino, perfeito!!
Encontrei o dito, que pelo que eu li:
FreeRTOSv10.2.1\FreeRTOS\Source\portable\RVDS\ARM_CM3/
port.c
portmacro.h //creio que esse deve ser o port.asm em uma versão antiga que você estudou!!

Porém, estou a um bom tempo procurando quem provavelmente faz a inclusão do endereço desses e acabei chegando nesse cara:
FreeRTOSv10.2.1\FreeRTOS\Source\include/deprecated_definitions.h

Observando todo o arquivo, verifiquei alguns condicionais de compilação:

#ifdef RVDS_ARMCM3_LM3S102
#include "../../Source/portable/RVDS/ARM_CM3/portmacro.h"
#endif

#ifdef GCC_ARMCM3_LM3S102
#include "../../Source/portable/GCC/ARM_CM3/portmacro.h"
#endif

#ifdef GCC_ARMCM3
#include "../../Source/portable/GCC/ARM_CM3/portmacro.h"
#endif

#ifdef IAR_ARM_CM3
#include "../../Source/portable/IAR/ARM_CM3/portmacro.h"
#endif

#ifdef IAR_ARMCM3_LM
#include "../../Source/portable/IAR/ARM_CM3/portmacro.h"
#endif

Eu imagino que mesmo no arquivo deprecated_definitions.h, no cabeçalho, para meu caso eu defina RVDS_ARMCM3_LM3S102 mesmo não usando o LM3S102.

Agora não consegui encontrar em nenhum lugar quem chama o digo cujo : port.c.

Consegue me ajudar nessa também? Muito obrigado Aquino!
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Re: Freertos e plataforma do core.

Mensagempor Red Neck Guy » 15 Out 2019 12:39

A função xPortSysTickHandler é chamada na IRQ do timer de systick para o scheduler.
O restante das funções são chamadas de função executadas pelo demais módulos do kernel.
Basicamente tudo que é dependente da arquitetura é implementado aqui.
ASM51 descanse em paz!
Avatar do usuário
Red Neck Guy
Dword
 
Mensagens: 1968
Registrado em: 12 Out 2006 22:24

Re: Freertos e plataforma do core.

Mensagempor pamv » 15 Out 2019 12:42

Tente ler o link que eu passei até aqui: Source Organization
pamv
Word
 
Mensagens: 842
Registrado em: 20 Jun 2016 21:47

Re: Freertos e plataforma do core.

Mensagempor fabim » 16 Out 2019 12:50

É, to perdido!!

Continuo sem entender!!!

Li tudo, reli novamente para ter certeza de que não deixei passar nada....

Eu não consegui descobrir em qual arquivo eu seto o endereço que diz, qual arquitetura vai ser o port.!!

Alguém já mexeu com isso?

Estou acostumado a linkar tudo em um arquivo include.h, e ali eu apontar tudo como "../drive/lpc17......."..

To perdidinho!!!

:(
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Re: Freertos e plataforma do core.

Mensagempor tcpipchip » 16 Out 2019 18:52

achei uma referencia aqui
CC init/startup.c
CC main.c
CC hw_include/pdc.c
CC ../../Source/list.c
CC ../../Source/queue.c
CC ../../Source/tasks.c
CC ../../Source/portable/GCC/ARM_CM3/port.c
CC ../../Source/portable/MemMang/heap_1.c
CC ParTest/ParTest.c
CC ../Common/Minimal/crflash.c
CC ../../Source/croutine.c
LD gcc/RTOSDemo.axf

http://www.openrtos.net/portcortexgcc.html

Mas utilizando GCC! E dá uma olhada se tem o Makefile
------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: Freertos e plataforma do core.

Mensagempor pamv » 16 Out 2019 19:40

A página que eu postei explica a organização dos fontes.

Além disso ela diz
Each RTOS port also has its own web page that details the directory in which the demo application for that port can be found. Clicando no link e indo em NXP (https://www.freertos.org/a00090.html#NXP) a gente acha:

ARM Cortex-M3 based microcontrollers

NXP LPC1768 demonstrating FreeRTOS+IO and FreeRTOS+CLI
A comprehensive demo that uses FreeRTOS+CLI to interact with FreeRTOS+IO and the FatFS file system hosted on an SD card. FreeRTOS+IO manages the UART, I2C and SPI ports. The demo builds with the free LPCXPresso IDE and runs on the LPCXpresso base board.

NXP LPC1768 demo using GCC and LPCXpresso IDE
The demo presented on this page was developed on a CRB1768 fitted with an LPC1768 microcontroller. It uses:
The FreeRTOS GCC ARM Cortex-M3 port.
The LPCXpresso IDE Eclipse based IDE from NXP – which includes the FreeRTOS state viewer plug-in as standard.
Adam Dunkels open source uIP embedded TCP/IP stack.
Bertrik Sikkens open source LPCUSB USB stack to implement a CDC class echo server.

NXP LPC1768 demo using GCC and Rowley CrossWorks
Similar to the LPC1768 LPCXpresso IDE demo, but targeted at the MCB1700 development board and configured to use the Rowley CrossWorks development tools. This demo also incorporates a uIP web server and a USB CDC class driver.

[i]NXP LPC1768 demo using the IAR Embedded Workbench[/i]
Similar to the LPC1768 LPCXpresso IDE demo, but targeted at the IAR evaluation board and configured to use the IAR development tools. This demo also incorporates a uIP web server and a USB CDC class driver.
pamv
Word
 
Mensagens: 842
Registrado em: 20 Jun 2016 21:47

Re: Freertos e plataforma do core.

Mensagempor Red Neck Guy » 17 Out 2019 08:09

Sugiro você começar com um Port oficial para a arquitetura desejada.
Depois com o tempo as coisas ficam claras.
ASM51 descanse em paz!
Avatar do usuário
Red Neck Guy
Dword
 
Mensagens: 1968
Registrado em: 12 Out 2006 22:24

Re: Freertos e plataforma do core.

Mensagempor tcpipchip » 17 Out 2019 08:48

talvez foque mais no make/gcc, depois pensa em portar para o KEIL compilar...
------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!


Voltar para Assuntos Gerais

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x