本帖最后由 zhh1314 于 2013-5-2 22:49 编辑
现在有的基础是:C/C++,数据结构,电路分析,模电数电,计算机组成原理,微机原理,操作系统原理。
现在买了本《arm裸机开发》一书,打算开始学习ARM的架构。
大致了解ARM架构之后,我打算进入Linux系统的学习:先学习linux系统的使用,然后准备进入linux内核这一块。
请教各位大牛,在学习Linux内核之前,需不需要《编译原理》做基础?
PS: 《计算机网络》《数据库》需不需要?
个人之前的经历:
我以前跟朋友说,想要从事嵌入式开发,朋友建议去买一开发板,动手做。但那时,我仅有模电数电基础而已,连微机原理都还没看,看单片机都觉得费劲。
所以,我后来决定把《数据结构》《计算机组成原理》《微机原理》《操作系统原理》看掉。直到现在,我还没开始ARM体系的学习,还没开始Linux系统的学习。
但看完这些课程后,我认为,这些理论基础是必须的。
没有《计算机组成原理》做基础,学习《微机原理(80x86)》会费劲,许多概念会搞不清楚;
没有《微机原理(80x86)》做基础,学习《操作系统》时,会弄不清楚进程空间、虚拟存储、模式切换等很重要的概念;
而没有《数据结构》做基础,学习计算机的所有课程都会很不爽。
只是,看了许多前辈的说法,似乎《编译原理》很重要。
而且,我个人在学习程序语言C/C++时,也体会到,如果不懂编译器的工作原理,许多地方只能糊里糊涂地跳过去。
但我现在急着想跨入Linux的大门,有点想走捷径。。。所以上来请教各位大牛。谢谢关注! |