Forum: Offtopic Anforderungen an Hardwarenahen-Softwareentwickler


von Karl Petersen (Gast)


Lesenswert?

Hallo

Ich befinde mich gerade in der Weiterbildung zum Staatl. gepr.
Elektrotechniker und möchte mich auf Jobs in der
Hardwarenahen-Softwareentwicklung bewerben. Kentnisse in Assembler auf
8086 und 8051 bekommt man in der Weiterbildung mit.
Nehmen wir mal an, ich werde als Einsteiger in dem Gebiet eingestellt:
Welche Kentnisse sollte ich neben Assembler noch mit bringen? Wie kann
man die Arbeit eines Hardwarenahen Softwareentwicklers beschreiben? Ich
kann mir da leider kein genaues Bild von machen, da in Anzeigen stets
nur die Anforderungen beschrieben sind.
Über eine Nachricht würde ich mich sehr freuen.

Gruß

Karl

von Matthias (Gast)


Lesenswert?

Hi

die Kenntnis einer Architektur ist eigentlich nicht nötig. Passt eh
äußerst selten. C ist jedoch meist Grundvoraussetzung. Je nach Firma
und Arbeitsgebiet auch C++.

Matthias

von Rufus T. Firefly (Gast)


Lesenswert?

Naja, hardwarenah impliziert, daß man weiß, was Hardware ist und wie
diese funktioniert.
Einfach nur C programmieren können genügt dafür nicht; das Konzept von
I/O-Zugriffen (je nach Architektur "memory mapped" oder über
spezielle Prozessorbefehle), Interrupts, DMA-Steuerung sollte man auch
auf der Hardwareebene verstehen können.
Ebenso sollte man Datenblätter lesen und Timingdiagramme verstehen
können und sich mit Ausführungszeiten von Programmen und
Programmabschnitten beschäftigen können.
Ein gewisses Gespür, was realistisch mit welcher Hardwaretechnik
erreichbar ist, ist auch hilfreich (wer beispielsweise auf die Idee
kommt, mit einer ISA-PC-Karte byteweise Daten zu übertragen, für jedes
empfangene Byte einen Interrupt auslöst und eine Datenrate von 1
MByte/sec erzielen möchte, hat da gewisse Defizite).

Hilfreich ist es auch, sich mit den grundlegenden Konzepten von
Betriebssystemen auszukennen; hardwarenahe Programmierung unterliegt
ganz massiven Einschränkungen, wenn ein Betriebssystem ins Spiel kommt.
Devicetreiberprogrammierung sollte man nicht nur als Wort hinschreiben
können ...

von Matthias (Gast)


Lesenswert?

Hi

das ist alles Speziallwissen das man sich als Berufseinsteiger nach und
nach erarbeiten muß. "Das Gespühr" für etwas kommt auch nur mit der
Erfahrung.

Hardwarenah ist eben ein großes Gebiet. Das geht von PIC10 mit wenigen
Byte ROM bis hin zu richtig großen Systemen vom Typ eines Itanium2 wo
man als hardwarenahe Software dann irgendwelche Kernalgorithmen in
hochoptimierten Assembler hackt.

Als Berfufseinsteiger wird man eh ins kalte Wasser geworfen. Man sollte
nur sein Handwerkszeug (spriche eine Programmiersprache, in diesem
Bereich wohl wirklich C bzw. C++) beherschen. Alles andere kommt mit
der Zeit.

Matthias

von Hubert (Gast)


Lesenswert?

Wenn Du alles das kannst was Rufus T. Firefly kann, dann bist Du der
gesuchte Experte auf allen Gebieten.

von Christof Krüger (Gast)


Lesenswert?

Wenn du keine sachlichen Beiträge leisten kannst, tue uns bitte einen
großen Gefallen und lasse es einfach.

Danke.

von Camaeleon (Gast)


Lesenswert?

Im Bereich der hardwarenahen Programmierung gehören neben Assembler, C
und uC-Grundlagen Kenntnisse einer Hardwarebeschreibungssprache
(Verilog/VHDL) genauso dazu. Mal ein CPLD mit Kombinatorik und
Statemachines füttern ist Standardrepertoire. Mit uCs geht zwar viel,
aber auch nicht alles :)

von Karl Petersen (Gast)


Lesenswert?

Ist es also richtig, wenn ich sage, das ein Hardwarenaher
Softwareentwickler sowohl Kenntnisse in Assembler & C sowie Kenntnisse
der zu steuernden (?) Hardware haben sollte? Wie kann man das genauer
beschreiben? Vieles sind doch Fachausdrücke mit denen ich nichts
anfangen kann, z.B. Verilog/VHDL.

Gruß, und vielen Dank für die zahlreichen Antworten.

von T.Stütz (Gast)


Lesenswert?

Ich (persönlich) finde folgende Dinge auch sehr wichtig als
hardwarenaher Programmierer:

- mit einem Oszi/Meßgerät umgehen können
- einen Schaltplan/atenblatt lesen (und besorgen) können
- wissen wie die Pin's bei einem IC gezählt werden
- einen Debugger/Simulator bedienen können

Gruss

von Rufus T. Firefly (Gast)


Lesenswert?

@Karl P.: Verilog/VHDL sind nicht zwingend erforderlich, das geht dann
schon etwas arg in Richtung Hardwareentwicklung; beides sind
"Programmiersprachen" für programmierbare Logikbausteine.
Sicher, das könnte man auch als "hardwarenahe Programmierung"
bezeichnen, ich fände das dann aber etwas unpassend.

@T.Stütz: O ja, Du hast mehr als recht. Das vergaß ich glatt. Messen
können. Und wissen, warum. Verdammt wichtig.
Dein dritter Punkt entzückt.

von Gerd Schuler (Gast)


Lesenswert?

Sehr geehrte Damen und Herren,

wir gehören zu den etablierten Personalberatungen für die
Elektronik-Branche und suchen aktuell Hardwarentwickler für den Bereich
Wechselrichter und DSP mit Erfahrungen auf C, Assembler, Digitale und
analoge Schaltungstechnik, Messtechnik...

Detaillierte Stellenbeschreibungen finden Sie auf unserer Homepage.

www.personalmarketing-schuler.de

A&N-Personalmarketing Dipl.-Kfm. G. Schuler
Dorfwiesenstraße 50
75417 Mühlacker
Tel.: 07041/860519

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.