Ringkas pengetahuan dasar sistem tertanam, bahasa pemrograman, alat yang efisien dan konten lainnya.
Baru -baru ini saya mendengar seorang teman mengatakan sesuatu yang sangat baik:
iPhone adalah lengan tertanam yang berjalan di OS, dan CUDA juga dapat dipahami sebagai tertanam yang heterogen.
Dari perspektif ini, bagaimana Anda bisa menjadi insinyur tertanam yang sangat baik dengan memisahkan ilmu komputer dari tertanam, dan hanya memanggil teknologi seperti mikrokontroler, lengan, FPGA, dll., Dan hanya belajar bidang teknis yang sempit?
Dokumentasi Teknis dan Catatan Studi:
Dasar -dasar sistem tertanam:
Pembelajaran Mesin:
Bahasa Pemrograman:
Konstruksi dan Alat Lingkungan:
Landasan teori:
Gudang ini akan memperbarui pengetahuan yang terkait dengan bidang tertanam untuk waktu yang lama. Dengan meringkas dan menyempurnakan pengetahuan yang Anda miliki, Anda dapat terus mempelajari keterampilan yang lebih bermanfaat.
Baru -baru ini saya memiliki pandangan baru tentang posisi insinyur tertanam.
Lulusan jurusan elektronik mulai belajar dari tingkat mesin, seperti mikrokontroler dan prinsip komputer mikro, dan kemudian pergi ke tingkat bahasa, seperti bahasa C dan python, dan kemudian mempelajari struktur data dan algoritma. Rute ini terlihat cukup bagus dan cocok untuk memulai, tetapi ada masalah serius dalam rute ini.
Masalah yang dihadapi dalam pekerjaan tertanam seringkali komprehensif, yang berarti mulai dari tingkat bahasa atau tingkat algoritma sering tidak dapat menyelesaikan masalah, dan kadang -kadang perlu masuk jauh ke tingkat mesin. Jadi pertanyaannya adalah, level apa yang ada untuk seluruh sistem tertanam, atau level apa yang ada untuk seluruh sistem komputer? Untuk memiliki pemahaman tentang seluruh kerangka kerja sistem pengetahuan dan posisi Anda, Anda perlu memiliki pemahaman yang lebih dalam tentang prinsip -prinsip komposisi komputer.
Buku yang saya rekomendasikan di sini adalah edisi ketiga dari "Pemahaman Mendalam Sistem Komputer" yang ditulis oleh Randal E. Bryant dan David R. O'Hallaron. Kursus yang sesuai yang dapat ditemukan adalah kursus "Dasar -dasar Sistem Komputer" yang diajarkan oleh Profesor Yuan Chunfeng di platform MOOC, yang membantu kami untuk membangun pemahaman tentang seluruh lapisan abstraksi sistem komputer dan meningkatkan kemampuan komprehensif kami untuk menyelesaikan masalah yang tertanam.

Insinyur tertanam harus memiliki kedalaman yang cukup dalam akumulasi teknis mereka.
Setelah beberapa tahun pengembangan teknik, saya bersentuhan dengan berbagai prosesor dan merancang dan menerapkan CPU 16-bit sederhana sendirian. Saya secara bertahap menyadari bahwa penggunaan CPU tertentu bukanlah pengetahuan yang paling penting, tetapi konten yang lebih penting adalah prinsip-prinsip komposisi komputer dan arsitektur komputer (x86 ARM RISC-V). Pemahaman yang mendalam tentang pengetahuan dasar komputer dapat memungkinkan kami untuk memahami ukuran yang sama ketika mempelajari perangkat keras komputasi baru, dan kami tidak akan merasa terlalu sulit untuk mempelajari beberapa teknologi komputasi heterogen baru, seperti GPU, TPU dan NPU.
Berbagai bahasa pemrograman adalah alat penting bagi para insinyur. Tapi saya pikir yang paling penting bukanlah bahasa pemrograman itu sendiri, tetapi ide desain bahasa dan skenario yang berlaku. Menjadi sangat mudah untuk memahami apa yang ada di balik bahasa pemrograman dan belajar dan menggunakan bahasa baru.
Masalah dengan sistem penentuan posisi yang cepat adalah kemampuan yang diperlukan untuk setiap insinyur tertanam, jadi bagaimana cara men -debug secara efektif? Saya pernah membahas masalah ini dengan seorang kolega ahli sejati, dan dia berkata: Dapatkah saya mengatakan bahwa saya terutama mengandalkan berpikir? Jawaban ini jelas terlalu singkat, tetapi kita harus mengakui bahwa debug memang didasarkan pada pemikiran.
Baru -baru ini, saya membaca sebuah buku berjudul "How to Solve It" yang memberi saya beberapa inspirasi dan membuat saya menyadari bahwa ini adalah masalah berpikir.
Jika insinyur ingin meningkatkan kemampuan debugging, mereka harus sering memikirkan masalah ini: solusi ini tampaknya layak dan tampaknya benar, tetapi bagaimana mereka bisa memikirkan solusi seperti itu? Eksperimen ini tampaknya layak, yang tampaknya menjadi fakta, tetapi bagaimana fakta ini ditemukan? Dan bagaimana saya bisa memikirkannya atau menemukannya sendiri? Di tempat kerja, Anda tidak hanya harus mencoba yang terbaik untuk memahami solusi dari berbagai bug, tetapi juga memahami motivasi dan langkah -langkah solusi ini, dan mencoba yang terbaik untuk menjelaskan motivasi dan langkah -langkah ini kepada orang lain.