“Porque los ingenieros de hardware que diseñaron la placa personalizada querían mapearlos de manera diferente” es la respuesta más simple.
Las razones por las que querían hacer esto podrían ser muy variables: costo, diferentes conjuntos periféricos, voltajes, etc.
La mayoría de los SOC que he visto tienen dos niveles de configuración: el muxing funcional general de los diferentes bloques periféricos, y luego la configuración específica de los pines.
- ¿Cuál es el trabajo mejor pagado para un ingeniero de sistemas integrados?
- ¿Es útil conocer los sistemas integrados, que conciernen a los microcontroladores Arduino, PIC y ARM, para un ingeniero de automatización industrial que se ocupa de unidades PLC y HMI?
- ¿Es Arduino una mala forma de aprender sistemas embebidos? Mis habilidades en C son buenas y quiero ser un ingeniero de software integrado profesional. Compré un kit Arduino y comencé a hacer proyectos, pero fue fácil. No estoy aprendiendo ¿Cuál debería ser el siguiente paso?
- ¿Qué microcontrolador es mejor aprender de acuerdo con la búsqueda de un buen trabajo en electrónica?
- ¿Cómo se usan los sistemas embebidos en aplicaciones aeroespaciales?
Estas dos piezas juntas determinan cuál es la función de un pin individual. Algunos diseños SOC tienen opciones muy limitadas, algunos tienen multitud.
Por lo general, en los proyectos en los que he trabajado, lo que sucede es que el proveedor de SOC proporciona un mapeo para la placa de evaluación en el paquete de documentación, y luego los ingenieros eléctricos que diseñan la placa personalizada producen un documento similar como parte del proceso de diseño esquemático. Esto normalmente incluiría no solo asignaciones GPIO sino funciones personalizadas, ubicaciones y direcciones de bus (SPI / I2C), etc.
En combinación con el manual de referencia técnica (TRM) para el SOC, estos 3 documentos suelen ser suficientes para averiguar qué va a dónde.
En cuanto a la transferencia del código de evaluación, depende del sistema operativo y los controladores proporcionados por el proveedor de SOC. Algunos proveedores son amables y usan mucha abstracción (o incluso tienen una capa de traducción completa en la que esencialmente puede alimentar las asignaciones de pin como una tabla). Algunos codifican todo …
Dependiendo de su rol en el proyecto y el volumen de código que se discute, generalmente es una buena idea leer la mayor cantidad de TRM posible, luego leer la mayor cantidad de código de la biblioteca que sea posible para comprender cómo se escribió el software de evaluación. Luego, por lo general, queda más claro qué piezas deben cambiarse para admitir la placa personalizada: las asignaciones GPIO suelen ser la parte más fácil.