


Was müssen Sie lernen, um STM32 zu lernen, bevor es empfohlen wird, Linux zu lernen?
Heute teile ich eine beliebte eingebettete Frage auf Zhihu: Was müssen Sie lernen, um STM32 zu lernen, bevor es empfohlen wird, Linux zu lernen?

Eine sehr gute Antwort:
“
Autor: snowdream
Link: https://www.zhihu.com/question/357775329/answer/2338874463
“
Als erfahrener Programmierer in der Entwicklung eingebetteter Software hat der Befragte auch den Technologie-Stack-Transformationsprozess von der STM32-Entwicklung zur Soc+Linux-Entwicklung erlebt.
Im Allgemeinen Kenntnisse in der eingebetteten STM32-Entwicklung werden eine gewisse Rolle bei der Beherrschung der eingebetteten Entwicklung von Soc+Linux spielen
具备stm32嵌入式开发技能对于掌握Soc+Linux的嵌入式开发有一定的促进作用
,但是如果题主志在走向Linux应用开发道路, 那么stm32的开发技能并不一定非要全部掌握
, aber wenn das Thema darauf abzielt, sich in Richtung Linux-Anwendungsentwicklung zu bewegen, Dann sind die Entwicklungsfähigkeiten von stm32 nicht unbedingt Sie haben um sie alle zu meistern
Basierend auf den Erfahrungen des Befragten mit der Transformation seines persönlichen Skill-Stacks, 以下技能通常是stm32和Linux嵌入式应用开发所共有的,换句话说是可以复用的技能
1.C-Codierungsfähigkeit
Für die eingebettete Entwicklung ist die aktuelle Mainstream-Codierungssprache immer noch die C-Sprache. Dies gilt für stm32 und das Gleiche gilt für Linux. Der einzige Unterschied besteht darin, dass die eingebettete Linux-Entwicklung häufig einige Linux-Bibliotheksfunktions-APIs wie Sockets, Sperren usw. umfasst.
Verwenden Sie diese einfach, wenn Sie sie brauchen. Wenn daher genügend STM32-Entwicklungsprojekte vorhanden sind, können C-Programmierkenntnisse im Allgemeinen direkt vererbt werden.
2. Funktionsmodule und Algorithmus-Designfunktionen
Der Schlüssel zur Anwendungsentwicklung besteht darin, die Anforderungen zu verstehen und geeignete Funktionseinheiten zu entwerfen (Bereitstellung von API-Schnittstellen für andere Module) oder geeignete Steuerlogikalgorithmen entsprechend den Anforderungen zu entwerfen. Dieses Verständnis von Anforderungen und die Fähigkeit, Module und Algorithmen zu entwerfen, können auch im stm32-Projekt erlebbar gemacht werden und eine Grundlage für die Entwicklung von Linux-Anwendungen bilden.
3. Multithreading und gegenseitiges Ausschlussschutzdenken
Was ist der größte Unterschied zwischen der Linux-Anwendungsentwicklung und stm32
?Die Idee so vieler Threads und des gegenseitigen Ausschlussschutzes wird die erste Wahl sein. In der Linux-Entwicklungswelt sind Threads und Prozesse untrennbar miteinander verbunden, und der gegenseitige Ausschlussschutz gemeinsam genutzter Ressourcen ist untrennbar miteinander verbunden. Wenn RTOS jedoch nicht an der Entwicklung von stm32 beteiligt ist, müssen Sie das Multitasking-Denken von RTOS erlernen.
Multitasking und Multithreading haben eine sehr ähnliche Logik. Mit dem RTOS-Multitasking-Denken kann das Erlernen und Beherrschen von Linux-Multithreading, Multiprozess und gegenseitigem Ausschlussschutz erheblich gefördert werden. 🎜
4. Grundfunktionen gängiger Protokollstacks
Man kann sagen, dass die stm32-MCU über eine sehr starke Peripherie- und interne Bibliotheksunterstützung verfügt, was beim Erlernen einiger Kommunikationsprotokollstapel sehr hilfreich ist. **可能有的朋友说,我不做Linux驱动,没有必要学习什么UART,IIC,SPI,DMA,TCP/IP,RapidIO等硬件通信协议。这种想法是不对的
** .
Eine solche Protokoll-Stack-Grundlage wird bei der zukünftigen Anwendungsentwicklung immer nützlich sein.
Bei der Entwicklung vieler Linux-Anwendungen war der Befragte an der Entwicklung von Funktionseinheiten beteiligt, die mit anderen eingebetteten Systemen kommunizieren, und an der Gestaltung eigener Kommunikationsprotokolle. Wenn Sie beispielsweise das UART-Protokoll nicht verstehen, haben Sie keine Möglichkeit, etwas zu entwerfen Ihr. Vertragstext. Wenn Sie das RapidIO-Protokoll nicht verstehen, wie können Sie dann mit den CPUs anderer Einzelplatinen kommunizieren? Obwohl die Treiberkollegen Ihnen bei der Erstellung des Treibers helfen, wird Ihnen das Verständnis der Logik der oberen Schicht oder des Problemorts immer helfen, wenn Sie das verstehen Protokollstapel.
Zusammenfassend lässt sich sagen, dass es nicht notwendig ist, stm32 zu beherrschen, bevor man die Entwicklung eingebetteter Linux erlernt. Wenn Sie stm32 in den oben genannten vier Punkten gesammelt haben, können Sie die Entwicklung eingebetteter Linux-Anwendungen ausprobieren.
Das obige ist der detaillierte Inhalt vonWas müssen Sie lernen, um STM32 zu lernen, bevor es empfohlen wird, Linux zu lernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Lösung für Erlaubnisprobleme beim Betrachten der Python -Version in Linux Terminal Wenn Sie versuchen, die Python -Version in Linux Terminal anzuzeigen, geben Sie Python ein ...

So setzen Sie die Berechtigungen von Unixsocket automatisch nach dem Neustart des Systems. Jedes Mal, wenn das System neu startet, müssen wir den folgenden Befehl ausführen, um die Berechtigungen von Unixsocket: sudo ...

Ursachen und Lösungen für Fehler Bei der Verwendung von PECL zur Installation von Erweiterungen in der Docker -Umgebung, wenn die Docker -Umgebung verwendet wird, begegnen wir häufig auf einige Kopfschmerzen ...

Viele Website -Entwickler stehen vor dem Problem der Integration von Node.js oder Python Services unter der Lampenarchitektur: Die vorhandene Lampe (Linux Apache MySQL PHP) Architekturwebsite benötigt ...

Verwenden Sie Python im Linux -Terminal ...

Das Problem des Vergleichs und Synchronisierens von Dateien überkompeten: Fallempfindlichkeitsfehler bei der Verwendung von Beyond ...

Konfigurieren Sie die Timing -Timing -Timing -Timing -Timing auf der MacOS -Plattform, wenn Sie die Timing -Timing -Timing -Timing von APScheduler als Service konfigurieren möchten, ähnlich wie bei NGIN ...

In Bezug auf das Problem der Entfernung des Python -Dolmetschers, das mit Linux -Systemen ausgestattet ist, werden viele Linux -Verteilungen den Python -Dolmetscher bei der Installation vorinstallieren, und verwendet den Paketmanager nicht ...
