比賽獲獎的武林秘籍:04 電子類比賽嵌入式開發快速必看的上手指南
摘要
本文主要介紹了電子類比賽中負責嵌入式開發同學的上手比賽的步驟、開發專案的流程和具體需要學習的內容,並結合自身比賽經歷給出了相關建議。
正文
如何開始上手做自己第一個專案
學姐也是從大一過來的,所以完全理解你們現在可能感到的迷茫和不安,以及不懂怎麼開始做自己第一個專案的憂愁。不知道怎麼做專案?不要緊!
今天我們就來聊一下如何做專案。
- 做專案其實就像是一次小冒險,你會遇到很多有趣的事情,也會學到很多新東西。所以,第一步,就是要把你的想法具體化,想想你到底想要做什麼,把這個想法寫下來,這就是你的專案目標。
- 接下來,你需要做點研究,看看別人是怎麼做的,這能幫你避免走彎路。你可以上網查查資料,讀讀相關的書籍,或者找找有沒有類似的專案可以參考。這樣,你的思路就會越來越清晰。
- 然後,是時候動手了。你可以從設計專案的藍圖開始,也就是做計劃。這個計劃就像是你的指南針,它會告訴你每天該做什麼,下一步該怎麼走。別忘了,專案計劃是可以調整的,所以不要擔心一開始就做得完美無缺。
- 如果你的專案需要團隊合作,那就去找一些志同道合的夥伴吧。大家聚在一起,分工合作,這樣專案就能做得更快更好。記住,團隊合作很重要,所以要尊重每個人的意見,大家共同進步。
- 做專案的過程中,你可能會遇到一些難題。別急,這很正常。每次遇到問題,都是你學習和成長的機會。你可以嘗試不同的方法去解決問題,有時候,換一個角度看問題,就會找到答案。
- 最後,當你完成了專案,別忘了慶祝一下。不管結果如何,重要的是你從中學到了什麼。所以,享受這個過程吧,做專案其實是一件非常有趣的事情!
以小型電子類專案為例講述開發流程與實物製作過程為例
我們就以小型電子類專案為例講述開發流程與實物製作過程為例,向大家傳授做專案的經驗。
這個流程其實就像是烹飪一道美味的菜餚,你需要準備食材、按照食譜一步步來,最後才能做出美味佳餚。
嵌入式學習階段
在具體點,咱們以做嵌入式小專案為例,系統性學習的話,要學習這些內容。嵌入式小專案
- 首先基礎學習階段,這就包括通用程式設計基礎(C 語言、資料結構/演算法、作業系統、計網、計組、Linux 系統基礎)和基本的硬體基礎,紮實地掌握這兩大基礎,是後續持續發展和不斷進步的動力源泉。
- 其次就是嵌入式應用程式設計階段,或者說系統平臺程式設計階段。因為一般會以特定的嵌入式平臺和特定的嵌入式作業系統為依託,熟悉這個系統平臺上的程式設計方法和流程。以常見的 ARM+RTOS 為例,需要掌握從通訊協議到多工程式設計、GUI 開發、網路程式設計、外設基本操作、中介軟體和元件庫的使用幾個方面。
- 最後就是深入嵌入式底層開發階段,最常見的就是核心開發和驅動開發,這些統屬於核心態開發範疇,所以需要對作業系統內部機制有所涉獵和理解,在此基礎上需要掌握從系統移植到核心開發、驅動開發的各個細節。
除此之外,在嵌入式軟體中,我們也要了解基本的程式設計設計模式和函式介面設計方法、簡易上位機的製作、常用無線通訊協議等等內容。
具體學習內容
好,那我們再來細化一下,首先是我們需要掌握的基礎知識,包括資料結構、演算法、數位電路設計基礎、計算機組成與原理、微機原理與介面技術、ARM 彙編及除錯技術等,並且可以能理解訊號的時序關係,根據資料手冊能夠編寫、除錯、測試常用外設電路的驅動程式;瞭解並掌握半導體分立元器件和半導體整合元器件的常見型別、特點及常見 引數和區別;瞭解並掌握直流穩壓電源,數字示波器,邏輯分析儀,電烙鐵,熱風槍,恆 溫加熱臺,訊號發生器、電引數測量儀,萬用表,功率計等常見電子測量裝置的使用方法。
基礎知識之後,就是我們需要掌握的基本程式語言啦,首先就是 C 語言,MicroPython/Python 這兩種最基本的。除此之外,還有 LUA 語言、Bat 檔案、bash shell(瞭解並掌握 shell 概念;指令碼的簡單介紹;變數和引用;算術運算;互動式 程式設計;選擇判斷;條件測試;迴圈;函式)、arm 和 thumb-2 彙編(瞭解並掌握指令集基本指令:跳轉指令、資料處理指令、單暫存器載入和存 儲指令、批次暫存器載入和儲存指令、系統指令、條件執行指令、處理器控制指令、協處理器資料處理與暫存器傳輸指令)還有 matlab 語言等待我們去學習哦!
接下里,再為大家整理一下我們需要學習的作業系統,包括 linux、嵌入式實時作業系統等。
更多參與電子計算機類比賽的技巧可檢視我的部落格,連結如下。
原文連結
電子計算機類比賽獲獎的秘籍,可點選這裡:
電子計算機類比賽的“武林秘籍”-電賽光電設計大賽計算機設計大賽嵌入式晶片與系統設計競賽,你要的都在這裡!
往期推薦:
學嵌入式的你,還不會物件導向??!
全網最適合入門的物件導向程式設計教程:00 物件導向設計方法導論
全網最適合入門的物件導向程式設計教程:01 物件導向程式設計的基本概念
全網最適合入門的物件導向程式設計教程:02 類和物件的 Python 實現-使用 Python 建立類
全網最適合入門的物件導向程式設計教程:03 類和物件的 Python 實現-為自定義類新增屬性
全網最適合入門的物件導向程式設計教程:04 類和物件的Python實現-為自定義類新增方法
全網最適合入門的物件導向程式設計教程:05 類和物件的Python實現-PyCharm程式碼標籤
全網最適合入門的物件導向程式設計教程:06 類和物件的Python實現-自定義類的資料封裝
全網最適合入門的物件導向程式設計教程:07 類和物件的Python實現-型別註解
全網最適合入門的物件導向程式設計教程:08 類和物件的Python實現-@property裝飾器
全網最適合入門的物件導向程式設計教程:09 類和物件的Python實現-類之間的關係
全網最適合入門的物件導向程式設計教程:10 類和物件的Python實現-類的繼承和里氏替換原則
更多精彩內容可看:
給你的 Python 加加速:一文速通 Python 平行計算
一文搞懂 CM3 微控制器除錯原理
肝了半個月,嵌入式技術棧大彙總出爐
電子計算機類比賽的“武林秘籍”
一個MicroPython的開源專案集錦:awesome-micropython,包含各個方面的Micropython工具庫