- 註冊時間
- 2004-10-30
- 最後登錄
- 2025-1-23
- 主題
- 查看
- 積分
- 265
- 閱讀權限
- 50
- 文章
- 219
- 相冊
- 0
- 日誌
- 0
 
狀態︰
離線
|
一般來說MCU依ISA(指令架構集)可以簡單分CISC(複雜指令集) /RISC(簡單指令集).
CISC由於通常記憶體定址複雜,且指令繁多造成學習上會比較複雜(例如8051,X86).而RISC指令集(ARM,MIPS,AVR)相對簡單.用簡單的指令兜出複雜的指令.只是在編譯器上會比較難做最佳化動作
另外組合語言還是有其必要性.像我在移植RTOS(ucOS-III/FreeRTOS)等在做Content-Switch(內容交換.作業系統有教)時還是得用組合語言去做會比較快速
例如我將ucOS-III移植到Cortex-M3系列上(STM32F207,LPC1768).就需要了解.當然也可以不用.但是了解組合語言對於你做最佳化程式設計跟成本降低有關
例如用組合語言寫跟硬體有關.用C寫跟演算法有關係.這樣搭配可以提升MCU效能.而且也可以降低其成本例如用組合語言+C,可能用31KB Flash,1KB RAM
但是用純C可能33KB Flash,1.02KB RAM.這樣就得再跳一級MCU.成本就上升
當然你的程式規模夠大(1萬行以上)其實用組合語言跟C效率已經沒差多少(現在編譯器做得還不錯)...主要是看開發者的演算法跟系統規劃才能有明顯的差異
一樣都是寫韌體為什麼有人可以高薪.有人過不下去...就是在專精跟其學習新技術跟演算法.... |
-
總評分: 威望 + 1
查看全部評分
|