Página 1 de 1

Problema com Float no STM32f407 - Cortex M4

MensagemEnviado: 26 Nov 2012 17:44
por proex
Quando chamo uma rotina que faz alguns cálculos com FLOAT, o processador trava numa Interrupção de excessão chamada HardFault_Handler.

Isso tá cheirando pau de hardware. Muito estranho.

Alguma dica?

.

MensagemEnviado: 26 Nov 2012 17:48
por proex
Proex, o STM32f407 possui um hardware dedicado para calculos com FLOAT chamado FPU.
Esse hardware é tratado como um periférico do arm, tal como a UART, SPI etc , que precisa ser Habilitado por software antes de proceder qualquer cálculo.

Coloque esses comandos dentro do seu MAIN, nas primeiras linhas, antes de tudo.

Código: Selecionar todos
  #if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
    SCB->CPACR |= ((3UL << 10*2) |                 /* set CP10 Full Access */
                   (3UL << 11*2)  );               /* set CP11 Full Access */
  #endif


.

MensagemEnviado: 26 Nov 2012 17:50
por proex
Nossa cara, e não é que funcionou mesmo !!!!

Putz, valeu mesmo, vc é um gênio.

Brigadão. :lol: :lol: :lol:

.

MensagemEnviado: 26 Nov 2012 17:57
por tcpipchip
Proex, obrigado por ajudar o Proex.

MensagemEnviado: 26 Nov 2012 20:51
por barboza
tcpipchip escreveu:Proex, obrigado por ajudar o Proex.


Para isso que servem os amigos e o fórum...

MensagemEnviado: 27 Nov 2012 10:21
por Djalma Toledo Rodrigues
Sei la, eu sou contra esse negócio de auto-ajuda

:D

MensagemEnviado: 27 Nov 2012 16:42
por proex
barboza escreveu:
tcpipchip escreveu:Proex, obrigado por ajudar o Proex.


Para isso que servem os amigos e o fórum...


Ah, que isso rapazes, não faço mais que minha obrigação. Estou aqui pra isso, para me ajudar.


.

MensagemEnviado: 28 Nov 2012 19:20
por turuna
Caras vocês são demais......kkkkkkkkkkk.

Turuna