FMUSER Wirless Mengirim Video Dan Audio Lebih Mudah!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikans
sq.fmuser.org -> Albania
ar.fmuser.org -> Arab
hy.fmuser.org -> Armenia
az.fmuser.org -> Azerbaijan
eu.fmuser.org -> Basque
be.fmuser.org -> Belarusia
bg.fmuser.org -> Bulgaria
ca.fmuser.org -> Catalan
zh-CN.fmuser.org -> Cina (Sederhana)
zh-TW.fmuser.org -> Mandarin (Tradisional)
hr.fmuser.org -> Kroasia
cs.fmuser.org -> Ceko
da.fmuser.org -> Denmark
nl.fmuser.org -> Belanda
et.fmuser.org -> Estonia
tl.fmuser.org -> Filipina
fi.fmuser.org -> Finlandia
fr.fmuser.org -> Perancis
gl.fmuser.org -> Galicia
ka.fmuser.org -> Georgia
de.fmuser.org -> Jerman
el.fmuser.org -> Yunani
ht.fmuser.org -> Kreol Haiti
iw.fmuser.org -> Ibrani
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hongaria
is.fmuser.org -> Islandia
id.fmuser.org -> Bahasa Indonesia
ga.fmuser.org -> Irlandia
it.fmuser.org -> Italia
ja.fmuser.org -> Jepang
ko.fmuser.org -> Korea
lv.fmuser.org -> Latvia
lt.fmuser.org -> Lithuania
mk.fmuser.org -> Makedonia
ms.fmuser.org -> Melayu
mt.fmuser.org -> Malta
no.fmuser.org -> Norwegia
fa.fmuser.org -> Persia
pl.fmuser.org -> Polandia
pt.fmuser.org -> Portugis
ro.fmuser.org -> Rumania
ru.fmuser.org -> Rusia
sr.fmuser.org -> Serbia
sk.fmuser.org -> Slowakia
sl.fmuser.org -> Slovenia
es.fmuser.org -> Spanyol
sw.fmuser.org -> Swahili
sv.fmuser.org -> Swedia
th.fmuser.org -> Thailand
tr.fmuser.org -> Turki
uk.fmuser.org -> Ukraina
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnam
cy.fmuser.org -> Welsh
yi.fmuser.org -> Yiddish
Untuk pengembangan aplikasi: Bahasa C, struktur data, JAVA, dll perlu dipelajari dengan baik. Tidak ada yang istimewa untuk diperhatikan dalam pengembangan aplikasi tertanam dan pengembangan aplikasi di PC. Mungkin Anda mengatakan bahwa Anda perlu mengoptimalkan sistem yang tertanam, ya, Anda perlu mengoptimalkan, tetapi program yang tidak dioptimalkan tidak berbeda dengan pengembangan program di PC. Selain itu, bila Anda memiliki kemampuan untuk mengoptimalkan, Anda tidak lagi terbiasa menanyakan pertanyaan ini. Untuk contoh khusus, seperti antarmuka pengembangan, kami menggunakan VC di PC; di Linux tertanam, kami dapat menggunakan QT dan Android. Saat ini, Anda harus mempelajari pemrograman QT dan Android. Tetapi fondasinya masih C atau JAVA, dan atas dasar ini, kenali antarmuka mereka. Jika Anda telah mempelajari VC, perlu waktu untuk memahami kelas dan kontrol tersebut.
Jika Anda ingin mempelajari sistem yang mendasarinya, ini adalah spesialisasi saya, tetapi saya bisa mengatakan sedikit.
Sebelum menjawab pertanyaan ini, izinkan saya menjawab: Banyak orang bertanya kepada saya, apakah itu belajar mengemudi atau belajar menerapkan? Saya hanya dapat mengatakan bahwa ini didasarkan pada minat, dan driver serta aplikasi tidak sepenuhnya terpisah.
1. Driver yang kita bicarakan tidak terbatas pada operasi perangkat keras, tetapi juga konsep seperti prinsip sistem operasi dan penjadwalan proses tidur dan bangun. Jika Anda ingin menulis aplikasi yang bagus, dan Anda ingin memecahkan masalah yang dihadapi oleh aplikasi dengan lebih baik, Anda harus memahami pengetahuan ini
2. Hambatan rendah untuk aplikasi, terutama ANDROID saat ini, JAWA murni. Menurut saya pribadi, jalur pengembangan aplikasi mahir dalam bisnis. Misalnya, dalam industri komunikasi, industri IPTV, dan industri telepon seluler, Anda memahami kebutuhan industri. Oleh karena itu, orang-orang yang menjadi pemimpin kebanyakan adalah aplikasi.
3. Digerakkan. Sebenarnya, saya tidak ingin menyebutnya "menjadi pengemudi", tetapi saya ingin menyebutnya "menjadi sistem tingkat rendah". Setelah selesai, ini akan mematikan semua industri. Saya telah bekerja selama beberapa tahun dan telah membuat ponsel, IPTV, dan TV konferensi, tetapi produk ini tidak membuat perbedaan bagi saya karena saya hanya mengerjakan lapisan bawah. Bisnis mereka tidak ada hubungannya dengan saya. Ketika ada masalah dengan aplikasi dan mereka tidak dapat menyelesaikannya, saya akan memberi mereka ide dari perspektif kernel dan memberi mereka alat. Saya pribadi berpikir bahwa saya adalah ahli teknis dalam arah pengembangan lapisan bawah.
4. Sebenarnya, tidak ada batasan antara melakukan lapisan bawah atau melakukan aplikasi. Jika Anda memiliki pengalaman lapisan bawah, Anda akan merasa sangat nyaman saat Anda melakukan aplikasi. Dengan pengalaman bisnis, Anda dapat mengenal lapisan bawah, dan Anda akan segera dapat membentuk tim.
Kembali ke pertanyaan bagaimana cara belajar. Apa yang termasuk dalam sistem dasar Linux tertanam? Jangan khawatir, Anda akan mengetahuinya dengan memberi contoh.
1. Saat komputer dihidupkan, siapa yang menampilkan antarmuka tersebut? Ini adalah BIOS, apa fungsinya? Beberapa pemeriksaan mandiri, kemudian membaca windows dari hard disk dan memulainya. Demikian pula, BIOS ini terkait dengan bootloader di Linux tertanam. Bootloader ini perlu membaca kernel Linux di Flash dan memulainya.
2. Apa tujuan memulai jendela? Tentu saja ini mengobrol online atau semacamnya. Di manakah alat internet dan obrolan ini? Di drive C dan drive D. Oleh karena itu, windows harus terlebih dahulu mengidentifikasi drive C dan drive D. Kami menyebutnya sistem file root di Linux.
3. Windows bisa mengenali drive C dan drive D, jadi harus bisa membaca dan menulis hard drive. Hal-hal yang terlibat disebut pengemudi. Tentu saja, ini bukan hanya hard disk, tetapi juga kartu jaringan, USB, dan sebagainya. Linux yang tertanam dapat membaca dan menjalankan aplikasi dari Flash, dan juga harus memiliki driver Flash. Tentu saja, ini bukan hanya Flash.
Mari kita bahas terlebih dahulu, LINUX tertanam berisi empat bagian utama: bootloader, kernel, driver, dan sistem file root.
Satu, bootloader
Ini adalah program papan kosong yang sedikit lebih rumit. Tetapi tidak mudah untuk memahami dan menulis program tanpa papan tulis ini. Alat yang berguna di bawah Windows melemahkan kemampuan pemrograman kami.
Banyak orang menggunakan ADS dan KEIL segera setelah mereka memainkan tersemat. Bisakah Anda menjawab pertanyaan-pertanyaan ini?
1. Setelah daya hidup, di mana CPU mengambil instruksi untuk dieksekusi?
Jawaban: Umumnya, instruksinya dari Flash.
2. Tapi Flash hanya bisa dibaca dan tidak langsung ditulis. Jika saya menggunakan variabel global, di manakah variabel global ini?
Jawaban: Variabel global harus ada di memori
3. Jadi siapa yang menempatkan variabel global dalam memori?
Jawaban: Bisakah Anda menjawab teman yang sudah lama menggunakan ADS dan KEIL? Ini membutuhkan "relokasi". Di ADS atau KEIL, kode relokasi ditulis untuk Anda oleh perusahaan yang membuat alat ini. Pernahkah kamu membacanya?
4. Memori sangat besar, bagaimana saya tahu alamat mana untuk membaca "konten yang awalnya disimpan di Flash" ke memori?
Jawaban: Alamat ini ditentukan oleh "skrip link", ada file pencar di ADS, dan file serupa di KEIL. Tapi, sudahkah Anda mempelajarinya?
5. Anda mengatakan bahwa relokasi adalah menyalin program dari Flash ke memori, sehingga program ini dapat membaca Flash? Jawaban: Ya, Anda harus dapat mengoperasikan Flash. Tentu tidak hanya itu saja, tetapi juga pengaturan jam agar sistem berjalan lebih cepat dan sebagainya. Mari kita tanya dan jawab di sini dulu, bootloader, program yang tidak memiliki papan tulis, sebenarnya memiliki tiga poin utama:
1. Pengoperasian perangkat keras
2. Pemahaman tentang prosesor sistem ARM
3. Konsep dasar program: relokasi, stack, code segment, data segment, BSS segment dan sebagainya.
Untuk pengoperasian perangkat keras, Anda perlu melihat diagram skema dan manual chip. Ini membutuhkan sejumlah pengetahuan perangkat keras. Ini tidak mengharuskan Anda untuk dapat merancang perangkat keras, tetapi setidaknya untuk memahaminya; tidak perlu memahami sirkuit analog, tetapi memahami sirkuit digital. Saya mempelajari kemampuan ini di sekolah. Dua buku itu (judul buku yang saya lupa) sudah cukup. Tapi saya ragu Anda memiliki kesabaran untuk menyelesaikan membaca kedua buku ini. Saya tidak tahu apakah ada buku yang lebih cepat sekarang. Jika Anda ingin membuatnya cepat, lepaskan dulu, dan jika Anda tidak mengerti, tanyakan saja ke Google dan posting.
Selain itu, manual chip harus dibaca, jangan cari bahasa Mandarin, lihat saja bahasa Inggris. Sangat menyakitkan pada awalnya, tetapi kemudian, setelah tata bahasa dan kosakata familiar, akan mudah untuk membaca manual chip apa pun.
Untuk pemahaman tentang prosesor sistem ARM, silakan lihat Du Chunlei. Ini berbicara tentang instruksi perakitan, mode pengecualian, MMU, dll. Hanya 3 konten ini yang perlu Anda pahami.
Konsep dasar program tentu saja raja adalah melihat prinsip-prinsip kompilasi. Sayangnya, jenis buku ini jelas berada pada tingkat buku surgawi. Saya menyarankan Anda untuk tidak menontonnya kecuali Anda adalah seorang super jenius. Lihat saja dan video pertama yang saya tulis, jangan khawatir, jangan menghabiskan uang. Setelah video dan melakukan eksperimen terkait perangkat keras, konsep ini akan menjadi jelas. Saya belum menemukan rangkaian buku atau video kedua yang membahas tentang konsep ini, memungkinkan saya untuk membual tentangnya secara membabi buta. Untuk bootloader, saya menontonnya pertama kali ketika saya belajar, kemudian saya menulis programnya sendiri dan melakukan semua percobaan pada berbagai perangkat keras, seperti GPIO, jam, SDRAM, UART, dan NAND. Jika Anda membuatnya jelas, maka mudah untuk memahami u-boot dengan mengelompokkan bersama. Singkatnya, untuk memahami diagram skema perangkat keras dan manual chip, Anda perlu menemukan informasinya sendiri. Selebihnya, ikuti saja daftar bab dari dan tahap pertama dari video untuk belajar.
Dua, kernel
Mereka yang ingin memulai harus melewatkan pembelajaran kernel terlebih dahulu dan mempelajari cara menulis driver secara langsung.
Untuk menjadi master, kernel harus memiliki pemahaman yang mendalam. Perhatikan bahwa saya berbicara tentang pemahaman, saya tidak memiliki harapan yang berlebihan untuk menulis kernel.
Untuk memahami mekanisme penjadwalan, mekanisme manajemen memori, mekanisme manajemen file, dll di dalamnya.
Rekomendasikan dua buku:
1. Baca terus, silakan baca buku tipis (Masyarakat terapung menekankan kecepatan)
2. Pilih untuk membaca, ingin tahu bagian mana yang akan dibaca
Tiga, jalan
Pengemudi terdiri dari dua bagian: pengoperasian perangkat keras itu sendiri dan kerangka pengemudi.
Ini perangkat kerasnya lagi. Masih perlu untuk memahami diagram skema dan manual chip. Berlatih lebih banyak. Berbicara tentang kerangka pengemudi, ada beberapa buku yang memperkenalkannya. LDD3, buku yang ditulis oleh orang asing, memperkenalkan banyak konsep dan layak dibaca. Namun, perannya terbatas pada pengenalan konsep. Saya pada dasarnya menggunakannya untuk membiasakan diri dengan konsep sebelum memulai, dan kemudian membuangnya setelah memulai.
Pengenalan yang lebih komprehensif untuk pengemudi seharusnya adalah Song Baohua. Sejujurnya, saya hanya membaca katalog. Banyak orang mengatakan ya, saya merekomendasikannya di sini.
Jika Anda ingin memahami area tertentu secara mendalam, ini pasti rekomendasi super bintang 5. Anda tidak berharap untuk membacanya, lebih dari 1,800 halaman, dua jilid naik dan turun. Ketika saya tidak yakin tentang suatu area, saya akan memeriksanya. Bagian mana pun dari buku ini dapat mencakup dua atau tiga ratus halaman, yang sangat detail. Dan untuk membawa Anda menganalisis kode sumber kernel dengan tujuan tertentu. Ini mengambil linux 2.4 sebagai contoh, tetapi prinsipnya sama, dan ini juga berlaku untuk versi linux lainnya. Ada perkenalan lainnya? Tentu saja ada, edisi kedua dari Video Linux Wei Dongshan. "Buku Pegangan Lengkap Pengembangan Aplikasi Linux Tertanam" tidak berbicara banyak tentang driver, dan tidak cukup mendalam.
Cobalah untuk menulis driver untuk semua perangkat keras yang terlibat dalam papan pengembangan Anda. Jika Anda memiliki masalah, Anda harus "berpikir dengan susah payah" terlebih dahulu. Dalam proses berpikir, Anda akan menghubungkan banyak pengetahuan yang tidak relevan dan akhirnya memahaminya.
Keempat, sistem file root
Pernahkah Anda memikirkan dua pertanyaan ini:
1. Untuk produk-produk besutan Linux, ada yang digunakan untuk monitoring, ada yang digunakan sebagai ponsel, dan ada yang digunakan sebagai tablet. Jadi setelah kernel dimulai, setelah memasang sistem file root, aplikasi mana yang harus dijalankan?
Jawaban: Kernel tidak tahu atau tidak peduli program pengguna mana yang harus dijalankan. Ini hanya memulai aplikasi init, yang terkait dengan / sbin / init.
Tentunya, aplikasi ini harus membaca file konfigurasi dan memulai program pengguna (pemantauan, antarmuka manual, antarmuka tablet, dll.) Sesuai dengan file konfigurasi. Pertanyaan ini mengingatkan kita bahwa konten sistem file memiliki beberapa konvensi, seperti / sbin / init, file konfigurasi diperlukan.
2. Pernahkah Anda berpikir tentang siapa yang mengimplementasikan printf yang digunakan dalam program hello and world yang Anda tulis?
Jawaban: Fungsi ini tidak diimplementasikan oleh Anda, tetapi oleh fungsi perpustakaan. Saat dijalankan, ia harus menemukan perpustakaannya.
Pertanyaan ini mengingatkan kita bahwa masih ada perpustakaan di sistem file. Berikut adalah pertanyaan dan jawaban sederhana. Jika Anda ingin tahu lebih banyak, Anda dapat melihat init.c dari busybox untuk mengetahui apa yang dilakukan proses init. Tentu saja, Anda juga dapat melihat bab tentang membangun sistem file root di .
Pengalaman belajar saya
1. Ketika saya masih sekolah, saya mengambil jurusan fisika dan elektronik. Sebenarnya saya tidak mengajarkan bagaimana mendesain sirkuit pada mata kuliah tersebut, tetapi hanya mengajarkan sedikit pengetahuan tentang sirkuit elektronik. Desain PCB dipelajari sendiri di laboratorium. Saya hanya mendesain papan 2 lapis, dan sekarang saya hampir melupakannya. Tetapi tetap mempertahankan kemampuan untuk membaca diagram skematik dan manual chip.
2. Saya mengambil gelar di bidang perangkat lunak, dan saya sangat tertarik dengan desain perangkat lunak, tetapi saya hanya belajar bahasa C dan database. Saya melakukan banyak pertanyaan kompetisi dengan penuh minat. Saya tidak dapat berpartisipasi dalam kompetisi, tetapi saya memiliki praktik bahasa C yang solid.
3. Di laboratorium, di perusahaan pertama, saya mendesain beberapa kartu PCI sederhana dan menulis driver windows
4. Di perusahaan kedua, menggunakan 51 komputer mikro chip tunggal sebagai telepon mobil, mulai menggunakan perangkat lunak murni.
5. Saya mulai merasakan kekurangan dari komputer mikro chip tunggal. Saya mengundurkan diri selama setengah tahun untuk mempelajari Linux secara tertutup, dimulai dengan cara mengoperasikan topi merah. Langkahnya adalah dengan melihatnya terlebih dahulu, kemudian tulis program papan kosong untuk mengoperasikan perangkat keras, dan kemudian menganalisis boot-u. Pada saat yang sama, saya memiliki beberapa pemahaman tentang kerangka LINUX.
Saat menulis papan kosong, Anda disarankan untuk memperkuat pemahaman Anda tentang interupsi. Kernel menggunakan interupsi untuk menyelesaikan berbagai fungsi.
6. Setelah menganalisis u-boot, mulailah pemrograman driver sederhana. Saat ini, kemampuannya masih sangat lemah.
7. Mulai bekerja di ZTE, bekerja selama 2 tahun, menulis semua jenis driver, menyelesaikan semua jenis masalah (masalah mengemudi, membantu menemukan masalah aplikasi), dan kemampuan itu temper.
|
Masukkan email untuk mendapatkan kejutan
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikans
sq.fmuser.org -> Albania
ar.fmuser.org -> Arab
hy.fmuser.org -> Armenia
az.fmuser.org -> Azerbaijan
eu.fmuser.org -> Basque
be.fmuser.org -> Belarusia
bg.fmuser.org -> Bulgaria
ca.fmuser.org -> Catalan
zh-CN.fmuser.org -> Cina (Sederhana)
zh-TW.fmuser.org -> Mandarin (Tradisional)
hr.fmuser.org -> Kroasia
cs.fmuser.org -> Ceko
da.fmuser.org -> Denmark
nl.fmuser.org -> Belanda
et.fmuser.org -> Estonia
tl.fmuser.org -> Filipina
fi.fmuser.org -> Finlandia
fr.fmuser.org -> Perancis
gl.fmuser.org -> Galicia
ka.fmuser.org -> Georgia
de.fmuser.org -> Jerman
el.fmuser.org -> Yunani
ht.fmuser.org -> Kreol Haiti
iw.fmuser.org -> Ibrani
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hongaria
is.fmuser.org -> Islandia
id.fmuser.org -> Bahasa Indonesia
ga.fmuser.org -> Irlandia
it.fmuser.org -> Italia
ja.fmuser.org -> Jepang
ko.fmuser.org -> Korea
lv.fmuser.org -> Latvia
lt.fmuser.org -> Lithuania
mk.fmuser.org -> Makedonia
ms.fmuser.org -> Melayu
mt.fmuser.org -> Malta
no.fmuser.org -> Norwegia
fa.fmuser.org -> Persia
pl.fmuser.org -> Polandia
pt.fmuser.org -> Portugis
ro.fmuser.org -> Rumania
ru.fmuser.org -> Rusia
sr.fmuser.org -> Serbia
sk.fmuser.org -> Slowakia
sl.fmuser.org -> Slovenia
es.fmuser.org -> Spanyol
sw.fmuser.org -> Swahili
sv.fmuser.org -> Swedia
th.fmuser.org -> Thailand
tr.fmuser.org -> Turki
uk.fmuser.org -> Ukraina
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnam
cy.fmuser.org -> Welsh
yi.fmuser.org -> Yiddish
FMUSER Wirless Mengirim Video Dan Audio Lebih Mudah!
Kontak
Alamat:
No.305 Kamar HuiLan Building No.273 Huanpu Road Guangzhou China 510620
Kategori
Buletin