¿Qué plataformas se utilizan actualmente para el desarrollo de sistemas integrados?
El desarrollo de sistemas integrados comunes se divide en plataformas duras y plataformas blandas. El hardware se puede dividir en CPU integradas, como ARM, MIPS, powerPC, X86, etc. El software generalmente ejecuta sistemas operativos integrados, como Linux, vxwork o QNX, ucosII, etc. También puede ejecutar herramientas de desarrollo sin sistema operativo, incluido keil. , ADS, etc. También hay DSP y FPGA, que también pueden pertenecer a la categoría integrada. Diferentes fabricantes tienen diferentes líneas de productos y las plataformas de desarrollo también tienen diferentes herramientas de desarrollo para diferentes fabricantes. ¿Cuáles son las dificultades en el desarrollo de sistemas integrados? Problemas 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 crear el sistema. Para funcionar correctamente, los desarrolladores de software deben poder observar y controlar completamente el sistema de destino, como varios registros temporales del hardware, espacio de memoria, semáforos del sistema operativo, etc. Los desarrolladores de software deben poder observar y controlar completamente el sistema de destino, como varios registros temporales y espacios de memoria del hardware, así como semáforos, colas de mensajes, tareas y pilas del sistema operativo.
2. Involucra una variedad de CPU y sistemas operativos
Las CPU o procesadores integrados se pueden describir como diversos, incluidos Pentium, MIPS, PPC, ARM, XScale, etc., y sus Las aplicaciones son muy diversas. Es muy utilizado y existen muchos sistemas operativos implementados en él, como VxWorks, Linux, Nuclears, WinCE, etc. Incluso dentro de una empresa se utilizan simultáneamente varios procesadores e incluso varios sistemas operativos integrados. Si necesita depurar varios tipos de placas de circuito al mismo tiempo y cada placa de circuito tiene que realizar múltiples tareas o programas, puede imaginarse 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 de desarrollo de la placa de destino de un usuario, se necesita un simulador de hardware para depurar el sistema de hardware y los controladores básicos. Además, durante la etapa de confusión de la aplicación, se puede utilizar un entorno de desarrollo interactivo para la depuración del software. En la etapa de prueba, se requiere algún software de herramienta de prueba especializado para funcionar y en las pruebas de rendimiento, la etapa de producción requiere procedimientos de curado y pruebas de fábrica, etc. Por lo general, 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 los requisitos de tiempo de desarrollo también son ajustados, especialmente para los productos de consumo, si existe un conjunto de poderosas herramientas de desarrollo integradas de software integrado, sería ideal. Satisfacer las necesidades de todas las etapas del desarrollo de software integrado, ser fácil de usar y tener una interfaz amigable.
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 existen herramientas de desarrollo que se puedan ejecutar en ellos. Por lo tanto, cuando se desarrollan sistemas integrados, generalmente se requiere 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 de un sistema básico (que incluye CPU y almacenamiento) más módulos de circuito de interfaz periféricos. El sistema básico proporciona un entorno de ejecución y eliminación de errores mínimos para el núcleo del sistema operativo. Los módulos de interfaz periféricos incluyen varios circuitos de interfaz de hardware que se utilizan ampliamente en la actualidad, como módulos LCD, módulos de pantalla táctil, módulos de tarjeta CF, módulos USB y Ethernet. Los módulos, módulos de tarjeta IC, etc., 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, una interfaz Ethernet de 10M, etc. El EZ328 es un microcontrolador integrado de 32 bits ampliamente utilizado. EZ328 es un microprocesador integrado de 32 bits ampliamente utilizado que integra una gran cantidad de módulos y potentes kits de expansión. EZ328 cancela la unidad de administración de memoria (MMU), lo que reduce el costo del hardware y el consumo de energía de implementación, y EZ328 admite modos de inicio que facilitan en gran medida la depuración del sistema. . En nuestra placa de desarrollo, después de configurar el pin EMUBRK del EZ328 en nivel bajo y realizar un reinicio del sistema, el EZ328 ingresará al modo de inicio y su cargador incorporado comenzará a ejecutarse para inicializar el controlador UART integrado en el chip y prepararse para recibir datos. Esto permite a los desarrolladores inicializar la placa escribiendo registros en el controlador UART y luego descargar el programa en la RAM y FLASH de la placa para depurarlo. Al mismo tiempo, la CPU de la plataforma de hardware se puede actualizar fácilmente a VZ328 (con frecuencia de 33MHz, un sucesor del EZ328). Además, el software desarrollado en la plataforma de hardware EZ328 se puede utilizar en los microprocesadores de las series VZ328 y ColdFire con pocas modificaciones, lo que proporciona una amplia aplicabilidad. Los microprocesadores ColdFire se utilizan principalmente en equipos de Internet, tecnología de telefonía LAN, control de redes de gama baja, control industrial, vídeo y almacenamiento. Los microprocesadores ColdFire también se utilizan en las series de microprocesadores VZ328 y ColdFire.
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ácilmente personalizable y altamente portátil.
El núcleo del sistema Linux integrado implementado por la plataforma suave se trasplanta sobre la base del sistema mCLinux. Es un sistema operativo Linux específicamente para CPU sin MMU y ha realizado muchos trabajos de miniaturización específicamente para sistemas integrados. Ha sido ampliamente utilizado y los nuevos dispositivos de red Bluetooth también utilizan el sistema operativo mClinux. mCLinux es un Linux integrado altamente optimizado y optimizado, pero aún conserva la mayoría de las ventajas de Linux. Aunque mCLinux es un Linux integrado altamente optimizado y optimizado, aún conserva la mayoría de las ventajas de Linux. estabilidad, buena portabilidad, excelentes capacidades de red, soporte completo para varios sistemas de archivos y API estándar. El tamaño del kernel de mCLinux es de aproximadamente 400 KB, proporciona una API de Linux común y una pila completa de protocolos TCP/IP, y admite sistemas de archivos NFS, ext2, ROMfs y JFFS.
La interfaz gráfica de usuario está basada en MicroWindows y admite la localización en chino, incluida la compatibilidad con conjuntos de caracteres como GB2312 y métodos de entrada en chino. Sobre esta base, también se desarrolló un paquete de software de gráficos GUI integrado basado en FLTK, que proporciona funciones gráficas más completas, como soporte para múltiples elementos de control GUI como menús, botones, barras de desplazamiento, etc.
La GUI se basa en la última versión de FLTK, que fue desarrollada para su uso en sistemas Windows Vista.
Utilizando este paquete de software de gráficos, desarrollamos un navegador web chino integrado que tiene solo 1 MB de tamaño y está integrado con el software de entrada de escritura a mano en chino de Tsinghua Wentong.
La herramienta de depuración y compilación cruzada utiliza el kit de herramientas de desarrollo general de Linux GNU Development Kit, que incluye una serie de herramientas de desarrollo y depuración. Los componentes principales son:
● Compilador G, que se puede utilizar en forma de compilación cruzada, es decir, desarrollar y compilar archivos binarios ejecutables en la placa de destino de la computadora host.
● Binutils: herramientas auxiliares, incluido objdump (archivos binarios descompilables), as (compilador ensamblador), ld (enlazador), etc.
● Gdb: un programa de detección de errores que se puede utilizar con una variedad de métodos de depuración cruzada, incluida la depuración mediante puertos serie y Ethernet.
Entorno de desarrollo
El kit de desarrollo GNU para esta plataforma de desarrollo de sistemas integrados se ejecuta en el sistema operativo Linux de escritorio. Los desarrolladores primero usan G y Gdb para compilar y depurar el cargador de arranque; luego conectan la placa host y la placa de destino a través del puerto serie para poner el EZ328 en modo de arranque, y luego usan un programa perl simple para usar el cargador de arranque depurado como monitoreo. Descarga del programa a la RAM de la placa de destino. Al mismo tiempo, el host inicia el mini y se comunica con él a través del puerto serie para descargar y depurar el kernel y el controlador de Linux una vez que se ejecuta el kernel de Linux en la placa de destino, se inicializa la interfaz Ethernet y el host y el destino; La placa están conectadas 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 el programa sin descargarlo. Si el kernel de Linux inicia el servicio de inicio de sesión remoto, los desarrolladores pueden hacerlo; También inicie sesión en el tablero de destino para depurar la aplicación.
Programarás y diseñarás sistemas embebidos en un entorno de sistema operativo Linux. Puedes instalar un sistema Linux, comúnmente conocido como Ubuntu, Red Hat, Debian, etc., en tu computadora. Personalmente, creo que es fácil empezar con Ubuntu. ¿Cómo empezar con el desarrollo de sistemas integrados? ¿Pueden los expertos trabajar en el desarrollo de sistemas integrados?
¡No hay problema para los expertos!
¡No hay problema para los expertos! Mi especialización es el desarrollo de sistemas integrados.
Si no sabes cómo hacerlo, ¡deberías aprenderlo!
El desarrollo de sistemas integrados requiere muchos conocimientos básicos, pero depende de su dirección, ya sea duro o blando, como desarrollo a nivel de placa, diseño duro del sistema... Los blandos como Linux, hacer una mueca... Sin embargo, se recomienda buscar un libro sobre sistemas operativos de computadora, ¡será de gran ayuda! Además, con una buena placa de desarrollo obtendrás el doble de resultado con la mitad de esfuerzo. ¡Creo que puedes encontrar una buena placa de desarrollo!
La diferencia entre desarrollo de sistemas integrados y desarrollo de software. ¿Cómo aprender a desarrollar sistemas integrados?
Debe comprender qué es el desarrollo de software integrado. De hecho, sigue siendo desarrollo de software, pero se basa en el desarrollo de software de sistema integrado, por lo que se llama desarrollo de software integrado. Aprendalo, es necesario leer más noticias e información de la industria. Su cuenta pública de WeChat: Información integrada Entorno de desarrollo de sistemas integrados seleccionado
Linux de uso común, el entorno de desarrollo de sistemas integrados más utilizado es Linux, uClinux. WinCE, PalmOS, Symbian, eCos, uCOS-II, VxWorks, pSOS, Nucleus, ThreadX, Rtems, QNX, INTEGRITY, OSE, C Executive
Sentimientos personales sobre Linux, uClinux, WinCE, uCOS- Hay Más II, pero la mayor proporción debería ser Linux. ¿Cuál 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 distintos de los ordenadores. Los objetos de desarrollo incluyen teléfonos móviles, PDA, sistemas electromecánicos, etc.
El desarrollo de sistemas integrados es el desarrollo de sistemas para todos los dispositivos electrónicos distintos de los ordenadores.
Los sistemas integrados son sistemas que se utilizan para controlar o monitorear equipos de gran tamaño, como máquinas, equipos y fábricas. La definición generalmente aceptada de sistemas integrados en China es: centrado en aplicaciones, basado en tecnología informática, y tanto el software como el hardware pueden personalizarse para cumplir con los estrictos requisitos de los sistemas de aplicaciones en cuanto a funciones, confiabilidad, costo, volumen, consumo de energía, etc. sistema informático.
El núcleo de un sistema embebido está formado por uno o más microprocesadores o microcontroladores preprogramados diseñados para realizar una serie de 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 e inmutable y, por lo tanto, a menudo se lo denomina "firmware". Desarrollo de sistemas integrados y desarrollo de software
El desarrollo integrado es el desarrollo de sistemas operativos integrados que se utilizan comúnmente como WinCE, Linux, Android, etc. Además, el desarrollo utilizando C, C o lenguaje ensamblador; utilizando procesadores avanzados, arm7, arm9, arm11, powerpc, mips, mipsel, etc., o acoplado con el sistema operativo también es 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.
Primero, permítanme presentarme. En 2007, fui a una universidad privada muy pobre, donde me especialicé en biología. No nombraré la escuela específica porque es difícil de entender. Dejé la escuela en 2009. Estaba en una escuela donde la matrícula anual era de más de 10.000, pero nadie estudiaba. Realmente no veía ninguna esperanza, así que la abandoné.
Después de abandonar la escuela, estaba muy confundida. No me había graduado de la universidad. Realmente no sabía qué podía hacer. Entonces, después de abandonar la escuela por un tiempo, quise encontrar un trabajo, porque era callado y no hablaba bien, por lo que no era apto para postularme a trabajos comerciales. Quiero postularme para un trabajo técnico, pero me encuentro con obstáculos.
Por casualidad, escuché sobre la industria integrada. Ese día, vine a una librería Xinhua y quería encontrar un libro de informática para estudiar. En ese momento, una chica se acercó y me preguntó si estaba mirando computadoras y si estaba interesado en aprender integrado. Luego me presentó la popularidad actual de lo integrado, me dijo lo prometedor que era aprender integrado y me lo dio. a Un folleto es un anuncio de formación integrada. Después de escuchar su introducción, sentí una picazón en el corazón. Tenía muchas ganas de aprender una técnica 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 bien las habilidades integradas. Entonces fui a buscar información relevante sobre el entrenamiento integrado. Para ser honesto, también estaba muy confundido. No sabía si el efecto del entrenamiento era realmente tan bueno como lo anunciaban, así que quería aprender sobre esto por un tiempo. hacer planes.
Más tarde, vi un artículo muy inspirador sobre Baidu Zhizhi. Era un experto integrado que presentó cómo los amigos sin base pueden comenzar a aprender integrado, incluido cómo aprender. . Un método que mencionó es mirar videos, porque leer libros es demasiado aburrido y tortuoso y muchos de nosotros no podemos entenderlo. Estoy totalmente de acuerdo con esto. Cuando leo un libro, normalmente no leo más que unas pocas páginas.
Estaba pensando, ¿por qué otros pueden ser tan autodidactas, pero cómo puedo ser yo igual? Tengo que creer en mí mismo, así que tengo que aprender por mi cuenta. Si realmente no puedo aprenderlo, volveré a capacitarme.
La idea principal es buscar videos incrustados. Aunque encontré algunos videos incrustados esporádicamente, no son sistemáticos. Quiero encontrar un video que me diga cómo aprender. dominio y comparación de materiales. Es mejor tener un maestro que te enseñe. Si no entiendes, puedes pedir consejo.
Más tarde encontré un video muy bueno, que es el video "Clase de empleo integrado de base cero" lanzado en el sitio web de IT Learning Alliance (si le gusta "Clase de empleo integrado de base cero", puede copiar sina. lt/qKh Pégalo en la barra de direcciones del navegador y presiona Enter para abrirlo). Los tutoriales que contiene son bastante buenos y lo suficientemente completos como para aprender desde lo básico. El vídeo es más barato.
El siguiente es mi proceso de aprendizaje, espero que pueda ser de ayuda para personas como yo que no tienen ningún fundamento.
Después de recibir el CD de ellos, comencé a aprender. Como no tenía ninguna base, comencé con los videos tutoriales más simples en lenguaje C. Dijeron que eran fáciles, pero en realidad todavía no podía. No entendí a muchos de ellos. Sí, tuve que preguntarles. Todavía estaban muy entusiasmados y me ayudaron a resolver el problema. He estado aprendiendo el lenguaje C durante casi una semana y luego aprendí los comandos básicos de Linux. Tengo que aprender los comandos básicos de Linux. Tengo que aprender Linux. Tengo que aprender los comandos básicos de Linux. Tengo que aprender los comandos básicos de Linux. aprender los comandos básicos de Linux. Tengo que aprender los comandos básicos de Linux. Tengo que aprender los comandos básicos de Linux. Aprendí los comandos básicos de Linux, practiqué en la máquina virtual Linux que me proporcionaron, escribí los comandos básicos de Linux y escribí código de programa C simple, lo que me llevó aproximadamente tres semanas. Insistí en escribir código simple todos los días. Después de un mes, básicamente dominé las operaciones básicas de C y Linux.
A continuación, fui a estudiar los videotutoriales de formación de otras personas. Era un conjunto completo y no era muy diferente de la formación en la que participé. Duró dos meses y aprendí los principios básicos. ARM y integrado También domino el concepto de sistemas integrados, domino parte de la construcción de entornos integrados y tengo una comprensión más profunda de Linux. Entiendo cómo hacer aplicaciones integradas, pero solo tengo un poco de conocimiento del controlador y no. saber cómo hacerlo. Sólo sé un poco de conducción, pero es más difícil en el futuro.
En los últimos dos meses, además de comer y dormir, he estado estudiando casi todo el tiempo. Como apenas entiendo los conceptos básicos y soy peor que los demás, solo puedo seguir trabajando duro y no puedo rendirme. Debo aprender bien esta tecnología y luego resumir y anotar los problemas que tengo. No entiendo, tan lentamente Después de acumular por un tiempo, descubrí que realmente estaba comenzando.
En el último mes fui a ver la parte práctica y aprendí sobre el proceso de desarrollo específico de proyectos embebidos y qué tipo de conocimientos se necesitaban para preparar estos conocimientos, es decir, aprender sobre. Videos sobre este aspecto y, al mismo tiempo, me sugirieron que buscara algunas preguntas de entrevista integradas para prepararme para futuras búsquedas de empleo. Me conecté a Internet para encontrar muchas preguntas integradas y escribí mis conocimientos. Me tomó unos 20 días prepararme.
Siento que casi estoy comenzando y puedo hacer algunas cosas simples. Quería encontrar un trabajo, así que fui a 51job y envié mi currículum como loco. Debido a mi formación académica, no me gradué de la universidad. Para ser honesto, nadie en las grandes empresas me querría, así que presenté mi solicitud. para pequeñas empresas privadas. Espero poder. Los esfuerzos se ven recompensados. Inesperadamente, hubo una entrevista a los pocos días, pero fallé en la primera entrevista. Aunque pensé que la prueba escrita era muy buena porque me había preparado antes, sus requisitos eran más estrictos y requerían un año de experiencia en proyectos, así que perdí.
Más tarde fui a varias empresas para realizar entrevistas y finalmente conseguí lo que quería. La última persona que me entrevistó fue una empresa privada en Minhang. La empresa era relativamente pequeña. Mi puesto era el desarrollo de aplicaciones Linux integradas y aplicaciones de productos de seguridad. Creo que también 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 solo podía llevar una vida de subsistencia, sentí que era suficiente. . Al menos no tengo que depender de mis padres todos los días y puedo mantenerme. Creo que mientras siga trabajando duro, mi salario definitivamente se duplicará.
Escribo este artículo con la esperanza de dar algo de confianza a aquellos amigos que no tienen una base como la mía. De hecho, no tenemos por qué sentirnos inferiores. Mientras trabajemos duro, lo lograremos.
................................. ................. Insertar ¿Cuál es la base para el desarrollo de sistemas integrados?
Los sistemas integrados están centrados en las aplicaciones y se basan en tecnología informática. El software y el hardware pueden personalizarse y son adecuados para la función, la confiabilidad, el costo y el volumen del sistema de aplicación. , Sistemas informáticos especiales con estrictos requisitos de consumo de energía. Generalmente consta de cuatro partes: un microprocesador integrado, dispositivos de hardware periféricos, un sistema operativo integrado y un programa de aplicación de usuario, y se utiliza para realizar las funciones de controlar, monitorear o administrar otros dispositivos.
Los sistemas integrados generalmente se refieren a sistemas que no son de PC, incluidos hardware y software. El hardware incluye procesador/microprocesador, almacenamiento y periféricos, así como puertos de E/S, controlador de gráficos, etc. La parte de software incluye el software del sistema operativo (OS) (que requiere operación multiplexada y en tiempo real) y el diseño de la aplicación. A veces los diseñadores combinan estos dos tipos de software. Las aplicaciones controlan el funcionamiento y el comportamiento del sistema, mientras que el sistema operativo controla la interacción del diseño de la aplicación con el hardware.