Red de conocimiento informático - Conocimiento informático - ¿Cuál es el proceso principal de manejo de interrupciones en sistemas integrados?

¿Cuál es el proceso principal de manejo de interrupciones en sistemas integrados?

El procesamiento de interrupciones integrado requiere diferentes métodos de procesamiento según los diferentes procesadores, pero los principios son los mismos. Permítanme darles un ejemplo. El procesador más utilizado ahora es ARM. Su proceso de procesamiento de interrupciones es el siguiente:

Cuando ocurre una excepción, el microprocesador ARM realizará los siguientes pasos: (Estos son automáticos). procesado cuando ocurre una interrupción)

1. Almacene la dirección de la siguiente instrucción en el registro de conexión correspondiente LR, para que el programa pueda reiniciar la ejecución desde la posición correcta al procesar un retorno de excepción. Si la excepción se ingresa desde el estado ARM, el registro LR almacena la dirección de la siguiente instrucción (PC+4 o PC+8 actual, según el tipo de excepción si la excepción se ingresa desde el estado Thumb, el LR); El registro almacena el desplazamiento actual de la PC para que el controlador de excepciones no necesite determinar el estado desde el cual se ingresó la excepción. Por ejemplo: en la excepción de interrupción de software SWI, la instrucción MOV PC, R14_svc siempre regresa a la siguiente instrucción, independientemente de si SWI se ejecuta en el estado ARM o Thumb.

2. Copiar el CPSR al SPSR correspondiente.

3. Según el tipo de excepción, el bit de modo de funcionamiento de CPSR se establece a la fuerza.

4. Obligue a la PC a buscar una instrucción de la dirección del vector de excepción relevante y ejecutarla, saltando así al controlador de excepciones correspondiente.

También puedes configurar el bit de desactivación de interrupciones para desactivar las interrupciones.

Si el procesador está en estado Thumb cuando ocurre una excepción, el procesador cambia automáticamente al estado ARM cuando la dirección del vector de excepción se carga en la PC.

Regresar de una excepción

Después de manejar la excepción, el microprocesador ARM realizará los siguientes pasos para regresar de la excepción:

1. Restar el desplazamiento correspondiente del valor del registro de conexión LR y enviarlo al ORDENADOR PERSONAL.

2. Copie el SPSR nuevamente al CPSR.

3. Si el bit de desactivación de interrupción está configurado al ingresar al procesamiento de excepciones, debe borrarse aquí.

Se puede considerar que la aplicación siempre inicia la ejecución desde el controlador de excepciones de reinicio, por lo que no es necesario que regrese el controlador de excepciones de reinicio.

Estos son conocimientos básicos incorporados, sólo necesitas consolidarlos más.

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. Presentó sus métodos de aprendizaje y el proceso de aprendizaje. , espero que te sea de ayuda.

El viaje desde estar integrado en una universidad hasta encontrar un trabajo

Permítanme presentarme primero. En 2007, me admitieron en una universidad privada muy mala, con especialización en biología. Mayor, no revelaré el nombre específico de la escuela. 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 en Baidu "Cómo aprender integrado" que me inspiró. Era un artículo escrito por un maestro integrado que presentaba cómo los amigos sin base pueden aprender integrados por sí mismos. Cubre cómo estudiar y cómo estudiar. Mencionó que una forma es ver videos, porque leer libros es demasiado aburrido y confuso, y muchos de nosotros 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.

La idea estaba determinada, 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. de videos de Un video desde principiante hasta competente, 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 vídeo muy bueno, "Learning Embedded from Zero Basics", lanzado en Embedded Learning Network, URL: http://www.BRIDALRINGSET.info Los tutoriales en /embedvideo.htm son bastante buenos. y completo, permitiéndome aprender desde lo básico. Los videos no son baratos, pero puedo soportarlo. Después de todo, comprar varios libros cuesta varios cientos, sin mencionar que también brindan consultas y servicios técnicos durante medio año, así que vale la pena.

A continuación presentaré 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, que fueron aproximadamente tres adoraciones. Seguí escribiendo algunos códigos simples todos los días, de modo que después de un mes básicamente dominaba las operaciones básicas de C y Linux.

A continuación, fui a estudiar 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 un conocimiento más profundo de Linux y de 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 confiar en mí mismo para mantenerme. Al mismo tiempo, debo aprender bien esta tecnología. , si no entiendo, simplemente pregunte. Muchas gracias. Su servicio técnico al cliente respondió pacientemente a cualquiera de mis preguntas. Casi les hice varias preguntas todos los días, y luego resumí y anoté las preguntas que no entendí. Esto se acumuló gradualmente durante un período de tiempo y descubrí que realmente está 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.

Finalmente, deseo que todos los amigos que quieran aprender sobre integración comiencen antes.