O que é HAL_

Software e Hardware para uC STM

Moderadores: andre_luis, 51

O que é HAL_

Mensagempor Guri » 16 Dez 2020 00:53

Eu estou querendo aprender mexer no trustudio da st. Andei notando que algumas instruções começam obrigatoriamente com um tal de HAL. Ex.: HAL_Delay(200);
Alguem pode me explicar como entender esse sistema. Literaturas e tal.
Obrigado
DEUS SEJA LOUVADO
GURI (VonNilmam)
Guri
Byte
 
Mensagens: 457
Registrado em: 25 Abr 2010 09:05
Localização: Minas Gerais

Re: O que é HAL_

Mensagempor eletroinf » 16 Dez 2020 07:16

Hardware Abstraction Layer
É o jeito enrolado de trabalhar.

O jeito direto e objetivo é fazendo as próprias configurações.

O debug vira uma bagunça, com um monte de funções pra setar ou restar cada bit.
"De cada um segundo sua capacidade a cada um segundo sua necessidade."
Avatar do usuário
eletroinf
Word
 
Mensagens: 948
Registrado em: 12 Out 2006 14:59
Localização: Santa Maria - RS

Re: O que é HAL_

Mensagempor vtrx » 16 Dez 2020 07:26

eletroinf escreveu:Hardware Abstraction Layer
É o jeito enrolado de trabalhar.

O jeito direto e objetivo é fazendo as próprias configurações.

O debug vira uma bagunça, com um monte de funções pra setar ou restar cada bit.

KKK,eu ia falar algo parecido,tipo,é um jeito de 'Arduanizar' o negócio,tipo,faça o que eu quero e espalhe para todo mundo,se quiser refazer ou melhorar se vire,mas fiquei receoso de comentar.
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Re: O que é HAL_

Mensagempor KrafT » 16 Dez 2020 08:46

Grande Guri Vonilmann. Sabia que não é pecado usar o Google? ;)
Mas também é bom manter o asm51 ativo, então tais perdoado :)
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Re: O que é HAL_

Mensagempor Guri » 16 Dez 2020 09:51

KrafT escreveu:Grande Guri Vonilmann. Sabia que não é pecado usar o Google? ;)
Mas também é bom manter o asm51 ativo, então tais perdoado :)


Verdade :D
Eu até fui pesquisar, mas não ficou claro pra mim o conceito de programação.

Bom, então me corrijam se eu estiver errado (aliás, vendo os ANs da ST, notei que é mesmo algo pronto)! - Bom vamos lá, no mikroc eu tenho a opção de utilizar funções prontas, do tipo delay_ms(1000); porém eu tenho a liberdade de criar meus proprios delays. Então eu creio que é a mesma coisa no truestudio, eu poço ir direto, recorrendo as instruções em C ansi (aliás ele é ansi?) ou é mais ou menos? E posso também recorrer direto as informações do datasheet em seu set de configurações, ok...

Se for isso, posso cair fora desse tal de HAL_ :x

Obrigado pelas dicas....e pela paciência :D
DEUS SEJA LOUVADO
GURI (VonNilmam)
Guri
Byte
 
Mensagens: 457
Registrado em: 25 Abr 2010 09:05
Localização: Minas Gerais

Re: O que é HAL_

Mensagempor Rodrigo_P_A » 16 Dez 2020 09:54

Vale a pena usar uma camada PLT ou HAL chame como quiser.

Fica mais fácil quando precisa trocar de microcontrolador ou plataforma.

Resumindo: A ideia é que seu código nunca chame direto as rotinas para acesso a timers, ou IOs, ao invés disso ele chama rotinas padronizas assim quando vc precisar portar, fica mais fácil.

Uso em todos projetos, é muito melhor.
---
Avatar do usuário
Rodrigo_P_A
Dword
 
Mensagens: 2237
Registrado em: 12 Out 2006 18:27
Localização: Osasco - S.P - Brasil

Re: O que é HAL_

Mensagempor Guri » 16 Dez 2020 10:01

Rodrigo_P_A escreveu:Vale a pena usar uma camada PLT ou HAL chame como quiser.

Fica mais fácil quando precisa trocar de microcontrolador ou plataforma.

Resumindo: A ideia é que seu código nunca chame direto as rotinas para acesso a timers, ou IOs, ao invés disso ele chama rotinas padronizas assim quando vc precisar portar, fica mais fácil.

Uso em todos projetos, é muito melhor.


Não entendi direito, a cabeça do véio anda meio zonza esses tempos. :D

Deixa eu ver se entendi! O caro amigo, indica que seja feito os acessos se assim dizer, aos periféricos através do HAL_? E demais instruções normalmente em C. Mas eu posso criar minha própria "lib", vamos por assim dizer para setapear os periféricos....ai creio cair no que você diz, quanto a migração :D Se bem que a linha ST é bem tolerante a compatibilidade mudando poucas coisas... :wink:
DEUS SEJA LOUVADO
GURI (VonNilmam)
Guri
Byte
 
Mensagens: 457
Registrado em: 25 Abr 2010 09:05
Localização: Minas Gerais

Re: O que é HAL_

Mensagempor tcpipchip » 16 Dez 2020 10:11

Por falar em
delay_ms(1000); no mikroc

Olhou a ZOEIRA do código assembly que o compilador gera ?

Nada optimizado para economizar memória FLASH :(

Uma droga!

Enfim, para casa delay_ms(1000); a rotina assembly de delay é REPLICADA! :) kkkk
------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: O que é HAL_

Mensagempor KrafT » 16 Dez 2020 10:28

Processador moderno sem usar HAL é um inferno trabalhar. Eu tenho o péssimo costume de burlar as HAL e assim nunca mais posso usar os RAD de configuração, pq eles sobreescrevem meu código que ofende a HAL.

Conselho de velho: Use HAL e respeite-as.
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Re: O que é HAL_

Mensagempor tcpipchip » 16 Dez 2020 11:17

o que é RAD ?
------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: O que é HAL_

Mensagempor Guri » 16 Dez 2020 11:33

Agora lascou esse tal de RAD... :shock:

Mas e seu eu quiser optar por não utilizar o HAL_, terei problemas aonde? Seria na hora de gerar o código com o CUBE?

Bom eu fiz o meu primeiro helo word, kkk :D

while (1)
{
if(Counter1_Long == 500000)
{
Counter1_Long = 0;
GPIOC -> ODR ^= LED1_Pin;
}Counter1_Long ++;
}
DEUS SEJA LOUVADO
GURI (VonNilmam)
Guri
Byte
 
Mensagens: 457
Registrado em: 25 Abr 2010 09:05
Localização: Minas Gerais

Re: O que é HAL_

Mensagempor KrafT » 16 Dez 2020 11:50

Hehehe, usei "RAD" de Rapid Application Development na falta de um termo melhor para todos os infinitos nomes que os geradores de código de inicialização têm.

Mas no exemplo do Guri, vc deveria usar uma função que a IDE gera para acessar a I/O.
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Re: O que é HAL_

Mensagempor Guri » 16 Dez 2020 11:53

KrafT escreveu:Hehehe, usei "RAD" de Rapid Application Development na falta de um termo melhor para todos os infinitos nomes que os geradores de código de inicialização têm.

Mas no exemplo do Guri, vc deveria usar uma função que a IDE gera para acessar a I/O.


Não vá me dizer que é o HAL_ :D
DEUS SEJA LOUVADO
GURI (VonNilmam)
Guri
Byte
 
Mensagens: 457
Registrado em: 25 Abr 2010 09:05
Localização: Minas Gerais

Re: O que é HAL_

Mensagempor Guri » 16 Dez 2020 12:01

Aí é que esta a meleca.

Eu detesto utilizar coisas prontas que outros fizeram, nada contra, mas é mais sadio utilizar sua própria concepção com base no datasheet nativo do componente. Assim fica mais transparente a programação, vai lá saber o que pensam os outros se nós, pelo menos eu sou doido :roll:
DEUS SEJA LOUVADO
GURI (VonNilmam)
Guri
Byte
 
Mensagens: 457
Registrado em: 25 Abr 2010 09:05
Localização: Minas Gerais

Re: O que é HAL_

Mensagempor Guri » 16 Dez 2020 12:19

Caramba, me deu um nó na cabeça...me ajudem.

Como eu calculo o tempo de processamento? O meu clock é de 72mhz no stm32f103, como eu faço a conta para saber exatamente o tempo de cada ciclo, para poder gerar meus delays com maior precisão.
Affi...deu branco :D
DEUS SEJA LOUVADO
GURI (VonNilmam)
Guri
Byte
 
Mensagens: 457
Registrado em: 25 Abr 2010 09:05
Localização: Minas Gerais

Próximo

Voltar para STMicroelectronics

Quem está online

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

x