Rumah > Artikel > Tutorial sistem > Apakah yang anda perlu pelajari untuk mempelajari STM32 sebelum disyorkan untuk mempelajari Linux?
Hari ini saya berkongsi soalan berkaitan terbenam yang popular di Zhihu: Apakah yang anda perlu pelajari untuk mempelajari STM32 sebelum disyorkan untuk mempelajari Linux?
Jawapan yang sangat bagus:
“
Pengarang: snowdream
Pautan: https://www.zhihu.com/question/357775329/answer/2338874463
”
Sebagai pengaturcara yang berpengalaman dalam pembangunan perisian terbenam, responden juga pernah mengalami proses transformasi tindanan teknologi daripada pembangunan STM32 kepada pembangunan Soc+Linux.
Secara umum, Memiliki kemahiran pembangunan terbenam stm32 akan membantu untuk menguasai pembangunan terbenam Soc+Linux
具备stm32嵌入式开发技能对于掌握Soc+Linux的嵌入式开发有一定的促进作用
,但是如果题主志在走向Linux应用开发道路, 那么stm32的开发技能并不一定非要全部掌握
, tetapi jika subjek bertujuan untuk bergerak ke arah pembangunan aplikasi Linux, Maka kemahiran pembangunan stm32 tidak semestinya Anda perlu menguasainya semua
Berdasarkan pengalaman transformasi timbunan kemahiran peribadi responden, 以下技能通常是stm32和Linux嵌入式应用开发所共有的,换句话说是可以复用的技能
Untuk pembangunan terbenam, bahasa pengekodan arus perdana semasa masih bahasa C. Ini benar untuk stm32, dan perkara yang sama berlaku untuk Linux. Satu-satunya perbezaan ialah pembangunan terbenam Linux sering melibatkan beberapa API fungsi perpustakaan Linux, seperti soket, kunci, dll.
Hanya gunakan ini apabila anda memerlukannya. Oleh itu, jika terdapat cukup projek pembangunan stm32, secara amnya, kemahiran pengaturcaraan C boleh diwarisi secara langsung.
Kunci kepada pembangunan aplikasi ialah memahami keperluan dan mereka bentuk unit berfungsi yang sesuai (menyediakan antara muka API untuk modul lain) atau mereka bentuk algoritma logik kawalan yang sesuai mengikut keperluan. Pemahaman tentang keperluan dan keupayaan untuk mereka bentuk modul dan algoritma juga boleh dialami dalam projek stm32, dan boleh menyediakan asas untuk pembangunan aplikasi Linux.
Apakah perbezaan terbesar antara pembangunan aplikasi Linux dan stm32
?Idea banyak utas dan perlindungan pengecualian bersama akan menjadi pilihan pertama. Dalam dunia pembangunan Linux, rangkaian dan proses tidak dapat dipisahkan, dan perlindungan pengecualian bersama sumber yang dikongsi tidak dapat dipisahkan. Walau bagaimanapun, jika RTOS tidak terlibat dalam pembangunan stm32, anda perlu mempelajari pemikiran pelbagai tugas RTOS.
Multi-tasking dan multi-threading mempunyai logik yang hampir sama, jadi dengan pemikiran berbilang tugas RTOS, ia boleh menggalakkan pembelajaran dan penguasaan Linux multi-threading, pelbagai proses dan perlindungan pengecualian bersama. 🎜
MCU stm32 boleh dikatakan mempunyai sokongan perpustakaan persisian dan dalaman yang sangat kuat, yang sangat membantu untuk mempelajari beberapa susunan protokol komunikasi. **可能有的朋友说,我不做Linux驱动,没有必要学习什么UART,IIC,SPI,DMA,TCP/IP,RapidIO等硬件通信协议。这种想法是不对的
** .
Mempunyai asas tindanan protokol seperti ini akan sentiasa berguna dalam pembangunan aplikasi masa hadapan.
Dalam banyak pembangunan aplikasi Linux, responden telah melibatkan pembangunan unit berfungsi yang berkomunikasi dengan sistem terbenam lain dan reka bentuk protokol komunikasinya sendiri Contohnya, jika anda tidak memahami protokol UART, anda tidak mempunyai cara untuk mereka bentuk teks perjanjian anda. Jika anda tidak memahami protokol RapidIO, bagaimana anda boleh berkomunikasi dengan CPU papan tunggal yang lain Walaupun rakan sekerja pemandu akan membantu anda membuat pemandu, memahami logik lapisan atas atau lokasi masalah akan sentiasa membantu anda jika anda memahami masalah? susunan protokol.
Jadi, secara ringkasnya, tidak perlu menjadi mahir dalam stm32 sebelum mempelajari pembangunan Linux terbenam. Jika anda telah mengumpul stm32 dalam empat mata di atas, anda boleh mempertimbangkan untuk mencuba pembangunan aplikasi Linux terbenam.
Atas ialah kandungan terperinci Apakah yang anda perlu pelajari untuk mempelajari STM32 sebelum disyorkan untuk mempelajari Linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!