J’ai commencé à utiliser la BB sous Sraterware de TI.
C’est pas vraiment simple, Starterware est un ensemble de librairies sensées prémâcher le travail de bas niveau.
Mais ces lib sont prévues pour plusieurs processeurs et cartes. Pas de chance l’audio pour la BBB n’est pas supporté.
Mais théoriquement pas bien gênant vu que l’on est toujours en bas niveau, il suffit de rajouter quelques lignes de définitions.
Pour développer on utilise une sonde JTAG qui permet de charger et débugger le code directement dans le processeur.
Pour cela on utilise un fichier .GEL qui va paramétrer mémoire et horloges ensuite se lance un .cmd suivit du programme utilisateur.
Le processeur étant un AM3559 il est logique d’utiliser le fichier AM3559.cmd et bien non fonctionne pas. Par contre en partant sur un exemple pour la BB qui utilise un CMD prévu pour un TMS470 ça fonctionne.
Le processeur dispose de 2 unités audio, Mcasp0 et Mcasp1.
C’est le Mcasp0 qui est utilisé pour l’HDMI mais le 1 est aussi disponible sur les connecteurs d’extension.
Ces 2 connecteurs d’extensions sont paramétrables, chaque Pin est dite multiplexée. En fait on peut choisir le mode de fonctionnement de chaque Pin selon un tableau avec 6 modes max différents.
Par exemple la Pin 31 du connecteur P8 est assignée par défaut au LCD data14 utilisé pour l’HDMI.
Mais en sélectionnant le mode3 elle devient Mcasp0_axr1 qui veut dire ligne de donnée pour l’unité Mcaps0 pour le sérialieur 1. Ligne qui peut être configurée en entrée ou sortie.
Bien sûr si on utilise cette ligne pour de l’audio, on n’a plus la sortie HDMI.
Chaque sérialieur peut être configuré en I2S pour passer 2 canaux ou en TDM pour passer jusqu’à 8 canaux.
Si l’on veut rester en I2S, on a sur les connecteurs 4 ports I2S en Mcasp0 et 2 ports en Mcasp1 soit un total de 12 canaux audio.
C’est donc une grande fourmilière mais qui permet énormément de possibilités. En partant sous Linux, on serait vite limité vu qu’un système sous linux sans écran n’a pas beaucoup de sens et donc il manquerait pas mal de drivers si l’on veut exploiter au max les fonctions audio.
Pour le moment j’arrive à sortir les clocks en I2S mais pas encore de data.