¿Controlador de señal digital con cadena de herramientas GNU?

6

¿Hay algún fabricante que ofrezca un controlador de señal digital (que básicamente significa un microcontrolador con alguna funcionalidad DSP como una instrucción MAC y otras cosas) en la que podría compilar software con GCC? dsPIC aparentemente usa el compilador C30 de Microchips, que es un spin-off de GCC pero no es gratuito (como en el código fuente gratuito).

Solo necesitaría unos pocos canales ADC, dos canales DAC y una FPU, por lo que no es nada especial.

Me gustaría intentar alejarme de las cadenas de herramientas de un solo fabricante, si es posible.

    
pregunta Dago

3 respuestas

3

No menciona qué tipo de poder necesita, pero AD Blackfin y TI OMAP , ambos dispositivos son compatibles con las cadenas de herramientas de código abierto (gcc, etc.). Para OMAP, visite OpenEmbedded @ www.openembedded.org/wiki/Main_Page, para Blackfin eche un vistazo a ucLinux @ www.uclinux.org/.

Aunque parezcan exagerados en cuanto a capacidad (hasta aproximadamente 1GHz ARM + DSP), son pequeños y eficientes desde el punto de vista energético, por ejemplo. consulte Gumstix Overo @ www.gumstix.com/store/index.php?cPath=33 para obtener una variedad de tableros OMAP y una buena comunidad de desarrolladores @ gumstix.org).

OMAP también se usa en Beagleboard, que es un excelente lugar para comenzar.

(Disculpas, primer post a electronics.stackexchange, limitado a 2 hipervínculos, por lo tanto, el desorden arriba)

    
respondido por el rolinger
1

MCU basadas en núcleo ARM Cortex-M4 (F).

No es un DSP completo, pero tiene alguna "funcionalidad similar a DSP":

  • operación de MAC de un solo ciclo 32x32- > 64.
  • opcionalmente FPU (en la variante F).

GCC lo admite (incluido el hardware FP) desde enlace .

ARM también proporciona rutinas DSP optimizadas en la biblioteca CMSP de DSP.

    
respondido por el kwesolowski
-2

El compilador Microchip está basado en GCC, y por lo tanto su fuente está abierta. Microchip agregó algunas de sus propias cosas para las optimizaciones más avanzadas, pero el compilador básico es gratuito y su fuente está disponible.

Tratar de ser un proveedor independiente con compiladores de microcontroladores también es un poco tonto. Sí, C es más o menos un estándar, pero las mejoras deben realizarse en cualquier instancia particular para usar bien la arquitectura. Habrá algunas diferencias de código fuente requeridas entre las diferentes familias de microcontroladores, sin importar qué compilador utilice. El hecho de que dos compiladores se basen en GCC no significa que el código de la aplicación sea compatible con el código fuente.

En el mejor de los casos, la compatibilidad del código fuente se aplicará a las declaraciones C genéricas y aritméticas. Sin embargo, la mayor parte del firmware incorporado en sistemas tan pequeños con recursos limitados administrará los periféricos de hardware especializados. Ese código será específico para esa familia, y algunas veces para la parte, por su propia naturaleza. La compatibilidad con C general es exigente para el 5% de la solución e ignorar el problema del 75% de portar entre diferentes dispositivos en primer lugar.

Además, no tiene mucho sentido exigir que el código fuente del compilador esté abierto. ¿Realmente vas a entrar allí y hacer cambios? Es mejor dejarlo en manos de los expertos que trabajan a tiempo completo. Para un proyecto personal único, tiene sentido usar un compilador gratuito, pero luego la mayoría de los proveedores tienen cierto sabor de compiladores gratuitos. Todos los compiladores de Microchip tienen versiones gratuitas que solo difieren de las completas en que algunas de las optimizaciones avanzadas están desactivadas. En la mayoría de los casos esto es irrelevante. Si está superando los límites, entonces, para un uso único, utilice el siguiente chip de aumento de tamaño, y siempre hay un ensamblador disponible si realmente necesita el espacio de código y la velocidad para partes específicas del sistema.

    
respondido por el Olin Lathrop

Lea otras preguntas en las etiquetas