作者descent (「雄辯是銀,沉默是金」)
看板ASM
標題Re: [請益] arm初學該從哪裡下手
時間Mon May 19 22:15:54 2014
※ 引述《spot0000 (小花)》之銘言:
: 各位前輩好
: 最近想開始學arm
: 但卻不知從何下手(網路上也找不到一套完整的學習指南)
: 問了學長也只訴我arm很重要要學,但找不到一個明確的方向
: 查了板上有建議看一本 ARM System Developer's Guide,但我看了一下感覺離實際的產品有點遠
: 因此有以下幾個問題想請教:
: 1.我初學的方向該是學會某一家的晶片,還是弄懂整個arm的生態
: 2.目前看上對岸很流行的stm32,但他有f0~f4多種產品線,我該從低階還高階的開始學起
: 3.是否有前輩可以分享一下學習arm的心路歷程呢
不知道你是想從什麼層面學起, 是偵測溫度那樣的功能還是驅動馬達之類的。
我是以完成一個作業系統來學習 stm32f4 discovery 這塊版子。
http://descent-incoming.blogspot.tw/search/label/before_os_arm
這是我一系列努力的方向。
從開發工具開始, 如何完成一個開機程式, 到中斷處理, 使用 systick,
改用 c++ 為開發語言 (我個人偏愛使用 c++)。
我沒有使用 stm32 library, 我用的方法是去參考其程式碼,
再搬到我的程式裡頭, 有什麼差別呢? 至少我知道我搬的 code 是幹什麼用的,
我想要知道每行程式碼做了什麼?
目前的成果只有到 context switch 和完成一個 system call,
還有很多地方要花功夫完成。
我的參考書目:
arm cortex-m3: 嵌入式系統設計入門
Cortex-M3之STM32嵌入式系统设计
STM32F207 高性能网络型 MCU 嵌入式系统设计
嵌入式系统及其应用:基于Cortex-M3内核和STM32F103系列微控制器的系统设计与开发
ARM Cortex-M4嵌入式实战□开发精解--基于STM32F4
使用 library 可以參考
单片机与嵌入式:STM32库开发实战指南
當然該查的 datasheet 也都會是需要的。
這個 mcu 的缺點是沒有 mmu, 無法練習虛擬記憶體的實作, 有個 mpu 可以彌補一點
遺憾。
: 因為到現在還是對arm很不清楚,所以問的問題可能很奇怪還請大家多包含
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 58.114.140.51
※ 文章網址: http://webptt.com/m.aspx?n=bbs/ASM/M.1400508961.A.920.html
1F:推 spot0000:感謝你的回答,其實因為太多東西可以學,我也沒確定要從 05/20 01:22
2F:→ spot0000:何學起,請問你覺得要先和你一樣學作業系統還是學和外界I 05/20 01:22
3F:→ spot0000:O溝通呢(不知這樣問對不對) 05/20 01:22
其實我是要學習作業系統的撰寫, 只是我剛好選擇 stm32f4 discovery,
我之前才在 x86 做過類似的事情。
用 cortex a8 或其他平台對我都沒太大不同, 不過 stm32 有大量資料真的是方便不少。
你的學習方向應該和我不同, 可以先去書店找一本你有興趣的書來看,
看看裡頭的內容你是不是有興趣, 你喜歡做出一個有成就感的東西,
還是學習這顆 mcu 的架構。
4F:推 et84121:也許你也可以參考看看 成大資工的wiki 裡面的系統程式很 05/20 02:00
5F:→ et84121:多都是以stm32下去作開發的 05/20 02:00
這個也可參考, 看看這些同學的學習方式和那些成果。
※ 編輯: descent (58.114.140.51), 05/20/2014 09:41:11
7F:推 spot0000: 感謝! 12/22 18:10