Re: [請益] 韌體初學者- PTT看板soft_job - 乾飯人
文章推薦指數: 80 %
一張Uno(AVR)或是Due(ARM M3),加上電腦和一條USB線就可以開工了。
開發工具容易安裝, ... 一開始在c程式內夾組合語言會有點痛苦,語法不直覺,但網路上有不少範例。
作者Chienning(Chienning)
標題Re:[請益]韌體初學者
時間Mon,17Feb202004:42:48
人氣
推:6
噓:0
留言:6
更多Chienning文章
返回soft_job看板
看板列表
与Re:[請益]韌體初學者相关文章
资讯
soft_job
Re:[請益]韌體初學者
其實從Arduino開始玩也有很多樂趣,初始成本也低(20€/35€)。
一張Uno(AVR)或是Due(ARMM3),加上電腦和一條USB線就可以開工了。
開發工具容易安裝,不需要什麼設定,ATMEL(處理器廠商)的文件也算齊全。
Arduino開發軟體內建的範例程式(如那個九九乘法表)簡單易了解。
在初期可以多花點時間在程式技巧上,不用煩心那些開機程序。
隨意寫寫小程式,也寫些電腦端的程式,透過USB序列埠讓電腦和Arduino互動。
(比如說寫個AES或是SHA,讓慢到不行的AVR把電腦傳過去的資料加密或算雜湊)
然後因為總總原因(處理器就是慢、c/c++編譯器很鳥),想把程式寫快一點,
這時可以去電腦的暫存目錄把執行檔elf找出來,反編譯成組合語言,
看看自己或編譯器做了什麼蠢事,能不能在c語言做些最佳化。
還是不夠快/小,就試試把程式的一小段改成in-lineasm。
一開始在c程式內夾組合語言會有點痛苦,語法不直覺,但網路上有不少範例。
然後就是越玩越大,變成整個程式只有頭尾是c,第三行開始就是組合語言,
(nakedfunction)這時就要了解AVR或是ARM的函式呼叫規則(ABI)。
ps,Arduino的開發環境大概只能玩到這樣了。
然後有個分支任務。
Arduino內建了一些函式,控制處理器每根針角的輸出入。
透過那個函式,最基本就是能控制板子上的那個LED燈。
試著去了解那些程式怎麼寫的,印象七八年前的版本非常沒效率,又肥又慢。
試著用c語言,自己去填記憶體(SFR)控制那些針角。
順便讀一讀處理器的手冊。
玩到這邊,還是只需要電腦/USB/Arduino,可能加買幾棵LED。
之後還有興趣,可以考慮買條除錯線。
ATMEL的除錯線不貴,
但我印象開發環境是綁定visualstudio的介面,...orz...
有了除錯線就能單步執行、修改暫存器和記憶體內容...
不要太依賴除錯線,除錯線是用來對付硬體bug的,軟體bug請用自己的大腦;p
ps,Arduino的開發環境的軟體,完全沒有除錯功能:)
到這邊就有最基本的能力,之後可以考慮升級玩有作業系統的平台。
或是像Zynq這類的FPGA,不過這又是另外一條很長的路了。
※引述《lihgong()》之銘言:
:如果還在學校,就買以下東西開始玩,看看受不受得了
:1.STM32F103最小系統
:2.J-LinkEDU(到mouser買最便宜)
:ps.或是買STM的Nucleo板,上面有MCU和開發工具(STLINK可刷J-Link)
:正版開發工具,報價不到1000元更便宜
:這樣子一套可以在3000塊以內(更便宜當然有),試著讓板子上的LED一閃一閃亮晶晶
:當然,這裡不要用Arduino,用STM32CUBEMX產生開機程式,然後操作他的GPIO點亮LED
:試著讀一下datasheet,追一下這段程式怎麼變成操作register,用用示波器,看看信號
:如果第一步三千塊花下去,覺得索然無味,那就這個領域你可能不適合而已
:附帶一提,示波器也不貴,淘寶一台4ch約莫台幣10000就有了
:接下來就看想玩點什麼,MCU外面的書很多,很容易找到有趣的題目
:有些經驗了,建議可以把作業系統掛上去,比如FreeRTOS,用起來又會是另一種感覺
:實際上路了,缺什麼再去學,其實走這行就是得不斷學習,天天都覺得自己什麼都不會
:※引述《SmallBeeWayn(喵喵叫的蜜蜂貓)》之銘言:
::※引述《t7365443(U彥)》之銘言:
:::各位版友好
:::目前就讀國立科大碩(電機)
:::大學是資工系的
:::本人一直想走韌體工程師這方面
:::但是實驗室又是做網路相關的
:::想找個網路設備的韌體的領域
:::想知道如果要走韌體這方面需要補足什麼地方
:::有什麼比較重要的地方可以自己自學或是去修大學部的課
:::大學是稍微有玩過arduino開發版
:::但尤其是硬體這方面(電子電路嵌入式系統等等)以前資工教的比較少
:::謝謝各位的意見
--
※發信站:批踢踢實業坊(ptt.cc),來自:80.123.24.139(奧地利)
※文章網址:https://www.ptt.cc/bbs/Soft_Job/M.1581885770.A.85C.html
推onegoman:推。
02/1706:45
推jeff40108:真的推,對學校新手更友善02/1708:50
推single4565:推02/1708:57
推pseudoman:是說arduino做的東西要怎麼產品化呢?02/1709:15
推csfgsj:針對檳榔攤的閃爍燈泡,可以產品化。
算是最初級的產品吧02/1714:36
推aria0520:直接玩樹莓派吧02/1822:53
@2021(ganfanren.tw),AllRightsReserved
延伸文章資訊
- 1ARM&MIPS 之比較
而這次我們介紹的是市場主流的三大公司ARM、MIPS 推行的嵌入式架構的. 處原理,並在介紹完稍候做比較。 ARM 結構在課堂上已 ... 台大資工系計算機組織與組合語言課程網.
- 2mips組合語言、mips範例、mips暫存器在PTT/mobile01評價與 ...
最早的MIPS架構是32 位元,最新的版本已經變成64 位元。商業市場主要競爭對手為ARM與RISC-V。 把C語言和MIPS指令集架構用鍵盤打一遍,當作學習 ...
- 3[發案] ARM組合語言解題- 看板CodeJob | PTT數位生活區
[發案] ARM組合語言解題 ... 時間:一天專案說明: 依照要求以ARM組合語言撰寫一簡單程式,能夠將輸入的字串進行字串反轉,並將大寫字母換成小寫。
- 4組合語言心得 - 軟體兄弟
組合語言心得,除了介紹X64組合語言外,也介紹了Win64 ABI。看了Win64 ABI終於了解為何Win32的程式在Win64下是無法使用的。因為改了基本的C函式呼叫的動作。
- 5[發案] ARM組合語言解題- 看板CodeJob - 批踢踢實業坊
... 要求以ARM組合語言撰寫一簡單程式,能夠將輸入的字串進行字串反轉,並 ... 預算:500元接案者要求: 附註: -- ※ 發信站: 批踢踢實業坊(ptt.cc), ...