Inhaltsverzeichnis
4. Grundfunktionen gängiger Protokollstacks" >4. Grundfunktionen gängiger Protokollstacks
Heim System-Tutorial LINUX Was müssen Sie lernen, um STM32 zu lernen, bevor es empfohlen wird, Linux zu lernen?

Was müssen Sie lernen, um STM32 zu lernen, bevor es empfohlen wird, Linux zu lernen?

Feb 05, 2024 pm 01:03 PM
linux linux教程 linux系统 linux命令 shell脚本 overflow gute Lizenz Erste Schritte mit Linux Linux-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?

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie löste ich das Problem der Berechtigungen beim Betrachten der Python -Version in Linux Terminal? Wie löste ich das Problem der Berechtigungen beim Betrachten der Python -Version in Linux Terminal? Apr 01, 2025 pm 05:09 PM

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 ...

Wie setze ich nach dem Neustart des Systems automatisch Berechtigungen von Unixsocket fest? Wie setze ich nach dem Neustart des Systems automatisch Berechtigungen von Unixsocket fest? Mar 31, 2025 pm 11:54 PM

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 ...

Warum tritt bei der Installation einer Erweiterung mit PECL in einer Docker -Umgebung ein Fehler auf? Wie löst ich es? Warum tritt bei der Installation einer Erweiterung mit PECL in einer Docker -Umgebung ein Fehler auf? Wie löst ich es? Apr 01, 2025 pm 03:06 PM

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 ...

Wie kann man Node.js oder Python -Dienste in Lampenarchitektur effizient integrieren? Wie kann man Node.js oder Python -Dienste in Lampenarchitektur effizient integrieren? Apr 01, 2025 pm 02:48 PM

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 ...

Wie löste ich Berechtigungsprobleme bei der Verwendung von Python -Verssionsbefehl im Linux Terminal? Wie löste ich Berechtigungsprobleme bei der Verwendung von Python -Verssionsbefehl im Linux Terminal? Apr 02, 2025 am 06:36 AM

Verwenden Sie Python im Linux -Terminal ...

Was sollte ich tun, wenn Beyond Compare bei der Synchronisierung von Windows- und Linux -Dateien nicht die Sensibilität des Falls nicht in die Fall ist? Was sollte ich tun, wenn Beyond Compare bei der Synchronisierung von Windows- und Linux -Dateien nicht die Sensibilität des Falls nicht in die Fall ist? Apr 01, 2025 am 08:06 AM

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

Wie konfigurieren Sie die Timing -Timing -Aufgabe von ApScheduler als Dienst auf macOS? Wie konfigurieren Sie die Timing -Timing -Aufgabe von ApScheduler als Dienst auf macOS? Apr 01, 2025 pm 06:09 PM

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 ...

Kann der Python -Dolmetscher im Linux -System gelöscht werden? Kann der Python -Dolmetscher im Linux -System gelöscht werden? Apr 02, 2025 am 07:00 AM

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 ...

See all articles