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:
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.
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.
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.
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.
André. Você está usando o Codewarrior 10.2 em que sistema operacional? Já ocorreram problemas similares no windows 64 bits. Este é o seu sistema?
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.
Esse exemplo funciona para qualquer revisão do KwikStik?
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.
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.
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.
como se descargan musica
si sun memoria
alguien ayudeme