¿Qué plataforma utiliza actualmente para el desarrollo de sistemas integrados?
¿Qué plataforma utiliza actualmente para el desarrollo de sistemas integrados?
El desarrollo de sistemas integrados comunes se divide en plataformas de hardware y software. El hardware se puede dividir en CPU integradas, como microcontroladores, ARM, MIPS, powerPC y ADS, etc. También están DSP y FPGA, que también pueden pertenecer a la categoría integrada. Los diferentes fabricantes tienen diferentes líneas de productos y las plataformas de desarrollo también tienen diferentes herramientas de desarrollo según los fabricantes. ¿Cuáles son las dificultades en el desarrollo de sistemas integrados? ¿Cuáles son los problemas existentes en el desarrollo de sistemas integrados?
1. Observación y control del sistema objetivo
Dado que los sistemas de hardware integrados varían ampliamente, los módulos de software y los recursos del sistema también son diversos Para que el sistema funcione correctamente, los desarrolladores de software deben tener capacidades completas de observación y control sobre el sistema de destino, como varios registros y espacios de memoria del hardware, y los semáforos y mensajes del sistema operativo. , tareas, pilas, etc.
2. Incluye una variedad de CPU y múltiples sistemas operativos
Hay muchos tipos de CPU o procesadores integrados, incluidos Pentium, MIPS, PPC, ARM, XScale, etc. Y las aplicaciones son muy amplios y sobre ellos se ejecutan muchos sistemas operativos, como VxWorks, Linux, Nuclears, WinCE, etc. Incluso dentro de una empresa se utilizan varios procesadores e incluso varios sistemas operativos al mismo tiempo. Si necesita depurar varios tipos de placas al mismo tiempo y cada placa ejecuta múltiples tareas o programas, se puede imaginar la complejidad.
3. Existen muchos tipos de herramientas de desarrollo
No solo varios sistemas operativos tienen sus propias herramientas de desarrollo, sino que también existen diferentes herramientas de desarrollo en diferentes etapas de desarrollo bajo el mismo sistema. Por ejemplo, en las primeras etapas del desarrollo de la placa de destino del usuario, se necesita un simulador de hardware para depurar el sistema de hardware y los controladores básicos. En la etapa de depuración de la aplicación, se puede utilizar un entorno de desarrollo interactivo para la depuración del software. Se utiliza un software de herramienta de prueba especial para probar las funciones y el rendimiento, y se requieren pruebas de firmware y de fábrica durante la etapa de producción. Generalmente cada herramienta debe adquirirse de un proveedor diferente y debe aprenderse y dominarse por separado, lo que sin duda aumenta el gasto y la dificultad de gestión de toda la empresa.
Además, los sistemas integrados cambian y se actualizan rápidamente y tienen requisitos de tiempo de desarrollo estrictos, especialmente para productos de consumo. Si existe un conjunto de potentes herramientas de desarrollo integradas de software integrado, puede satisfacer las necesidades del software integrado. Es ideal para satisfacer las necesidades de cada etapa de desarrollo y al mismo tiempo es fácil de usar y amigable en la interfaz.
Algunos sistemas integrados tienen capacidades débiles de procesamiento y almacenamiento, y no se puede instalar software de desarrollo en ellos; algunos sistemas integrados tienen estructuras de procesador especiales y no hay herramientas de desarrollo que se puedan ejecutar en ellos. Por lo tanto, al desarrollar sistemas integrados, normalmente es necesario adoptar un enfoque de desarrollo cruzado. Cómo entender la plataforma de desarrollo de sistemas integrados
Plataforma de diseño de hardware
La plataforma de hardware consta del sistema básico (incluida la CPU y el almacenamiento) más módulos de circuito de interfaz periféricos. El sistema básico proporciona un entorno mínimo de depuración y ejecución para el núcleo del sistema operativo. Los módulos de interfaz periféricos incluyen una variedad de circuitos de interfaz de hardware que se utilizan ampliamente en la actualidad, como módulos de pantalla de cristal líquido LCD, módulos de pantalla táctil y tarjetas CF. grupo de módulos, módulo USB, módulo Ethernet, módulo de tarjeta IC, etc., que se pueden seleccionar y utilizar fácilmente según las necesidades de los desarrolladores. Actualmente, la plataforma de hardware se basa en el microprocesador DragonBall EZ328 (16MHz) de Motorola. Su configuración principal incluye 8MB EDO DRAM, 4MB FLASH, LCD monocromático de 320×240 píxeles, 6 botones de entrada, una interfaz RS232 y una interfaz Ethernet de 10M, etc.
EZ328 es un microprocesador integrado de 32 bits ampliamente utilizado, que integra una gran cantidad de módulos funcionales y tiene sólidas capacidades de kit de expansión. EZ328 elimina la unidad de administración de memoria (MMU), lo que reduce el costo del hardware y el consumo de energía de ejecución. El modo de inicio compatible con EZ328 también facilita enormemente la depuración del sistema. En nuestra placa de desarrollo, siempre que el pin EMUBRK del EZ328 esté bajo y se realice un reinicio del sistema, el EZ328 puede ingresar al modo de inicio y su cargador incorporado comenzará a ejecutarse para inicializar el control UART integrado en el chip. El dispositivo está listo para recibir datos. De esta manera, los desarrolladores pueden inicializar la placa de desarrollo escribiendo en el registro temporal a través del controlador UART y luego descargar el programa a la RAM y FLASH de la placa de desarrollo para realizar la depuración. Al mismo tiempo, la CPU de la plataforma de hardware se puede actualizar fácilmente a VZ328 (con frecuencia de 33MHz, el sucesor de EZ328). Además, el software desarrollado en la plataforma de hardware EZ328 se puede utilizar en los microprocesadores de las series VZ328 y ColdFire casi sin modificaciones y tiene una amplia gama de aplicabilidad. Los microprocesadores ColdFire se utilizan principalmente en dispositivos de Internet, tecnología de telefonía LAN, control de redes de gama baja, control industrial, imágenes y almacenamiento, etc.
Plataforma de desarrollo de software
La plataforma de software consta de un sistema operativo Linux integrado, una interfaz gráfica de usuario (GUI) integrada y herramientas de depuración y compilación cruzada GNU. El sistema operativo Linux integrado incluye el kernel de Linux integrado y el sistema de archivos ROM/RAM. Se eligió Linux porque es altamente modular, fácil de personalizar y tiene una alta portabilidad.
El núcleo del sistema Linux integrado implementado por la plataforma de software se trasplanta en función del sistema mCLinux. Es un sistema operativo Linux específicamente para CPU sin MMU, y se ha realizado mucho trabajo de miniaturización específicamente para sistemas integrados, y se ha utilizado ampliamente. Los nuevos dispositivos de red Bluetooth también utilizan el sistema operativo mClinux. mCLinux es un Linux integrado altamente optimizado con código compacto. Aunque es de tamaño pequeño, aún conserva la mayoría de las ventajas de Linux: estabilidad, buena portabilidad, excelentes funciones de red y soporte completo para varios sistemas de archivos y un estándar. -API rica. En nuestra plataforma de desarrollo, el núcleo del sistema operativo trasplantado tiene un tamaño de aproximadamente 400 KB, proporciona una API general de Linux y una pila completa de protocolos TCP/IP, y admite sistemas de archivos NFS, ext2, ROMfs y JFFS.
La GUI utiliza MicroWindows y tiene soporte de localización en chino, incluido soporte para juegos de caracteres como GB2312, métodos de entrada en chino, etc. Además, se desarrolló un paquete de gráficos GUI integrado basado en FLTK, que proporciona funciones gráficas relativamente completas, como soporte para menús, botones, barras de desplazamiento y otros elementos de control GUI.
Utilizando este paquete de gráficos, hemos desarrollado un navegador web chino integrado con un tamaño de sólo 1 MB y estamos integrando el software de entrada de escritura a mano china de Tsinghua Wentong.
La herramienta de depuración de compilación cruzada utiliza el kit de desarrollo general de Linux, el kit de desarrollo GNU, que incluye una serie de herramientas de desarrollo y depuración. Los componentes principales son:
● Compilador G, que se puede convertir en un formato de compilación cruzada, es decir, un archivo binario ejecutable en la placa de destino se desarrolla y compila en la máquina host.
● Binutils: herramientas auxiliares, incluido objdump (puede descompilar archivos binarios), as (compilador ensamblador), ld (enlazador), etc.
● Gdb: un depurador que puede utilizar una variedad de métodos de depuración cruzada, incluida la depuración de puerto serie y Ethernet.
Entorno de desarrollo
El kit de desarrollo GNU de esta plataforma de desarrollo de sistemas integrados se ejecuta en el sistema operativo Linux de escritorio.
El desarrollador primero usa G y Gdb para compilar y depurar el programa del cargador de arranque; luego conecta el host y la placa de destino a través del puerto serie, pone el EZ328 en modo de arranque y descarga el programa del cargador de arranque depurado en la RAM de la placa de destino. como programa de monitoreo de monitor, inicie mini en la máquina host y comuníquese con él a través del puerto serie, descargue y depure el kernel y el controlador de Linux una vez que el kernel de Linux se ejecute en la placa de destino y se inicialice la interfaz Ethernet, y luego conéctese; la computadora host y la placa de destino a través de un cable de red (como se muestra en la Figura 2). A través de Ethernet, los desarrolladores pueden usar el sistema de archivos NFS para instalar el disco duro del host, de modo que la placa de destino pueda operar directamente el disco duro del host a través de Ethernet y depurar programas sin descargarlos si Linux El núcleo activa el servicio de inicio de sesión remoto y los desarrolladores; También puede iniciar sesión para depurar aplicaciones en el tablero de destino.
Requiere programar y diseñar sistemas embebidos bajo el entorno del sistema operativo Linux. Usted mismo puede instalar un sistema Linux en su computadora. Los más comunes incluyen Ubuntu, Red Hat, Debian, etc. Personalmente, creo que Ubuntu es simple y fácil de aprender. ¿Cómo empezar con el desarrollo de sistemas integrados? ¿Pueden los estudiantes universitarios participar en el desarrollo de sistemas integrados?
¡Los estudiantes universitarios no tendrán ningún problema siempre que trabajes duro! Si encuentras conocimientos que no conoces, ¡aprende!
¡El desarrollo de sistemas integrados requiere conocimientos relativamente más básicos! , pero depende de usted cuál es la dirección, hardware o software, hardware como desarrollo a nivel de placa, diseño de hardware del sistema... software como linux, wince..., pero se recomienda encontrar a alguien con esta computadora. sistema operativo primero Lea los libros con atención, será de gran ayuda. Además, tener una buena placa de desarrollo también obtendrá el doble de resultado con la mitad de esfuerzo. ¡Buena suerte! ¿Cuál es la diferencia entre el desarrollo de sistemas integrados y el desarrollo de software? ¿Cómo aprender a desarrollar sistemas integrados?
Debe comprender qué es el desarrollo de software integrado. De hecho, todavía está desarrollando software, pero desarrolla software basado en sistemas integrados, por lo que se llama desarrollo de software integrado. Es necesario consultar las noticias e información de la industria. Su cuenta pública de WeChat: Información integrada Entorno de desarrollo de sistemas integrados seleccionado
Los más utilizados incluyen Linux, uClinux, WinCE, PalmOS, Symbian, eCos, uCOS -II. , VxWorks, pSOS, Nucleus, ThreadX, Rtems, QNX, INTEGRITY, OSE, C Executive
Personalmente, creo que hay más Linux, uClinux, WinCE y uCOS-II, pero la mayor proporción debería ser Linux. ~ ¿Qué es la tecnología de desarrollo de sistemas integrados?
El desarrollo de sistemas integrados es el desarrollo de sistemas operativos para todos los dispositivos electrónicos excepto ordenadores. Los objetos de desarrollo incluyen teléfonos móviles, PDA, sistemas electromecánicos, etc.
Los sistemas integrados son sistemas que se utilizan para controlar o monitorear dispositivos de gran escala, como máquinas, dispositivos y fábricas. La definición de sistema integrado generalmente reconocida en China es: un sistema informático especial centrado en aplicaciones, basado en tecnología informática, y cuyo software y hardware pueden adaptarse para cumplir con los estrictos requisitos de los sistemas de aplicaciones, como función, confiabilidad, costo, volumen y consumo de energía.
El núcleo de un sistema embebido está compuesto por uno o varios microprocesadores o microcontroladores que están preprogramados para realizar unas cuantas tareas. A diferencia de las computadoras de uso general que pueden ejecutar software seleccionado por el usuario, el software de los sistemas integrados suele ser temporal, por lo que a menudo se lo denomina "firmware". Desarrollo de sistemas integrados y desarrollo de software
El desarrollo integrado se refiere al desarrollo bajo un sistema operativo integrado. Los sistemas comúnmente utilizados incluyen WinCE, Linux, Android, etc.
Además, el desarrollo usando c, c o ensamblador; usando procesadores de alta gama, arm7, arm9, arm11, powerpc, mips, mipsel, etc., o agregando sistemas operativos también son desarrollo integrado.
………………………………
A juzgar por la pregunta que hiciste, deberías estar muy interesado en lo integrado. De hecho, puedes aprenderlo tú mismo. . Con respecto a cómo aprender integrado, acabo de ver un artículo muy bueno. Era un estudiante universitario que presentó cómo aprendió por sí mismo y encontró un trabajo integrado. Espero que sea útil. usted.ayuda.
Permítanme presentarme primero. En 2007, fui admitido en una muy mala universidad privada con especialización en biología. No revelaré el nombre específico de la escuela para mostrar mi vergüenza. Dejé la escuela en 2009. Estaba en una escuela así y la matrícula anual era de más de 10.000, pero no había nadie con quien estudiar. Realmente no podía ver ninguna esperanza, así que la abandoné.
Estaba confundida después de abandonar la escuela. No me había graduado de la universidad. Realmente no sabía qué podía hacer. Entonces, después de dejar la escuela por un tiempo, quise encontrar un trabajo. Como era relativamente taciturno y no muy bueno hablando, no era apto para postularme a trabajos comerciales. Quiero postularme para un trabajo técnico, pero me encuentro con obstáculos por todas partes.
Fue por casualidad que escuché sobre la industria integrada. Ese día fui a la librería Xinhua y busqué un libro para estudiar en la categoría de informática. Más tarde, una chica se acercó y me preguntó si era estudiante de informática y si estaba interesado en aprender integrado. Luego me presentó la candente situación actual de lo integrado, me dijo lo prometedor que era aprender integrado y me dio una explicación. Folletos, anuncios de formación integrados. Después de escuchar su introducción, sentí una picazón en el corazón. De hecho, tenía muchas ganas de aprender una habilidad propia y comer con mis propias manos.
Después de llegar a casa, busqué en Internet. De hecho, hoy en día es una industria popular, es más fácil encontrar trabajo y el salario es relativamente alto. Decidí aprender incrustado. Entonces busqué información sobre la capacitación integrada. Para ser honesto, estaba muy confundido, no sabía si la capacitación realmente podría ser tan buena como anunciaban, así que quise aprender sobre ello por un tiempo antes de hacer cualquier plan.
Más tarde, vi un artículo sobre Baidu que me inspiró mucho. Era un experto integrado que presentó cómo los amigos sin base pueden aprender integrados por sí mismos. El artículo estaba bien escrito e incluía cómo aprender integrado. Estudiar, cómo estudiar. Mencionó que una forma es ver videos, porque leer libros es demasiado aburrido y confuso, y muchos de ellos no podemos entenderlos. Realmente estoy de acuerdo con esto. Cuando leo un libro, a menudo no puedo leer más que unas pocas páginas.
Estaba pensando, ¡por qué otros pueden ser autodidactas y yo también! Quiero creer en mí mismo, así que quiero aprender por mi cuenta. Si realmente no puedo aprenderlo, iré a entrenar.
Tomé una decisión, así que busqué videos incrustados. Aunque encontré algunos videos incrustados aquí y allá, no eran sistemáticos. Quería encontrar un video que pudiera decirme cómo aprender. conjunto de videos incrustados desde videos desde principiantes hasta maestros, una información relativamente completa, lo mejor es tener un maestro que te enseñe, si no entiendes, puedes pedir consejo.
Más tarde encontré otro video muy bueno, "Clase de empleo integrada básica cero", lanzado en el sitio web de IT Learning Alliance (si te gusta la "Clase de empleo integrada básica cero", puedes copiarlo sina.lt/qKh Pegue la barra de direcciones del navegador y presione Entrar para abrir). Los tutoriales que contiene son bastante buenos y completos, lo que me permite aprender desde lo básico. El vídeo es más barato.
La siguiente es una introducción a mi proceso de aprendizaje. Espero que sea útil para amigos que no tienen ninguna base como yo.
Después de recibir el CD de ellos, comencé a aprender. Como no tenía ninguna base, comencé con el video tutorial en lenguaje C más simple. Es simple de decir, pero de hecho todavía no lo tengo. Entiendo mucho. Sí, tuve que pedirles consejo. Todavía estaban muy entusiasmados y me ayudaron a resolverlo.
Aprendí el lenguaje C durante casi una semana y luego aprendí los comandos básicos de Linux. Hice ejercicios en la máquina virtual Linux que me proporcionaron. Escribí los comandos básicos de Linux y escribí códigos simples en lenguaje C. . semanas. Seguí escribiendo algunos programas simples todos los días, así que después de un mes básicamente dominaba las operaciones básicas de C y Linux.
A continuación, fui a aprender los tutoriales de capacitación en video de otras personas. Era un conjunto completo y no era muy diferente de asistir a una capacitación. Me tomó dos meses aprender los principios básicos de ARM. También domino el concepto de sistemas integrados y cierta construcción de entornos integrados. También tengo una comprensión más profunda de Linux y entiendo cómo se crean las aplicaciones integradas. Sin embargo, solo tengo un poco de conocimiento sobre los controladores, lo cual es relativamente difícil. , quiero mordisquear lentamente más tarde.
En los últimos dos meses, además de comer y dormir, he estado estudiando casi todo el tiempo. Porque sé que casi no tengo base y que soy peor que los demás. Sólo puedo seguir trabajando duro y no puedo rendirme. Tengo que depender de mí mismo para mantenerme. Debo aprender bien esta tecnología. Y escribo los problemas que no entiendo. Después de acumular lentamente durante un período de tiempo, descubrí que realmente estaba comenzando.
En el último mes, fui a leer la parte práctica para comprender el proceso de desarrollo específico de proyectos integrados y qué tipo de conocimiento se necesitaba para comenzar a preparar este conocimiento, es decir, a aprender esto. Al mismo tiempo, me sugirieron que buscara algunas preguntas de entrevista integradas para prepararme para mi futura búsqueda de empleo. Fui a Internet para encontrar muchas preguntas integradas y escribí lo que entendían. De esta manera, me preparé durante unos 20 días.
Siento que casi estoy comenzando y puedo hacer algunas simples. cosas. Solo quería encontrar un trabajo, así que fui a 51job y envié mi currículum como loco. Debido a mis calificaciones académicas, no me gradué de una universidad. Para ser honesto, nadie en las grandes empresas me querría. Postulé a pequeñas empresas privadas, espero que mis esfuerzos valgan la pena. Nunca pensé que habría una entrevista unos días después, pero fallé en la primera entrevista. Aunque pensé que la prueba escrita era buena porque me había preparado antes, sus requisitos eran más estrictos y requerían un año de experiencia en proyectos. no fue seleccionado.
Más tarde, entrevisté a varias empresas una tras otra y finalmente el arduo trabajo dio sus frutos. Finalmente conseguí una entrevista con una empresa privada en Minhang. La empresa era relativamente pequeña. Mi trabajo era el desarrollo de aplicaciones Linux integradas y la aplicación de productos de seguridad. Creo que soy relativamente afortunado. El gerente valoró mis esfuerzos y decidió contratarme. El salario ofrecido era de 3.500 yuanes al mes. Aunque sabía que con 3.500 yuanes en Shanghai sólo podía llevar una vida de subsistencia, pensé que era suficiente. Al menos no tengo que depender de mis padres para que me apoyen todos los días. También puedo mantenerme a mí mismo. Creo que mientras siga trabajando duro, mi salario definitivamente se duplicará.
Escribo este artículo con la esperanza de dar confianza a amigos que no tienen fundamento como yo. De hecho, no hay necesidad de que nos sintamos inferiores. No somos más estúpidos que los demás. dispuestos a trabajar duro, lo lograremos.
………………………………………… ¿Cuál es la base del desarrollo de sistemas integrados?
Los sistemas integrados se centran en las aplicaciones y se basan en tecnología informática , y el software y el hardware se pueden adaptar, adecuados para sistemas informáticos especiales donde el sistema de aplicación tiene requisitos estrictos en cuanto a función, confiabilidad, costo, volumen y consumo de energía. Generalmente consta de cuatro partes: un microprocesador integrado, dispositivos de hardware periféricos, un sistema operativo integrado y aplicaciones de usuario. Se utiliza para controlar, monitorear o administrar otros dispositivos.
Los sistemas integrados generalmente se refieren a sistemas que no son de PC, que incluyen hardware y software. El hardware incluye procesadores/microprocesadores, dispositivos periféricos y de almacenamiento, puertos de E/S, controladores de gráficos, etc. La parte de software incluye el software del sistema operativo (OS) (que requiere operaciones multitarea y en tiempo real) y la programación de aplicaciones. A veces los diseñadores combinan estos dos tipos de software. Las aplicaciones controlan el funcionamiento y el comportamiento del sistema; el sistema operativo controla la interacción entre la programación de aplicaciones y el hardware.