¿Cómo aprender ARM y DSP?
En términos generales, existen varios tipos de microcontroladores integrados: los tradicionales 51, AVR y PIC se denominan microcontroladores integrados; ARM es un microprocesador integrado;
Objetivamente hablando, en términos de requisitos de trabajo, la demanda de DSP es mayor que la de ARM, mientras que ARM y FPGA son aproximadamente iguales.
DSP se ha vuelto popular debido a su desarrollo sin precedentes en el campo del procesamiento y las comunicaciones digitales. Se usa ampliamente en todo, desde cámaras MP3 hasta controladores en nuestros productos militares.
Los hermanos FPGA generalmente hacen ANSIC (diseño de chip especial, parece traducirse de esta manera). ARM no es mucho mejor que los microcontroladores, pero es único porque su precio sigue bajando y su rendimiento sigue mejorando. Todo depende de la estrategia de ARM, ¡genial! ¡Admiro su visión estratégica!
Cabe señalar que a la hora de buscar trabajo, las empresas (sin contar las famosas, sino las pequeñas) no prestan más atención a los ingenieros de desarrollo de hardware ARM simples que a los microcontroladores, y hay muy pocas empresas grandes. ocupar puestos. Dice "Se prefieren los desarrolladores de ARM". ¿Sobre qué escribes más? "LINUX integrado", creo que todos pueden ver en este punto que el hardware requiere software.
2. ¿ARM es hardware o software?
Es difícil decirlo, ARM es hardware y LINUX es software. La mayor parte del hardware de ARM es modular. Por ejemplo, si cambio la placa a esto, se moverá mucho. Esta es también la estrategia de ARM.
El trabajo de desarrollo real para LINUX es mucho más arduo y lleva más tiempo. En este sentido, ARM debería considerarse software.
Esto es especialmente cierto cuando se solicitan puestos de trabajo. Por ejemplo, el "ingeniero de BIOS" más cercano en Lenovo y ARM es software, y el "ingeniero de LINUX integrado" más cercano en MOTO es software. También hay muchas empresas que clasifican el desarrollo de productos integrados como hardware. Así que no hables de esto, la clave es tomar tus propias decisiones. Si realmente no está satisfecho, simplemente llámese "ingeniero de desarrollo integrado"
3. ¿Debería comprar una placa de desarrollo y qué tipo de placa de desarrollo debería comprar?
Mi respuesta es. "Depende de tu método de aprendizaje personal", pero si estás analizando tus propias necesidades y el nivel de esta nota de trucos, te sugiero que compres unos ya preparados. Te sugiero que compres ya hecho.
1. Compre una placa ya preparada
Si compra una placa ya preparada, podrá centrarse en el desarrollo de software (especialmente controladores) por lo que no tendrá que preocuparse. problemas con su propio hardware. Lo hago para depurar. Mientras escribo controladores y programas, asegúrese de que no haya ningún problema con el hardware antes de escribir el controlador cada vez. Además, comprar placas de circuito es más caro y requiere más tiempo. Yo mismo hice la placa de circuito y el esquema de la PCB tardó más de 2 semanas. ¡La PCB tardó más de 2 semanas! ¡Me tomó otros 15 días hacer la placa y cuando regresé tenía 160 pines soldados en el 44B0! Es realmente problemático ~~ ¿Cuánto costó? Es un tablero de 2 capas y la tarifa del tablero es de 300 yuanes. Por supuesto, hice todas las interfaces externas e hice un panel posterior LCD de 20X18, que es relativamente grande. En general, los componentes: PCB con pantalla LCD = ¡11XX yuanes! Suficiente para 2410.
Además, la información adquirida es relativamente completa, ¡pero no esperes soporte técnico! Todas son mentiras y no les importarás después de vendértelas.
Hacer 2
Si lo hace usted mismo, podrá comprender mejor el hardware subyacente y podrá agregar cosas según sus propios requisitos. Por ejemplo, agregué un módulo GPS, un. Módulo GPRS, un módulo de tarjeta SD y un 35 ampliado. El teclado IIC y la interfaz LCD se modifican de acuerdo con la pantalla LCD comprada y se pueden conectar directamente con un cable FPC. Muy guay. Juega.
Por supuesto, también puedes hacerlo estratégicamente. Por ejemplo, como yo, conserva la RAM, la ROM, la red y una placa preparada, para que puedas tomar tus propios datos y usarlos directamente. y guárdalo tú mismo.
A otros les gusta SD, etc., puedes hacerlo tú mismo. Lograrlos todos ~~ es costoso y requiere mucho tiempo.
Luego tengo algunas sugerencias para mis amigos que están haciendo esto: intente obtener tableros ya preparados, intente recopilar un conjunto completo de información en otros tableros y asegúrese de obtener esquemas.
La mayoría de los diagramas esquemáticos que circulan en Internet fueron dibujados por Gong Jun en 2003. ¡Me gustaría expresar mi respeto a Gong Jun! ¡Muy amigo!
Sin embargo, hay un pequeño ERROR en esa imagen, quiero decir que no habrá tal problema después de la versión 03. 8019 Hay algún problema con esa línea de dirección y esa dirección. También hay personas que dibujaron SCH después de sus imágenes en PDF, ¡lo cual es aún más problemático! ¡condenar! Por cierto, me gustaría condenar el comportamiento de Gong Jun de robar y vender gente.
Cuales 3 comprar
Personalmente hay tres categorías
1) Primero es ZLG, la información es muy completa, siento que tiene muchas ganas de Enseñarle cómo desarrollar ARM. No es como algunas empresas que simplemente fabrican placas y las venden por dinero si no tienen buena tecnología. ¡Pero la mayor desventaja es que es demasiado caro! Además, es principalmente PHILIP, y el suministro de bienes es más problemático ~~ Algunas personas pueden decir que la serie 21XX no es cara, pero eso se debe a que el autobús no se expande y solo puede ejecutar UCOS, no UCLINUX. Pero lo que quiero decir es que la serie 21XX es la combinación rentable de ARM7. ARM7 es el más adecuado para el control industrial. ¿Cómo serán las ventas después de que ARM se vuelva popular? Todos son de ARM7 y 44B0 es un componente comercial típico. Pero aquí, si se está preparando para trabajar, es mejor elegir uno que pueda ejecutar UCLINUX.
Pero aún así se recomienda como primera recomendación, porque en la era de los novatos, ¡la información correcta es muy importante! ¡Me conmueve el espíritu pragmático de ZLG! Mire a las personas que escriben código.
2) Creo que 44B0 Litutex es bueno
El hardware es el mismo, pero la información es relativamente completa. A diferencia de algunas familias, los diagramas esquemáticos están tomados directamente de otras, que es. no está mal~~~
3) Encuentra el más barato
El más barato parece venderse por 350, ¿verdad? Nada más, solo para ahorrar dinero y tiempo en la recopilación de datos. En cuanto a si los datos están completos, no se preocupe ~~ El hardware debe ser bueno.
Cuatro no deberían tener la base del microcontrolador 51AVR
Los hay mejores, pero no importa si no los tienen.
Hace dos meses, vi a otros hacerlo y me influyó ~~~ Aprendí sobre microcontroladores cuando era estudiante, pero nunca lo había hecho antes. Nuestra columna vertebral técnica aquí está trabajando en AVR y 51, y los he usado para ajustar programas en C. ¿Lo viste? Soy novato, ¿verdad?
Sin embargo, antes de comenzar, encontré especialmente dos libros de ZLG y miré los ejemplos y esquemas que contienen. Esto es muy importante.
Para desarrollar, ¿qué software necesitas aprender?
En resumen, el software más importante es el siguiente
1 depuración de ADS
Exactamente, es ADS AXD. ADS incluye AXD, que se usó originalmente en SDT pero luego fue descontinuado por ARM.
Los programas de algunas personas todavía se lanzan en la versión SDT, pero básicamente puedes encontrar los ADS correspondientes. Los principiantes no deben confundirse aquí. Será más económico que AXF más adelante en la depuración de ARM RAM.
2 PLASHPGM
Software de grabación FLASH. Al depurar AXD en RAM, desaparecerá cuando se apague la alimentación, lo cual es conveniente para modificar el programa. Luego descargue el programa depurado a FLASH y ejecútelo directamente después del encendido.
Hay muchos softwares similares, incluidos FLUTED y FLSHP, pero FLASHPGM es el mejor. Si alguien todavía pregunta si FLASH no admite archivos en formato BIN, debe leer el uso de PLASHPGM que escribí.
3. Agente depurador BANYANT (No sé cómo se llama, es difícil de recordar. Yo suelo llamarlo "media oveja" porque sé que hace unos días comió cordero asado)
p>
El agente de depuración le ayudará a utilizarlo para implementar JTAG más simple (barato) y realizar la mayoría de las funciones del emulador 1K JTAG original.
Consulte mis otras notas para conocer los principios de depuración de JTAG. Es simple y fácil de entender. Es mejor crear su propio controlador JTAG.
Existen muchos tipos de agentes de depuración, como H-JTAG y ARM7 (no sé cómo se llaman, solo recuerdo que el archivo ejecutable se llama ARM7.EXE, es mejor). .
Cabe señalar que no existen métodos de instalación simples y diferentes para los agentes de depuración, y es necesario leer atentamente las instrucciones. AXD debe ejecutarse antes de la depuración. Ahorre dinero y evite problemas.
Cadena de herramientas de 4 ARM-ELF-TOOLS
Solo existe un tipo de herramientas de desarrollo en UCLINUX, como ARM-ELF-GCC. Una cadena de herramientas es algo que agrupa muchas herramientas para facilitar su desarrollo. Consulte mis otras instrucciones para conocer métodos de instalación específicos.
Además, si estás desarrollando LINUX, necesitas utilizar ARM-LINUX-TOOLS, que es diferente y no universal.
5 U-BOOT
La famosa herramienta de generación de BOOTLOADER es del mismo tipo que VIVI (el nombre es muy ambiguo~~)
El BOOTLOADER generado es grabado en FLASH y luego puede usar BOOTLOADER para descargar y grabar otros archivos
usando BOOTLOADER.
6 paquetes de software UCLINUX
Paquete de software fuente UCLINUX, ¿necesito mencionarlo? Se recomienda utilizar el ya preparado para experimentarlo primero y luego compilarlo y cortarlo usted mismo. Porque editar UCLINUX por sí solo es relativamente simple desde el punto de vista técnico, pero aún implica una amplia gama de aspectos.
7. VMWARE
El antiguo software de máquina virtual puede virtualizar una máquina con LINUX en una máquina (usada en una PC), ahorrándole la necesidad de cambiar de máquina de un lado a otro. Recuerde instalar VMWARE-TOOLS. Consulte mis otras notas para conocer el método de instalación.
6 ¿Qué libros se recomiendan?
Recomiendo principalmente tres libros de ZLG. Con estos tres libros e Internet, no hay necesidad de otros libros. Entre ellos, recomiendo principalmente. los dos primeros libros presentan la arquitectura, que también es buena
1 Construcción del sistema LINUX integrado y desarrollo de controladores, versión Beihang
El controlador está escrito en detalle y el. la introducción al desarrollo temprano también es muy buena
2 tutorial experimental del sistema integrado ARM (2), versión Beihang
Hay diagramas esquemáticos, pasos experimentales y comentarios de ZLG2200, para que pueda comprender cómo se desarrolló.
3 Tutorial Básico sobre Sistemas Embebidos ARM
Lo más importante es la introducción de la arquitectura y las piezas de montaje. Echa un vistazo y aumenta tu calidad teórica.
4 Hoja de datos 44B0
Está escrito aquí para enfatizar su importancia.
No recomiendo que ZLG lance una máscara roja basada en la arquitectura ARM temprano ~ Solo la clase
Estoy cansado de leer demasiado.
No hay muchos otros libros y no he visto ninguno bueno. Si los has leído, recomiéndalos.
Siete opciones: UCOS, UCLINUX, LINUX, VXWORKS o uso como microcontrolador
1 Quienes se dedican al diseño y desarrollo de ingeniería utilizan UCOS, que es compacto, multiprocesamiento y simple. , que encarna la esencia de ARM7.
2 LINUX es la base de los sistemas integrados. LINUX se usa ampliamente en los campos de consumo y comunicación. Sin embargo, la desventaja es que requiere ARM9 para ejecutarse. No puede fabricar placas ARM9 usted mismo y placas de 6 capas. son demasiado caros. Si compras una placa de desarrollo por 1K, estará en la parte inferior.
Pero todavía se recomienda elegir ARM9 LINUX
3 sistema integrado de calculadora UCLINUX :) ARM7 puede ejecutarse. Como tengo un pariente cercano de LINUX, puedo cambiar a LINUX más fácilmente después de aprenderlo. Yo puedo usarlo Jaja
4 VXWORKS
¡Puedes encontrar un buen trabajo después de estudiar, pero no hay oportunidades laborales! No es mejor que el propio LINUX.
5 Utilízalo como microcontrolador
No recomendado, aunque ZLG, al que admiro, lo viene pidiendo. Debido a que el aprendizaje del diseño de sistemas multiproceso se basa en ARM7, al menos necesitas el UCOS completo :)
Un amigo me preguntó si no podía aprender esto primero como base. Por supuesto que es posible~~ Pero me tomó una semana completarlo. Fue el primer ADS en mis notas de depuración de RAM. Más tarde, usé FLASH para borrar un pequeño programa o el programa de parpadeo LED que escribí en ese momento. Pasó otra semana. Debido a que fui demasiado estúpido y no configuré el OM correctamente, la matriz de cristal no se pudo organizar.
Jaja. Había que hacerlo, pero olvídalo. El objetivo es sacarlo más lejos.
8. ¿Cuánto tiempo lleva aprender?
Han pasado más de dos meses desde que era novato y me han interrumpido varias veces. Pero aún así completé el diseño y disposición de PCB, la depuración de RAM, la descarga de FLASH, la portabilidad de UBOOT y la descarga de UCLINUX (sin éxito, utilizando el controlador LCD ya preparado).
Déjame ser sincero de nuevo: hago platos comparativos, y no lo digo para darte envidia, sino sólo para decirte "deberías ser mejor que esto"
Yo creo que una buena mentalidad es apropiada Resumen oportuno de métodos = resultados
¿Para qué sirven los nueve ARM?
Solo algunos puntos
1 Diseño de hardware p>
2 Trasplante de sistema
3 Desarrollo de controladores
4 Desarrollo de aplicaciones
No. Entre ellos, se recomienda centrarse en los dos últimos, 3 es más difícil y 4 es más flexible. Lo más importante es que estos dos son pesos para encontrar trabajo.
10. ¿Qué tablero usé?
Mucha gente me hizo esta pregunta, así que escribí una especial. Dilo de nuevo.
Lo hice yo mismo. RAM, ROM, 8019 y otras cosas más problemáticas y cosas que no entendí en ese momento se basaron en las instrucciones de Gong Jun. Se han realizado las siguientes modificaciones para preservar otros inconvenientes.
1 Agregue un módulo GPS y un módulo GPRS para comunicación en serie
Un UART0 y un UART1 Utilice un interruptor de puente con el HyperTerminal cuando esté en uso.
2. Tarjeta SD y pantalla táctil 7843
Cuelguen en el bus SPI al mismo tiempo, porque SPI solo puede colgar un dispositivo y se deben realizar preparativos para la simulación de E/S. Estos dos dispositivos deben colgarse en 4 IO a través de puentes.
3 Amplió un teclado IIC de 35 teclas
Utilizando el 7290 de ZLG, que no ocupa CPU y soporta hasta 64 teclas, dejando sólo 35 teclas en otras interfaces.
4. Modifique la interfaz LCD de acuerdo con la pantalla LCD comprada y luego podrá conectarla directamente con el cable FPC.
Entonces, aunque hay muchos cambios, son realmente portátiles. Las cosas relacionadas con la depuración inicial no han cambiado. Solo se están preparando para el momento en que no seamos tan buenos ahora :)
El proceso de desarrollo de XI
El siguiente es mi proceso de desarrollo
1 Diseño del diagrama esquemático (incluido el objeto de acceso JTAG de WIGGLER)
2 Diseño de PCB (incluido el objeto de acceso JTAG de WIGGLER) )
2 Diseño de PCB (incluido el objeto de acceso JTAG de WIGGLER)
2 Diseño de PCB (incluido el objeto de acceso JTAG de WIGGLER)
2 Diseño de PCB (incluido el objeto de acceso JTAG de WIGGLER)
2 Diseño de PCB (incluido el objeto de acceso JTAG de WIGGLER)
2 Diseño de PCB (incluido el objeto de acceso JTAG de WIGGLER). Lector JTAG de WIGGLER)
3 Haga la placa
4 Suelde el voltaje para garantizar que sea normal
5 Suelde el circuito 44B0 JTAG Circuito de periféricos del lector JTAG de WIGGLER , use el simulador BANYANT para conectarse, BANYANT genera un error, pero puede mostrar el número 44B0, que parece ser 0X0F0F0, que es 0X0F0F0. Solo hay 0X0F0F0F0F, lo que indica que 44B0 está bien
6 Suelde el circuito periférico RAM ROM de cristal, conéctelo al emulador BANYANT y se podrá mostrar el 44B0 correcto
7 Conéctese al Emulador BANYANT, abra AXD y ejecute el comando Operar RAM en la ventana de fila para ver si se puede modificar y luego (ver la dirección RAM en la ventana de memoria). Si puedes (usa la ventana de memoria para ver la dirección RAM), no hay problema con la RAM
Puedes usar este comando "setmem 0xc000000, 0xffffffffffffff, 32"
Mi La RAM está montada en BANK6, por lo que la dirección es 0XC000000 y si la cambia también es 0XC000000. Si lo cambias, debes cambiarlo también.
8 Utilice mi método "Escribí una plantilla de proyecto C y escribí una instrucción de uso" para depurar el programa. La escritura es muy simple. Escribí un LED para parpadear. Vea si funciona.
9 Grabe el programa en FLASH de acuerdo con el método del "Resumen de programación de FLASH" y pruébelo.
10 Transplante UBOOT de acuerdo con la "Operación de trasplante de UBOOT"
11 Siga las "Instrucciones sencillas para descargar UCLINUX" para descargar UCLINUX
12 ¡Mire cómo desarrollar un controlador y escriba un controlador usted mismo!
Hay muchas cosas esperando que juegues en 13
12 Acerca del acceso a la verdad JTAG
El equipo de acceso a la verdad JTAG se usa más ahora, simple Una placa. , 244 formas de usarlo, no tiene nada de malo.
Según la definición de puerto paralelo, se divide en varios tipos diferentes. Se recomienda elegir la definición de WIFFLER porque admite más software. Hay muchos de ellos en línea, por lo que no entraré en detalles.
Cabe mencionar que algunos puentes en los diagramas esquemáticos reales de los visitantes de JTAG se utilizan para habilitar la señal de reinicio, que generalmente no se puede saltar. Es decir, no utilice la señal de reinicio porque el propio protocolo JTAG también puede controlar el reinicio 44B0.
Por supuesto, no es necesario saltar el puente de señal de reinicio en la placa de circuito.
13. ¿Qué empresa es ARM?
Esta pregunta es relativamente simple.
1. ARM7 proviene principalmente de varias empresas
Samsung, PHILIP, ATMEL
ATMEL es relativamente barato, AT91SAM7S32 y AT91SAM7S64 están especialmente diseñados para aplicaciones de 8 bits. , el precio es muy económico como "3 cuchillos". Es similar al 21XX de PHILIP, con muy poca información y buena selección de proyectos.
No diré mucho sobre los otros dos mencionados anteriormente
2 ARM9
Probablemente hay más gente jugando con 2410 y 2440. Ahora 2440 es bastante popular Puedes considerar comprar uno
Pero el 2410 es más barato y bueno para aprender, así que recomiendo uno :)
De hecho, ARM9 se usa más comúnmente en el campo de la electrónica de consumo. , como teléfonos móviles y PDA. Debería ser más común utilizar INTEL y TI.
Pero TI de INTEL tiene poca información de presentación y precios elevados. Decidirán en función de la situación.