ESP8266 Linker - Configurar todo código no IROM sem ICACHE_F

System-On-Chip com Wi-Fi embutido, para aplicações IoT

Moderadores: 51, guest2003, Renie, gpenga

ESP8266 Linker - Configurar todo código no IROM sem ICACHE_F

Mensagempor Rodrigo_P_A » 27 Jul 2019 19:53

ESP8266 Linker - Configurar todo código no IROM sem ter que inserir o ICACHE_FLASH_ATTR a cada rotina.

Alguém aqui já fez isso? Configurar o linker para que todo código seja colocado por padrao na IROM1 (SPI FLASH) ao invés da RAM, sem ter que colocar ICACHE_FLASH_ATTR a cada rotina, pois isso não é muito legal quando precisa reaproveitar código que já está escrito e que já são usados em outros projetos.
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2237
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Re: ESP8266 Linker - Configurar todo código no IROM sem ICAC

Mensagempor Rodrigo_P_A » 27 Jul 2019 23:06

Resolvido.

Configurar para gerar os códigos objeto com extensão, por exemplo:
.c.o para códigos objetos gerados à partir do c
.cpp.o para códigos objectos gerados à partir do c++

Altere a configuração do linker e adicione os *.c.o e *.cpp.o para que sejam alocados na IROM (flash spi)

no meu caso, eu adicionei:

*.c.o(.literal*, .text*)
*.cpp.o(.literal*, .text*)


.irom0.text : ALIGN(4)
{
_irom0_text_start = ABSOLUTE(.);


*.c.o(.literal*, .text*)
*.cpp.o(.literal*, .text*)


*(.irom0.literal .irom.literal .irom.text.literal .irom0.text .irom.text)
_irom0_text_end = ABSOLUTE(.);
} >irom0_0_seg :irom0_0_phdr

Dessa forma agora todo meu código c ou c++ (cpp) já é compilado e colocado na sessão irom sem eu precisar ficar colocando ICACHE_FLASH_ATTR a cada rotina.

Fica a dica.
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2237
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Re: ESP8266 Linker - Configurar todo código no IROM sem ICAC

Mensagempor tcpipchip » 28 Jul 2019 10:03

resolveste rápido hein! :)
------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: ESP8266 Linker - Configurar todo código no IROM sem ICAC

Mensagempor Rodrigo_P_A » 28 Jul 2019 11:08

tcpipchip escreveu:resolveste rápido hein! :)

Obrigado. Resolvi buscando várias informações na internet.

A maioria dos exemplos que eu encontrei, são para compilar com o SDK da EXPRESSIF colocando os fontes no mesmo diretório, ou tendo que alterar o makefile, ou usando arduino (não gosto).

Eu estou usando com o CodeBlocks e mantendo a estrutura de arquivos que eu já tenho e libs e fontes que eu já usava em outros projetos. Acho muito mais flexível, deu um pouco de trabalho, mas ficou muito mais fácil (pelo menos pra mim).
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2237
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil


Voltar para ESP8266/ESP32

Quem está online

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

x