Infotronik

HSLU - HS17 Systemstrukturierung und Programmierung von Embedded Systems

HSLU - HS17 Systemstrukturierung und Programmierung von Embedded Systems


Fichier Détails

Cartes-fiches 185
Langue Deutsch
Catégorie Electronique
Niveau Université
Crée / Actualisé 08.10.2017 / 06.12.2018
Lien de web
https://card2brain.ch/box/20171008_infotronik
Intégrer
<iframe src="https://card2brain.ch/box/20171008_infotronik/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Explain what master, branch and merging is and how these things relate.

  • Master ist das Hauptprojekt
  • Durch einen Branch kann einen Split zum Master Projekt erstellt werden, ohne dass dieses geändert wird
  • Soll der "gebranchte" Teil mit dem Master verschmolzen werden, kann dafür das merging angewendet werden

You have to implement in the RTOS a semaphore/mutex protocol: List one disadvantage of priority ceiling vs. priority inheritance protocol:

  • Needs more space for data structure/information
  • requires more computation time

List two different FreeRTOS memory schemes out of five:

  • Alloc only
  • no merge
  • malloc/free wrapper
  • merge blocks
  • multiple blocks

For the bss, the following applies:

The nRF24L01+ uses the following frequency to send and receive data over the air:

What means pessimistic if we speak of Version Control Systems?

Das VCS geht davon aus, dass es Konflikte geben wird. So sichert das System die Datei vor Konflikten, indem nur der Benutzer an der Datei arbeiten darf durch Sperren. Wenn mit der Bearbeitung der Datei fertig, muss die Sperre wieder aufgehoben werden, ansonsten kann niemand die Datei weiterbearbeiten.

Why shouldn't you put object files on a VCS?

An object file is a binary data. The code is identically, but the debug path and time stamps are not the same, so it would generate a conflict.

What could be the problem, if you can build and debug your project, but the program does not generate any code?

  • There could be a conflict in your ProcessorExpert.pe file.
  • To solve the problem, you can go back to the last working version of the project.

What could be the problem, if you can't create your project in a folder outside the workspace?

The folder is not empty.

What is the problem when the VCS returns you a conflict message?

Ich und der andere User haben die geiche Code-Zeile geändert

What kind of system is used for human interactions?

Interactive system

What are the 4 criteria for a realtime system?

  • correct result
  • at the correct time
  • independent of the system load
  • in a deterministic and foreseeable way

List a good example of a hard realtime system:

Airbag, ESP, Herzschrittmacher

List 2 good reasons for using Processor Expert:

  • Faster development (saving time)
  • provides low level drivers

What is the file extension of Processor Expert files?

.pe

How did we organize the INTRO Eclipse project?

What do you have to consider when adding a new relative or absolute linked folder with header files to your project?

Why do we use a common folder in the INTRO project?

How should you not identify your board in your project (for driver mapping)?

List pros and cons of using macros for inlining:

  • Vorteile: smaller and faster code
  • Nachteile: complicated interface, encapsulation not always possible, debugging can be a challenge

In essence, what does the Preprocessor with the source code?

textual replacement

What has to be considered when writing header files which are to be included?

  • use #ifdef . . . #define . . . #endif
  • avoid name conflicts, include only what is needed and not more

Why should you use 'void' if a function has no parameters?

  • Damit klar deklariert ist, dass keine Parameter übergeben werden müssen
  • Wenn nur () "leere Klammern" kann ist nicht genau klar ob oder ohne Parameter Übergabe

Is it possible for an interrupt with priority 3.99 to interrupt one with priority 3.1? Why?

No, a higher subpriority does not interrupt.

 

What is the meaning of an 3.5.7 priority on ARM Cortex-M4?

this does not exist (only level 1 subpriorities)

What are design rules for code inside critical sections?

As fast and small as possible, e.g. do not call other functions.

What does it mean if something is reentrant?

A function is reentrant if, while it is being executed, it can be re-invoked by itself, or by any other routine, by interrupting the present execution for a while.

What means 'PLL' in a microcontroller and what is its job?

Phase-Locked Loop, frequency multiplication Question

What two different types of clock sources are available for the system clock?

  • Internal Clock
  • External Crystal/Oscillator

What is the advantage of the function state Machine?

No global variable needed

Which state machine is the simplest to implement from a table?

Mealy Sequential Machine

How we can realize many different timer in our project with just one time base?

With counter variable

Which ARM controllers can have sub-priorities for the interrupts?

M3/M4/M7

What is the purpose of register 14 of the ARM CPU registers?

Link Register, contains the function return address

List two possible causes for a hard fault:

  • writing to read only memory
  • calling a function pointer with an even function address

List different possibilities to implement the data structure for Events:

As an array or linked list

Describe two different approaches to implement push button (key) handling:

  • Polling/Gadfly
  • Interrupts

On the Remote we had to use interrupt sharing for handling the push buttons. Describe what 'interrupt sharing' means:

Mehrere Drucktasten erzeugen nur einen Interrupt (mehrere Pins teilen sich einen Interrupt).

What does 'RTT' stand for?

Real-Time Transfer

Sending text to the console with the Shell SendStr() function, which parameters are needed?

pointer to the string to send plus the standard I/O channel to be used.