Inicial > brtos > BRTOS tocando arquivos MP3 no KwikStick!

BRTOS tocando arquivos MP3 no KwikStick!

Para todos aqueles que já estavam esperando anunciamos o primeiro demo do BRTOS tocando arquivos MP3 para o KwikStik. Afinal quem nunca olhou para o KwikStik e viu um MP3 player? Pois bem, agora todo mundo pode converter seu KwikStik em um. Para isso, é só fazer download do demo no site do BRTOS.

O decodificador MP3 utilizado no projeto é o Helix MP3 Decoder (disponível aqui ). Este decodificador é uma implementação de ponto fixo em 32 bits otimizada para processadores ARM e com suporte total a arquivos MP3. Entretanto, no demo estamos suportando inicialmente arquivos MP3 de até 64kbps com taxa de amostragem de até 22.05kHz, devido ao menor consumo de memória. Porém, o projeto pode ser facilmente estendido para arquivos MP3 de maior taxa de bits e amostragem.

Para reproduzir os arquivos MP3 adicionamos o comando “mp3_play” ao terminal do BRTOS. A reprodução pode ser controlada com os mesmos comandos já disponíveis para arquivos WAV (pause, stop, vol). No demo também é possível acompanhar o uso da CPU para decodificação e reprodução do MP3.

Faça o download do demo na página oficial do projeto e experimente no seu KwikStik: http://code.google.com/p/brtos/downloads/list

Lembramos que o demo do tocador de MP3 com BRTOS não tens fins comerciais. Em caso de se utilizar o código disponibilizado em algum produto, você deve estar ciente de que embora o decodificador MP3 da Helix seja gratuito e disponível em código aberto, os algoritmos de decodificação de MP3 não são e possuem direitos de exploração associados. Assim é necessário pagar os devidos royalties aos detentores das patentes relacionadas. Para maiores detalhes visite http://www.mp3licensing.com.

Abraço e até a próxima novidade do BRTOS!

OBS.: Caso ocorra problemas ao importar o projeto, verifique se as pastas que devem ser incluídas no projeto estão corretas (Project –> Properties–> C/C++ General –> Paths and Symbols (aba Includes, opção “c,C,cc,cxx,cpp”)), semelhante a figura abaixo:

Tags:, ,
  1. André de Oliveira
    22/07/2012 às 19:21

    Olá, parabens pelo trabalho. Baixei esse exemplo mas estou tendo problemas, só baixei, decompactei, importei e tentei compilar no Codewarrior, mas foram gerados vários erros. Executei um “clean” antes, mas não resolveu.Basicamente os headers não foram localizados, e consegutivamente as variáveis e funções, mas eu vejo que eles estão nas pastas. O Codewarrior é o mais recente, acabei de baixar também. Se puder me ajudar eu agradeço.

    • barriquello
      22/07/2012 às 20:47

      Olá André, isso pode acontecer na versão mais recente do Codewarrior, quando ao importar o projeto, as pastas não são incluídas nas propriedades do projeto. mas você pode incluí-las indo na seguinte opção: Project –> Properties–> C/C++ General –> Paths and Symbols (aba Includes, opção “c,C,cc,cxx,cpp”). Espero ter ajudado.

    • 22/07/2012 às 22:30

      Olá André. O procedimento informado pelo Barriquello realmente deve resolver o problema. Atualizei o post com uma figura apresentando as pastas que devem ser incluídas. No entanto, você pode tentar uma outra solução. O projeto disponibilizado foi criado no Codewarrior 10.1. Também tive problemas ao importá-lo. Então criei um projeto no Codewarrior 10.2 e importei os arquivos do projeto, adicionando as pastas que deveriam ser incluídas. Você pode tentar importar este projeto que está disponível em:
      http://brtos.googlecode.com/files/BRTOS-K40-MP3-Player.rar

      Se possível, gostaria que você nos informasse se funcionou a importação deste novo projeto, pois estamos tendo vários problemas de importação em projetos criados originalmente no Codewarrior 10.1.

      Abraço.

      • André de Oliveira
        23/07/2012 às 15:58

        Olá Barriquello e Gustavo, continuo tendo problemas. Tentei adicionar e não funcionou. Esse download novo tbm não. Criei um projeto bareboard, e copiei todos os arquivos da pasta source, e tbm não deu certo. Eu deveria adicionar mais algum arquivo? O problema continua indicando erros por não encontrar os headers e variáveis. Obrigado pela ajuda até aqui.

      • 24/07/2012 às 9:47

        André. Você está usando o Codewarrior 10.2 em que sistema operacional? Já ocorreram problemas similares no windows 64 bits. Este é o seu sistema?

      • André de Oliveira
        24/07/2012 às 10:02

        Olá. Sim, estou usando o Win64, mas agora consegui compilar, segui a figura e adicionei pasta a pasta. Outro detalhe é que precisa selecinar o “Build Configuration” para flash interna, por quer senão ele gera um erro de overflow na memoria, já que a ram é insuficiente. Obrigado pela ajuda, agora vou estudar com mais calma o projeto.

  2. Robinson Santos
    24/09/2012 às 14:10

    Esse exemplo funciona para qualquer revisão do KwikStik?

    • barriquello
      24/09/2012 às 14:51

      Robinson, o projeto foi testado e aprovado na versão 3 do KwikStik. De acordo com o documento de Errata das versões de hardware (http://cache.freescale.com/files/32bit/doc/errata/KWIKSTIKK40HWER.pdf?fpsp=1), não foi modificada a conexão entre o cartão SD e o micro na versão 4, portanto deverá ser igualmente funcional. Já para a versão 5 deve-se verificar se houve alterações nos pinos de conexão com o cartão SD e fazer as devidas correções nas funções que acessam o cartão.

  3. Kleber
    10/10/2012 às 22:48

    Olá, parabéns pelo projeto. Baixei o demo compilei e funciona tudo certo. Gostaria de saber como faço para usar o BRTOS no KwikStik com o CodeWarrior para outros projetos, ou seja, a partir de um projeto vazio, pois alterando o demo sempre fica algo que não é utilizado e quando tento retirar aparece vários erros. Obrigado.

    • 11/10/2012 às 9:07

      Obrigado Kleber. Quanto a utilizar o BRTOS com um projeto vazio, basicamente você terá que incluir em seu projeto as pastas BRTOS e HAL, além do arquivo BRTOSConfig.h (configurações do sistema) e criar um main.c (onde o sistema e as tarefas são inicializadas) e tasks.c (onde ficam as tarefas). Além disso, o BRTOS utiliza três interrupções nos ARM Cortex-Mx. Portanto, você terá que modificar o arquivo MCUInit.c para incluir estas três interrupções (de acordo com o demo):
      TickTimer
      SwitchContext
      SwitchContextToFirstTask

      E pronto. Você poderá utilizar o BRTOS em outros projetos. Lembre-se que novas interrupções habilitadas por você devem possuir um código do BRTOS em sua entrada e saída. A interrupção TickTimer do arquivo HAL.c dá uma idéia de que códigos são esses.

  4. 26/08/2013 às 22:02

    como se descargan musica
    si sun memoria

  1. No trackbacks yet.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

%d blogueiros gostam disto: