Notas de ARM para principiantes

2020-12-04 09:08:13 hongling

Notas de ARM para principiantes






Primero, hablemos del desarrollo de ARM.


Puede describirse como una buena: cuando abre los sitios web de varias empresas, la mayoría de los puestos de ingeniero están integrados en la contratación.


En términos generales, no hay más que varios tipos de integrados: lo que los 51, AVR, PIC tradicionales se denominan microcontroladores integrados; ARM es un microprocesador integrado; DSP; FPGA.


Hablando objetivamente, DSP necesita más trabajo que ARM, y ARM y FPGA son casi lo mismo.


El DSP se ha vuelto popular debido al desarrollo sin precedentes en el campo del procesamiento digital y las comunicaciones Tiene una amplia gama de aplicaciones que van desde cabezales de cámara MP3 hasta controladores en nuestros productos militares.


Los hermanos de FPGA generalmente hacen ANSIC (diseño de chip especial, como si se tradujera de esta manera).


Y ARM no es mucho más fuerte que una microcomputadora de un solo chip, pero su singularidad radica en la disminución del precio y el rendimiento mejorado. Esto depende completamente de la estrategia de ARM, ¡genial! ! ¡Admiro su visión estratégica! !


Vale la pena señalar que a la hora de buscar trabajo, las empresas (las famosas, sin contar las pequeñas) prestan menos atención a los simples ingenieros de desarrollo de hardware ARM que a los microcontroladores. Pocas empresas grandes escriben "Actuar en el desarrollo ARM es preferido".


¿Qué está escrito más? "LINUX integrado"


En este punto, creo que puede verlo, lo que se necesita es el software en el hardware.


Two ARM es hardware o software


Es difícil decir que ARM es hardware y LINUX es software.


La mayor parte del hardware de ARM se ha modularizado. Si cambio la placa a esta, aunque se mueva mucho, esta también es la estrategia de ARM. Lo admiro de nuevo.


El trabajo de desarrollo real de LINUX consume cada vez más tiempo. A este respecto, ARM debe considerarse un software.


Esto es aún más cierto en la búsqueda de empleo. Por ejemplo, en Lenovo, lo más parecido a ARM es que el "ingeniero de BIOS" es el software, y lo más parecido a MOTO es que el ingeniero de LINUX integrado es el software. Muchas otras empresas clasifican el desarrollo de productos integrados como hardware.


Entonces, no discuta esto, la clave es divertirse con su propia tabla. Si está realmente molesto, llámese un "ingeniero de desarrollo integrado"


3. ¿Debo comprar una placa de desarrollo? ¿Cuál?


Mi respuesta es "en su lado de aprendizaje personal *", pero si necesita mirar el nivel de notas de trampa, la recomendación personal es comprar las ya hechas.


1 compra


Puede concentrarse en el desarrollo de software cuando compra una placa. El desarrollo de software (especialmente los controladores) no tiene que preocuparse por sus propios problemas de hardware. Solo escribo controladores y programas para depurar y me aseguro de que el hardware esté bien antes de escribir controladores. .


Además, comprar una placa ahorra tiempo y dinero ¡Hice la placa y el PCB esquemático me llevó más de 2 semanas! Tomó otros 15 días para hacer la placa, y después de que regresé, soldamos 44B0 160 pies. Eso es un problema ~~ ¿Cuánto costó? Tablero de dos capas, la tarifa de fabricación de platos es de solo 300 yuanes. Por supuesto, presenté todas las interfaces y también hice un backplane LCD 20X18, que es relativamente grande.


En general, componentes + pantalla LCD + PCB = 11XX piezas. Suficiente para 2410.


Luego está la información relativamente completa que compró, ¡pero no espere soporte técnico! Todos son mentiras y te ignorarán después de venderte.


2 hacer


Si lo hace usted mismo, podrá comprender mejor el hardware subyacente y podrá agregar elementos de acuerdo con sus propios requisitos. Por ejemplo, agregué un módulo GPS, un módulo GPRS, un módulo de tarjeta SD, expandí un teclado IIC con 35 teclas y cambié la interfaz LCD a la LCD que compré Modificado, se puede conectar directamente con cable FPC. Es genial. Que te diviertas.


Por supuesto, puedes hacerlo estratégicamente. Por ejemplo, como yo, mantén la RAM, la ROM y la red igual que una placa existente, para que puedas tomar sus datos y usarlos directamente, dejándote una salida. Otras cosas, como SD, hágalo usted mismo. Todo está alcanzado ~~ Cuesta tiempo y dinero.


Luego, hay algunas sugerencias para los amigos que lo están haciendo: intente obtener un tablero listo para usar, recopile la mayor cantidad posible de información en otros tableros y asegúrese de obtener un buen esquema.


La mayoría de los diagramas esquemáticos que circulan en Internet fueron dibujados por Gong Jun en 2003, ¡y me gustaría expresar mi respeto a Gong Jun! ! ¡Increíble!


Pero había un pequeño error en esa imagen, me refería a la versión 03, y luego ya no fue un problema. 8019 Hay un problema con la línea de dirección y la dirección. Algunas personas imitan su dibujo SCH en PDF, ¡que está lleno de lagunas! ¡condenar! Por cierto, condenó a la persona que vendió el tablero de Gong Jun en secreto.


3 Cual comprar


El sentimiento personal se divide en 3 categorías


1) Primero que nada, es de ZLG. La información es muy completa. Siento que él realmente quiere enseñarte cómo desarrollar ARM, no como algunas empresas no tienen su propia tecnología y solo hacen una placa y la venden por dinero. ¡Pero la mayor desventaja es que el precio es demasiado caro! Y principalmente PHILIP, el suministro es más problemático ~~ Algunas personas pueden decir que la serie 21XX no es cara, es decir, el bus no está expandido y solo puede ejecutar UCOS, no UCLINUX. Pero a decir verdad, la serie 21XX es la combinación de precio-rendimiento de ARM7. ARM7 es el más adecuado para control industrial ARM es popular, ¿de dónde vienen las ventas? Todos son de ARM7 y 44B0 es una película comercial típica. Sin embargo, si está interesado en prepararse para el trabajo, elija el que pueda ejecutar UCLINUX.


Pero sigue siendo la primera recomendación, porque en el período de novato, ¡la información correcta es demasiado importante! ! ¡Conmovido por el pragmatismo de ZLG * aquí! Mira el código escrito por otros.


2) El 44B0 de Liyutai es bueno


El hardware no es nada, pero la información es relativamente completa, a diferencia de algunas empresas, el diagrama esquemático se toma directamente de otras, lo cual es incorrecto ~~


3) Encuentra el más barato


Parece que el más barato vende 350, ¿no? No hay nada más, es decir, se ahorra tiempo y dinero en la recopilación de datos. En cuanto a los datos incompletos, no te preocupes ~~ El hardware debe ser bueno.


En cuarto lugar, ¿tiene 51 AVR y otra base de microcontroladores?


Es mejor tenerlo, pero no importa si no es así.


Hace dos meses, vi a otras personas hacerlo y me fascinó. Nuestra columna vertebral técnica es AVR y 51, y he ajustado los programas de lenguaje C con ellos. ¿Lo ves? Soy un novato completo, ¿verdad?


Pero antes de hacer esto, busqué deliberadamente dos libros de ZLG y miré los ejemplos y esquemas en ellos. Esto es muy importante. Hay ensamblaje y C en la rutina, y está bien si lo entiende, no es necesario que lo escriba usted mismo


Cinco ¿Qué software se necesita aprender para el desarrollo?


En resumen, los más importantes son los siguientes


1 para depuración de ADS


Para ser precisos, es ADS + AXD. ADS contiene AXD. Resultó que SDT se usó todo, pero ARM dejó de admitir SDT y cambió para admitir ADS. Usemos ADS.


Los programas de algunas personas siguen siendo la versión SDT, pero básicamente puedes encontrar los ADS correspondientes, los recién llegados no los envían aquí. ADS es un compilador y AXD es un depurador. AXF será más barato de depurar en RAM de ARM.


2 PLASHPGM


Software de programación FLASH. AXD se depura en la RAM y desaparece después de un corte de energía, lo que es conveniente para la modificación del programa. El programa depurado se descargará a FLASH y se ejecutará directamente después del encendido.


Hay muchos softwares similares, FLUTED y FLSHP, pero FLASHPGM es el mejor.Si alguien pregunta que FLASH no admite archivos en formato BIN, depende del PLASHPGM que escribí.


3 Agente de depuración BANYANT (no sé si el nombre es correcto, es tan difícil de recordar, normalmente lo llamo "medio cordero" porque acabo de comer cordero asado en esos pocos días)


El agente de depuración lo usa para ayudarlo a usar el JTAG más simple (barato) para implementar la mayoría de las funciones del emulador JTAG originalmente vendido a 1K. Consulte mi otra nota para conocer el principio de depuración de JTAG. Simplemente entiéndalo como el controlador JTAG que creó usted mismo.


Hay muchos tipos de agentes de depuración, como H-JTAG y ARM7 (no sé cómo se llama, solo recuerda que el archivo ejecutable se llama ARM7.EXE) BANYANT es mejor.


Cabe señalar que, aunque ningún método de instalación del agente de depuración * es simple, son diferentes, es necesario leer las instrucciones. Y AXD debe ejecutarse antes de depurar. No tenga miedo de los problemas si ahorra dinero.


Cadena de herramientas 4 ARM-ELF-TOOLS


Existen herramientas para el desarrollo de UCLINUX como ARM-ELF-GCC. Una cadena de herramientas es un paquete de muchas herramientas que es conveniente para su desarrollo. Para el instalador específico * vea mi otra nota.


Además, si desarrolla LINUX, debe usar ARM-LINUX-TOOLS, que es diferente y no universal.


5 BOTAS EN U


La famosa herramienta de generación BOOTLOADER, similar a VIVI (el nombre es muy ambiguo ~~)


El BOOTLOADER generado se graba en FLASH, y luego puede usar BOOTLOADER para descargar y grabar otros


UCLINUX solo se puede descargar con BOOTLOADER. BOOTLOADER es como el BIOS de la computadora. Por supuesto, UCOS no usa esto, no sé qué usar :)


La última versión es 1.1.4. Para usuarios específicos, consulte mi otra nota.


Paquete 6 UCLINUX


No hace falta decir que el paquete de código fuente de UCLINUX? Le sugiero que use el ya hecho para experimentarlo primero, y luego compilarlo y adaptarlo usted mismo. Porque la tecnología de edición de UCLINUX por sí sola es relativamente simple, pero los aspectos involucrados son todavía relativamente amplios.


7 VMWARE


Software de máquina virtual de marca antigua, virtualice una máquina en una máquina para instalar LINUX (utilizado en una PC), lo que le evita encender y apagar la máquina. Recuerde instalar VMWARE-TOOLS, el instalador * está en otra nota mía.


Seis que libros se recomiendan


Recomiendo principalmente los tres libros de ZLG. Si tiene estos 3 libros, no necesita otros libros si agrega la red. Los primeros 2 libros se recomiendan principalmente. El 3 es una introducción a la arquitectura, lo cual no está mal


1 Construcción del sistema LINUX integrado ARM y desarrollo de controladores, versión Beihang


El controlador está escrito en detalle y la introducción previa al desarrollo también es muy buena


2 Curso de experimentación del sistema integrado ARM (2), Edición Beihang


Hay diagramas esquemáticos, procedimientos experimentales y notas de ZLG2200 para comprender cómo otros lo desarrollaron.


3 Tutorial básico del sistema integrado ARM


Lo más importante es la arquitectura, se introduce la parte de compilación, echemos un vistazo, aumentemos la calidad teórica.


4 44B0 Hoja de datos


Escrito aquí es para enfatizar su importancia.


No se recomienda qué arquitectura del brazo de piel roja de los primeros tipos de ZLG ~ único


Demasiada escritura, es molesto leer.


Hay pocos libros más, no he visto ninguno bueno, alguien los ha recomendado.


¿Siete eligen UCOS? UCLINUX? LINUX? VXWORKS? Úselo como microcontrolador


1 Participe en el desarrollo, diseño de ingeniería, use UCOS, pequeño, multiproceso, simple y encarne la esencia de ARM7.


2 LINUX es la raíz del sistema integrado, los campos de comunicación y consumo de LINUX se utilizan más, pero la desventaja es que debe ser ARM9 para funcionar, la placa ARM9 no se puede hacer por sí sola, la placa de 6 capas es demasiado cara. Compra la placa de desarrollo 1K hasta el final. Pero se recomienda elegir ARM9 + LINUX


3 UCLINUX se puede considerar como un sistema embebido especulativo :) Se puede ejecutar en ARM7. Si tienes parientes cercanos de LINUX, puedes cambiar fácilmente a LINUX si lo aprendes bien. Úselo para los pobres como yo, jaja


4 VXWORKS


Después de estudiar bien, puede encontrar un trabajo bien remunerado, pero la oportunidad de trabajo en sí no es más fácil de encontrar que LINUX.


5 Utilizado como microcontrolador


No recomendado, aunque el ZLG que admiro siempre lo ha pedido. Porque para aprender, el diseño del sistema multiproceso es divertido de ARM7, al menos necesitas todo el UCOS :)


Un amigo me preguntó si estaba bien aprender esto como base primero. Por supuesto que puede ser ~~ pero lo usé durante 1 semana para obtenerlo, que son mis primeras notas de depuración de ADS en RAM. Más tarde, el pequeño programa que usé para borrar FLASH fue el programa de LED parpadeante que escribí en ese momento. La otra semana, como estaba cocinando demasiado, no configuré el OM, lo que provocó que la formación de cristales fallara.


Jaja. Esto es imprescindible, pero simplemente déjelo pasar. Ve más lejos.


8. ¿Cuánto tiempo se tarda en estudiar?


Soy novato desde hace más de dos meses y me han molestado varias veces. Aún obtuve el diseño de PCB y la fabricación de placas, depuración de RAM, descarga de FLASH, trasplante de UBOOT y descarga de UCLINUX (no adaptado, uso listo para usar), controlador LCD.


Para ser honesto de nuevo: comparo platos, diciendo que estos no son para que todos envidien, sino para decirte "deberías ser mejor que esto"


Creo que buena actitud + fiesta adecuada * + resumen oportuno = resultados


Nueve lo que hace ARM


A que hora


1 diseño de hardware


2 Migración del sistema


3 desarrollo de impulso


4 Desarrollo de aplicaciones


Ido. Entre ellos, se recomienda centrarse en los dos últimos, el 3 es difícil, el 4 es más flexible y lo más importante es que es el peso de encontrar trabajo.


10. ¿Qué tabla utilizo?


Mucha gente me hace esta pregunta, y escribí una especialmente. Dilo otra vez.


Lo hice yo mismo, RAM, ROM, 8019, etc. eran más problemáticos pero no entendí en ese momento, lo hice de acuerdo con Gong Jun. Se realizaron los siguientes cambios manteniendo otros inconvenientes.


1 módulo GPS y módulo GPRS con comunicación serie


Un UART0, un UART1, use un puente para cambiar cuando use HyperTerminal.


2 tarjetas SD y pantalla táctil 7843


Colgar en el bus SPI al mismo tiempo, porque SPI solo puede colgar un dispositivo, y también se realiza la preparación de la simulación de E / S, y los dos dispositivos se cuelgan en 4 IO a través de puentes.


3 Ampliado un teclado de 35 teclas de IIC


El 7290 utilizado por ZLG no ocupa CPU y admite hasta 64 claves, sólo se utilizan 35 claves, las demás interfaces están reservadas.


4 Modificó la interfaz LCD de acuerdo con la pantalla LCD que compró y puede conectarse directamente con el cable FPC.


Entonces, aunque hay muchos cambios, realmente están trasplantados, y la depuración inicial no ha cambiado, solo para prepararse para el momento en que no es tan bueno ahora :)


11 Proceso de desarrollo


Aquí está mi proceso de desarrollo


1 diagrama esquemático de diseño (incluido el visitante WIGGLER JTAG)


2 PCB de diseño (incluido el visitante WIGGLER JTAG)


3 platos


4 Voltaje de soldadura, asegúrese de que el voltaje esté bien


5 Soldar 44B0 + circuito JTAG + visitante JTAG de WIGGLER + circuito periférico, conectar con el emulador BANYANT +, BANYANT muestra un error, pero puede mostrar el número 44B0, como si solo fuera 0X0F0F0F0F, lo que indica que 44B0 no es un problema


6 Cristal de soldadura + RAM + ROM + circuito periférico, conéctese con el emulador BANYANT +, se puede mostrar el 44B0 correcto


7 Conéctese con el emulador BANYANT +, abra AXD, opere la RAM en la ventana de línea de comando, vea si se puede modificar, si es posible (use la ventana de memoria para ver la dirección de RAM) La RAM está bien


Puede usar esta vida

Deje "setmem 0xc000000,0xffffffff, 32"


Mi RAM está colgada en BANK6, por lo que la dirección es 0XC000000, si la cambia, también debe cambiarla.


8 Utilice el programa de depuración Fang * en el "Escribí una plantilla de proyecto C y una instrucción de uso" escrito por mí. Escriba uno simple. Escribí un LED parpadeante. Optimista al respecto.


9 Grabe el programa en FLASH de acuerdo con el "Resumen de programación de FLASH" y pruébelo


10 Transplante UBOOT de acuerdo con "Operación de migración UBOOT"


11 Siga las "Instrucciones simples de descarga de UCLINUX" siguiente UCLINUX


12 Mire la fiesta de desarrollo de controladores *, escriba un controlador usted mismo y vea


13 Aún quedan muchas cosas por jugar jaja


Doce sobre el detector JTAG


El visitante JTAG ahora es en su mayoría tablero simple, un tipo 244, no tiene nada de malo.


Existen varios tipos según la definición de puertos paralelos, se recomienda elegir el definido por WIFFLER porque hay muchos programas compatibles. Hay muchas cosas en Internet, no hay mucho que decir.


Vale la pena mencionar que hay un puente en el diagrama esquemático de algún visitante de JTAG para habilitar la señal de reinicio, esto generalmente no se activa. No es necesaria una señal de reinicio, porque el protocolo JTAG en sí mismo también puede controlar el reinicio 44B0.


Por supuesto, no es necesario saltar el puente de señal de reinicio en la placa.


13 El brazo de la empresa


Este es un problema relativamente simple.


1 ARM7 se basa principalmente en varias empresas


Samsung, PHILIP, ATMEL


ATMEL tiene AT91SAM7S32 y AT91SAM7S64 más económicos, que están hechos a la medida para aplicaciones de 8. El precio es muy económico, como "3 dólares". Es similar al 21XX de PHILIP, con muy poca información y el proyecto es bastante bueno.


No diré mucho sobre los otros dos.


2 BRAZO9


Hay muchos jugadores jugando 2410 y 2440. Ahora el 2440 es bastante popular, puede considerar comprar uno.


Pero el 2410 es más barato, es bastante bueno para aprender, recomiendo el completo :)


De hecho, el campo más utilizado de ARM9 debería ser la electrónica de consumo, como los PDA móviles, y los más utilizados deberían ser INTEL y TI.


Sin embargo, la TI de INTEL tiene pocos materiales de introducción y precios altos, depende de la situación.