嵌入式强调实践和理论的结合,软件与硬件结合同时学。从单片机开始学起时,一定要结合项目实践去学。可以先看看下面的书,看你能不能学会,能不能自己做出来。如果没有问题,再接着去学ARM。
电子工业出版社 基础机器人制作与编程,C51单片机应用与C语言程序设计
AVR单片机与小型机器人制作。
这三本书其实都是一个模式写的,而且都是结合小型机器人的制作,学习嵌入式的入门技能。网上可以买到这些书,相应的器材也可以从教材提供的网站上买到。很便宜。看你学那方面
1软件底层
就是关于os的移植啊,bootloader,硬件接口
推荐先研究一下基本的 *** 作系统,比如看一下Tanenbaum写的 *** 作系统设计与实现
,了解一下linux的源代码,总之要对 *** 作系统有深入的了解
语言的话,汇编能看懂就行,c要熟练哦,部分上参考一下硬件的学习方法
2软件高层
要是开发应用软件的话,那就是相应平台上的开发接口,比如wince就看看wince的软件开发,Linux相应的也一样,这方面感觉门槛比较低,会c++的都能写,培训两天,一个学计算机的就去开发嵌入式了
3硬件
有数电基础的话,如搞过51啥的,那相对好学点儿,如果没有的话,推荐这样学,首先是电脑上的汇编(8086)和c,接着搞个51之类的单片机学学一样得搞定汇编和c,然后上arm,其实直接学arm也行,但我想这样学能减小入门的难度
搞定了这两个,相信你对处理器这东西就有了一个系统的认识,arm同样是个处理器,搞定它的硬件应该没问题其实如果你的基础不错,单片机和C语言的基础还可以,那么学习arm还是比较容易上手的,但是他和单片机还是有很大区别的。对于你的情况,我建议你尽快买一个ARM9开发板,用的比较多的是s3c2440开发板,这个板子网上的资料有很多,而且价格在500多,性价比还是比较高的。然后你首先要对arm有个整体性的了解,现在资料比较好的是华清远见推出的arm7视频培训教程,无论是初学者还是开发人员,都能学到很多有用的东西。我现在也在学习中。对他有个了解后,你再确定自己的最终方向,可以做驱动开发,可以做应用开发。总之做的东西很多。我的qq1206744689您可以参照青岛双硕程序员培训学校的ARM嵌入式课程大纲,他们的大纲还是比较专业和到位,我的具体到我空间查找:
一、 嵌入式开发基础
1、 Linux基础知识和系统安装
2、 交叉环境的搭建;开发板的初步认识和环境建立;
3、 Linux常用命令,文本编辑器vi,简单shell脚本编程;
4、Linux开发环境基础:Gcc,Gdb,Make和Makefile;
5、嵌入式软件开发环境搭建与使用,开发板平台内核系统的烧写;
二、嵌入式C语言编程
1、复习C语言基础知识,强化指针和数组概念,学习数据结构和一些 基本算法;
2、通过大量编程实例重点讲解C语言的高级编程知识,包括函数与程序结构、指针、数组;
3、常用算法、标准库函数的使用;
4、重点讲解数据结构的基础内容,熟练地应用链表、队列、栈等编程;
5、深入介绍C程序在编译时与运行时的基本原理,及其程序的内存分布。
6、高质量的C语言编程规范和嵌入式编程要点。
三、嵌入式C++编程及嵌入式LINUX QT图形用户界面编程
1、 Linux c++编程环境;
2、 C++语法基础, 数组、指针及引用, 函数、递归及程序结构及 复杂数据类型;
3、面向对象编程:继承及多重继承、运算符重载;
4、模板类及标准模板库;
5、 异常处理;
6、 数据结构及简单算法;
7、LINUX GUI分析
8、 嵌入式QT开发环境搭建
9、QT 体系结构分析
10、QT开发图形界面程序的流程
11 、深入QT编程
12、移植Qtopia到ARM开发板
四、 嵌入式linux应用编程
1、 Linux文件管理及目录 *** 作及其编程
2、 Linux进程管理与程序开发
3、 Linux多进程编程
4、Linux多线程编程
5、Linux Socket网络编程
6、Linux 串口通讯编程
五、 ARM体系结构与编程及系统构建
1 、ARM体系结构概述
2 、ARM指令集
3 、ARM存储系统
4、 ARM集成开发环境ADS
5、ARM C/C++编程流程
6、 Bootloader构建及移植
7 、Linux内核构建及移植
8 、嵌入式Linux根文件系统
9、应用程序开发及移植
六、 基于ARM开发板的应用系统构建和编程
1、 LINUX ARM目标机与下位机PLC、单片机等通讯机交互控制的设计与实现
2、 LINUX ARM目标机与上位机PC的通讯机交互控制的设计与实现
3、 LINUX ARM目标机独立管理控制部设备(步进电机、继电器、直流电机等)的设计与实现
如果有条件的话,第一步就是弄到一块开发板。
你有C51的基础,学习应该很快,你找到相应的datasheet,先熟悉GPIO、AD转换、PWM、SPI、串行通信等功能,然后写一些小例程,实现一些综合功能,最后学习一些 *** 作系统论,移植 *** 作系统,这才是ARM的精髓。
区别:ARM由于管脚多,而且很多管脚均能复用,使用每个管脚时应注意相关设置是否满足你的用途要求。
学习时,最好买一块开发板,要熟悉你所采用的ARM 的器件资料。同时要注意多看英文原版资料,有些中文资料翻译时词不达意,易造成误解。
书就不用买了,直接下载网站上的就行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)