linux是哪个专业必修课
计算机专业好不好学?
计算机专业好不好学?
作为一个计算机专业的人,从客观角度来说,学IT是大势所趋,未来人才需求量巨大,关键是IT行业工资高啊,又是一门技术活,不可替代性高,如果你学好了计算机,成为了大神,还愁找不到好工作,娶不到漂亮媳妇儿,咳咳,扯远了。就算你是去了一家普通的小公司,干IT的工资也比其他人高一大截。不过,你要是说程序猿工作压力太大,经常加班,可是现在啥工作压力不大,除了公务员有几个工作你可以到点就下班的。但是人家程序员至少付出和收入成正比,压力大,工资也高啊。对比那些从早忙到晚,工资还就那点的人,干IT是不是好多了。
我为什么要说人家呢,没错,我毕业了没有从事IT行业。当初报专业也是觉得学计算机好就业,再加上那时《微微一笑很倾城》特别火,就觉得学了计算机,我也能当个大神,多么NB。但是真正学了之后才知道,代码这东西真不是你想学就能学会的。大一第一学期最先学的就是python,我的妈呀,因为大学之前完全没有接触编程这一块,一学期都没听懂,不知道这是个啥东西,没有啥编程思维和逻辑,还好期末考试挺水的,就复制了老师上课的一段代码,61分险过。
之后又陆续学了C、C 、Java等语言和算法这些,一开始我还是挺有兴趣和干劲的,毕竟为了美好的未来,但经历了一次次的熬夜调试代码,在大三的某个夜晚,又一次的课程设计磨灭了我对计算机的最后一丝爱。我真不是那块料,想学也学不会,宝宝心里苦啊。但我有两个编程特别棒的室友,一个是真心喜欢这玩意儿,还有一个在大学之前就提前学了一些编程的东西。别人在学习,我在吹空调;别人在学车,我在吹空调;别人赶培训班,我在吹空调。大概我就是这样被拉开距离的吧。
现在毕业了,虽然不是从事专业相关,但起码还是有点联系的,看我头像就知道了,哈哈哈。而且作为过来人(失败的过来人)建议,你在选择计算机专业前,最好是提前了解一下(不然像我一样,第一学期完全听不懂),现在很多平台都有学习资源,如果是高中生,那么其实学习程序语言也没有太难,毕竟有英语和数学基础。小学和初中生的话可以先接触少儿编程相关的,提前了解编程,形成初步的编程思维,与其让孩子玩游戏,不如让他玩编程,这确实对孩子是有很大帮助的。
回到正题,所以学计算机好吗?那必须的,如果你非常喜欢,或是需要靠工作来快速改善你的生活,我非常鼓励大家去学这个。但是,学这个并不简单,所以想清楚再去学,尤其是刚刚高考完的同学们,选专业慎重啊。
请问学习ARM嵌入式开发应该准备些什么开发工具和要求?
感谢邀请。
这个问题相信是困扰所有嵌入式初学者的难题,下面课内容是嵌入式学习必学的: C语言 C 操作系统计算机组成原理 linux编程 51单片机 arm硬件编程语言(FPGA)模拟电路amp数字电路。
1、cc 语言,这是计算机行业的必修课,必须找扎实实学好,可以安装 turbo c编译器为开发环境,联系C语言编程 安装vc 6.0学习C 编程。
2、操作系统,先在电脑上安装一个vmware work station,然后在vmware work station里安装一个linux(redhat 企业版)虚拟机。学习一下操作系统的基本原理,熟悉linux环境下的开发环境,然后你就可以照着《自己动手写操作系统》写个操作系统试试。
3、计算机组成原理,熟悉计算机的基本原理,看看一个计算机的基本组成及软件在里面是如何跑的。
4、《unix/linux编程实践教程》可以说是linux编程的必修课,很不错的一本书,初学嵌入式的朋友可以看看。
5、单片机,其实就是一台电脑,像现在的汽车控制、led控制、屏幕亮光程度控制,它都可以实现,自己买块开发板弄一下,你能学到很多的别人学不到的。
6、arm,现在流行的微机,说白了就是32位的单片机,还可以跑操作系统哦,自己想办法移植一个操作系统上去吧
7、硬件编程语言(FPGA),芯片到底是怎么做成的,学习这门课,你就知道了
8、模拟电路amp数字电路,硬件的基础,如果可以的话,学习下protel ,自己做个硬件pcb板试试。
计算机这行都是偏向于实践的课程,所以要注重动手能力,学习嵌入式这基本课程的时候,你可以按照这样的顺序来学习:
1:C语言、计算机组成原理、模拟电路amp数字电路
2:汇编语言、单片机、操作系统、C
3:硬件编程语言、arm
嵌入式开发大抵分四个方向,硬件、驱动、内核、应用,如果是希望向嵌入式软件方向发展的话,目前常见的是
嵌入式Linux ARM方向,关于这个方向,大概分3个阶段:
1、嵌入式linux上层应用,包括QT的GUI开发
2、嵌入式linux系统开发
3、嵌入式linux驱动开发 嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等 Linux是开源免费的,而且其源代码是开放的,更加适合我们学习嵌入式。
自学的话你可以尝试以下路线:
(1) C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握。 推荐书籍:谭浩强的很不错,《The C Programming Language》 这本经典的教材是老外写的,也有中译版本。
(2) 操作系统原理,是必需的,如果你是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。
(3) Linux操作系统就是用C语言编写的,所以你也应该先学习下Linux方面的编程,只有你会应用了,才能近一步去了解其内核的精髓。 推荐书籍:《UNIX环境高级编程》(第2版)
(4) 了解ARM的架构,原理,以及其汇编指令,我们在嵌入式开发中,一般很少去写汇编,但是起码的要求是能够看懂arm汇编。
(5) 系统移植的时候,就需要你从下层的bootloader开始,然后内核移植,文件系统移植等。而移植这部分对硬件的依赖是非常大的,其配置步骤也相对复杂,也没有太多详细资料。
(6) 驱动开发 linux驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。 linux驱动程序设计本质是属于linux内核编程范畴的,因而是对linux内核和内核编程是有要求的。在学习前你要想了解linux内核的组成,因为每一部分要详细研究的话足够可以扩展成一本厚书。
给大家把一个嵌入式开发学习大方面的学习框架搭出来了
。
最后呢祝大家能够在学习的路上马到成功。