-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
f65d351
commit 44d8ea0
Showing
3 changed files
with
58 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
--- | ||
title: Presentación de tesis | ||
featured: true | ||
draft: false | ||
comment: true | ||
toc: true | ||
reward: true | ||
pinned: false | ||
carousel: false | ||
categories: | ||
- C++ programming | ||
series: | ||
- Thesis | ||
tags: | ||
- C++ | ||
- Computer science | ||
- LLVM | ||
--- | ||
|
||
Recientemente he arrancado mi carrera de posgrado, /Carrera de Especialización en Sistemas Embebidos/ o ([[https://lse.posgrados.fi.uba.ar/posgrados/especializaciones/sistemas-embebidos][CESE]] para acortar). Para el segundo bimestre tocó seleccionar un tema de tesis, el cual está titulado como "Emulador de microprocesador Leon3 para desarrollo de Software satelital y simuladores". | ||
|
||
Para productos de ámbitos espaciales, tales como satélites, muchas veces es difícil, y en ocasiones imposible, representar escenarios realistas para pruebas de los elementos que lo componen. Ya sea por no poder generar las mismas condiciones ambientales, o por que la naturaleza de la maniobra que se busca replicar implicaría un daño a los equipos bajo revisión. Bajo este contexto, es común replicar susodichos elementos de manera programada, es decir, desarrollar los elementos con cierto grado de representación para que se comporten de la manera más representativa posible a su contraparte física. Dichos elementos se los llaman emulados o simulados. Uno de los componentes que se suele tener mayor interés en simular es el procesador de la computadora a bordo, el cúal se monta sobre el satélite real y ejecuta el software de vuelo. | ||
|
||
Cabe destacar, que hoy en día existen emuladores tanto open-source como privativos para distintos procesadores. Un ejemplo claro de emulador open-source es Qemu, el cual abarca un amplio abanico de microprocesadores, entre ellos, algunos que se pueden utilizar en el ámbito espacial. | ||
|
||
Cada caso de emulador, aunque solucionan el problema en cuestión, viene con sus respectivas desventajas. Por ejemplo, los emuladores open-source suelen divergir para ampliar el rango de procesadores soportados, generalmente disminuyendo su performance. Por otro lado, los emuladores privativos al no tener acceso al código muchas veces se vuelven difíciles de integrar, ya que no se tiene un conocimiento exacto sobre las limitaciones del mismo, y en general, difíciles de depurar el software que ejecutan. | ||
|
||
Bajo estas premisas se plantea crear un emulador de microprocesador [[https://www.esa.int/Enabling_Support/Space_Engineering_Technology/Onboard_Computers_and_Data_Handling/Microprocessors][Leon3]] para desarrollo de software satelital y simuladores. Al ser un desarrollo a medida, se tendrá la ventaja de la no-diversificación del procesador, es decir, estará únicamente orientado a un solo microprocesador. Esperando una ganancia en performance comparado con su contraparte open-source. Al mismo tiempo, se tendrá un conocimiento extenso del alcance y limitaciones de las capacidades del software en cuestión. Haciendo de esta manera, más simple la integración y depuración en su uso. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
--- | ||
title: Thesis presentation | ||
featured: true | ||
draft: false | ||
comment: true | ||
toc: true | ||
reward: true | ||
pinned: false | ||
carousel: false | ||
categories: | ||
- C++ programming | ||
series: | ||
- Thesis | ||
tags: | ||
- C++ | ||
- Computer science | ||
- LLVM | ||
--- | ||
|
||
Recently, I have started my postgraduate studies in the "Specialization in Embedded Systems" program, abbreviated as [[https://lse.posgrados.fi.uba.ar/posgrados/especializaciones/sistemas-embebidos][CESE]]. For the second semester, I had to select a thesis topic, which is titled "Emulator of Leon3 Microprocessor for Satellite Software Development and Simulators." | ||
|
||
In the realm of space products, such as satellites, it is often difficult, and at times impossible, to recreate realistic scenarios for testing the components that constitute them. This could be due to the inability to replicate the same environmental conditions, or because attempting to replicate the intended maneuver could potentially damage the equipment under review. In such contexts, it is common to simulate these elements programmatically—that is, to develop elements with a certain degree of representation so that they behave as realistically as possible compared to their physical counterparts. These simulated elements are often referred to as emulated or simulated. One of the components that is of significant interest to simulate is the onboard computer processor, which is mounted on the actual satellite and runs the flight software. | ||
|
||
It's worth noting that there are both open-source and proprietary emulators available for various processors today. An evident example of an open-source emulator is Qemu, which covers a wide range of microprocessors, including some that can be used in the space domain. | ||
|
||
While each emulator addresses the problem at hand, they come with their respective drawbacks. For instance, open-source emulators tend to diverge in order to broaden the range of supported processors, which often results in decreased performance. On the other hand, proprietary emulators, due to their lack of access to the source code, can be challenging to integrate as there is limited knowledge about their limitations, and debugging the software they execute can be difficult. | ||
|
||
With these premises in mind, the idea is to develop an emulator for the [[https://www.esa.int/Enabling_Support/Space_Engineering_Technology/Onboard_Computers_and_Data_Handling/Microprocessors][Leon3 microprocessor]] specifically designed for satellite software development and simulators. Since this is a custom development, there will be an advantage in terms of processor specialization, focusing solely on a single microprocessor. This is expected to result in improved performance compared to open-source alternatives. Additionally, there will be an extensive understanding of the scope and limitations of the software's capabilities. This, in turn, will simplify the integration and debugging processes in its usage. |