作者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/cn.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