嵌入式系统学习方法(转)
来源:百度文库 编辑:神马文学网 时间:2024/10/04 05:47:27
(2007-11-26 14:41:21)
标签:
学习有捷径吗?俺认为是有的,正确的道路就是捷径。
就好象是爬山,如果有导游图,那就能找到一条最正确的路线;如果没有导游图,自己瞎琢磨,东问西问,也未必能找到最佳的路线。
有时候回首前尘,会谓叹,要是当时我这样做就好了;这也说明了人生会有一个最优解。
嵌入式系统的学习也是一样,作为电子专业或者其它专业的学生来说,想要把嵌入式系统的学习搞好,走一条成功的人生道路,那应该怎么去做呢?俺试着分析看看。
当然人生的道路很多很多,嵌入式不可能是唯一的道路,也绝对不是最好的道路;这些都是因人而异的;
如果你没有什么别的资源,俺主要指的是人脉,资金,需要靠技术吃饭,正好你学的是电子、自动化、通讯...这样跟嵌入式相关的专业,又正好喜欢技术,那么可以考虑把嵌入式当作自己的傍身之技来学习。这时寻求嵌入式系统学习的最优解就有了意义。
一、 嵌入式系统的定义
根据网络上搜索到的关于嵌入式系统的定义,结合自己对嵌入式系统的理解,把嵌入式系统定义如下:
1、 嵌入式系统简单的说就是面向特定应用设计的专用计算机系统;
2、嵌入式系统与普通的PC或者notebook不同,嵌入式系统的外形尺寸、功耗、外部适配器等各种特征必须满足应用的要求和限制;
3、 嵌入式系统的软件包括操作系统烧录在一块电路板上;
4、使用低功耗的X86级别的CPU,采用模块化的设计,配置了最基本的计算机周边配备而制成。这种计算机通常采用Windows操作系统;
5、 嵌入式系统的CPU可以是:4位、8位、16位、32位;
6、 嵌入式系统应用广泛,诸如:
1) 小家电
2) 汽车
3) 电梯
4) 电视
5) 录像机或者VCD、DVD
6) mp3、mp4
7) 工业控制
8) 医疗设备
9) 卫星
10) 电话
11) PDA
12) 飞行系统等等
13) ……
7、 嵌入式系统的体系结构:
1) CPU
2) RAM
3) ROM或者flash ram
4) AD
5) DA
6) 人机界面(例如按键+LED/LCD/彩色液晶显示器/)
7) I/O
8) Usart
9) USB
10) CAN
11) 以太网
12)嵌入式的操作系统,例如:uc/os、linux、vxworks、wince、dos。。。
8、嵌入式系统更多的表现为SoC的特点,也就是把整个系统都集成在一个芯片上,例如,ATMEL的arm7的芯片91sam7x128/256等;用户可以获得廉价而功能强大的嵌入式系统;
二、 最正确的学习道路 - 从8位mcu到canbus到ARM7
第一步:熟悉8位mcu
个人的看法是,学习嵌入式的技术有个脉络:8位mcu(51或者avr...)+can2.0B+arm7+arm9,学习的时候可以按照这个脉络来进行;
作为低端的嵌入式系统,选择8位mcu作为入门是比较适中的,而8位mcu中,相比pic、avr、freescale等等8位单片机来说,又以选择51核的单片机作为学习8位mcu的首选来更加合适。当然这个观点是仁者见仁智者见智;如果需要理由的话,那么也许以下这些理由可以作为参考:
1. 51上积累了大量的优秀的代码和其它资源;网络上这样的资源太多了,几乎就是不花钱的;
2.生产51内核的单片机的厂家很多,比如:ATMEL、华邦、LG、飞利浦、STC(宏晶科技)、TI、…
3. 51单片机在细分低端市场,面向不同的行业应用,厂家推出了不同的产品,如LPC900系列,STC的12CXXXX系列;在功能、价格、功耗,体积,封装、抗干扰等方面来满足行业用户的需求;例如,现在的51单片机越来越多的集成了A/D、D/A、SPI、I2C、PWM、内部时钟、看门狗、eeprom、ISP/IAP等等,已经跟传统的ATMEL的89C51/52有了很大的差别!功能越来越强大的同时成本越来越低,而且不担心某个厂家缺货...
4. 。。。。(还在不断增加之中)
第二步:熟悉can2.0A/B,在精通51的基础上,熟悉can2.0A/B
为什么是canbus而不是modbus bus、bitbus?
CAN是德国Bosch 公司为解决现代车辆中众多的控制和数据交换问题,开发出一种CAN(Controller Area Network)现场总线通信结构。其主要特点是:
1. 8字节的短帧传送,故传输时间短、抗干扰性强;
2. 高速,最高速度可达1Mbit/s;
3.多主方式,多主之间又可以分成是主节点和次节点;各节点均可在任意时刻主动向网络上的其他节点发送信息,不分主从,通信灵活;发送的时候总线自动仲裁主次;主节点占有优先权;
4. 可以做到全区广播、分区广播和点对点通讯;
5. Can控制器自动过滤帧号不符的帧;大大减轻了CPU的负担;
6.具有多种错误校验方式如CRC及其他校验措施,数据出错率极低;而且在严重错误的情况下,节点会自动离线,避免影响总线上其它节点;Rs485经常是一个节点影响了总线上所有的节点;
7. 采用无损坏的仲裁技术;
作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通讯控制方式,CAN总线已被广泛应用于各个行业之中。大致有以下这些行业:
1、 汽车电子
2、 自动控制
3、 智能大厦
4、 电子系统
5、 纺织
6、 智能仪表
7、 医疗系统
8、 电梯
9、 安防监控
10、 电源
11、 运动控制
12、 …等各领域中,取代了原来的落后的RS485的通讯方式。bitbus/modbus在物理层上都是Rs485的。
第三步:熟悉ARM7,掌握ARM这个超级单片机(32位)
三、 直奔主题 - 不要穿着棉袄洗澡
学什么很重要,没有必要穿着棉袄洗澡,直奔主题,要学就学最有用的东西。
比如单片机,学什么型号?市场上的单片机,有51、AVR、PIC、freescale等不同的系列,把任何一款单片机学会了玩通了那都是很不错;
但是我个人认为还是51系列的单片机在中国使用最多,去中发问问哪款单片机出货量最大就知道啦;
据说有些大学现在还在教授Z80,在论坛上争论起来,有些人支持,有些人反对;支持的人认为这是一款很好的原型机,可以学到很多计算机的原理;
但是对于嵌入式系统的学习者,一款已经过时的技术学它做什么?难道学了不能致用是对的?
学习51不也一样能了解计算机的基础知识?而学好了51毕业出去就能生存;
大家都知道485总线要想可靠工作非专家不可,而现在canbus作为更加可靠性能更加卓越的总线技术,节点数量每年递增;可以说,51+canbus能够让你如虎添翼;
那么,是不是去学习canbus要能获得更加远大的前途而不必在485上浪费宝贵的青春?答案显然是前者。
毕业之前的大学n年+毕业设计就是为了迈出就业的第一步;第一步很重要。
人生不要有断点,一步接着一步,现在迈出的一步就是为了下一步做好准备,甚至为了比较长远的以后
标签:
学习有捷径吗?俺认为是有的,正确的道路就是捷径。
就好象是爬山,如果有导游图,那就能找到一条最正确的路线;如果没有导游图,自己瞎琢磨,东问西问,也未必能找到最佳的路线。
有时候回首前尘,会谓叹,要是当时我这样做就好了;这也说明了人生会有一个最优解。
嵌入式系统的学习也是一样,作为电子专业或者其它专业的学生来说,想要把嵌入式系统的学习搞好,走一条成功的人生道路,那应该怎么去做呢?俺试着分析看看。
当然人生的道路很多很多,嵌入式不可能是唯一的道路,也绝对不是最好的道路;这些都是因人而异的;
如果你没有什么别的资源,俺主要指的是人脉,资金,需要靠技术吃饭,正好你学的是电子、自动化、通讯...这样跟嵌入式相关的专业,又正好喜欢技术,那么可以考虑把嵌入式当作自己的傍身之技来学习。这时寻求嵌入式系统学习的最优解就有了意义。
一、 嵌入式系统的定义
根据网络上搜索到的关于嵌入式系统的定义,结合自己对嵌入式系统的理解,把嵌入式系统定义如下:
1、 嵌入式系统简单的说就是面向特定应用设计的专用计算机系统;
2、嵌入式系统与普通的PC或者notebook不同,嵌入式系统的外形尺寸、功耗、外部适配器等各种特征必须满足应用的要求和限制;
3、 嵌入式系统的软件包括操作系统烧录在一块电路板上;
4、使用低功耗的X86级别的CPU,采用模块化的设计,配置了最基本的计算机周边配备而制成。这种计算机通常采用Windows操作系统;
5、 嵌入式系统的CPU可以是:4位、8位、16位、32位;
6、 嵌入式系统应用广泛,诸如:
1) 小家电
2) 汽车
3) 电梯
4) 电视
5) 录像机或者VCD、DVD
6) mp3、mp4
7) 工业控制
8) 医疗设备
9) 卫星
10) 电话
11) PDA
12) 飞行系统等等
13) ……
7、 嵌入式系统的体系结构:
1) CPU
2) RAM
3) ROM或者flash ram
4) AD
5) DA
6) 人机界面(例如按键+LED/LCD/彩色液晶显示器/)
7) I/O
8) Usart
9) USB
10) CAN
11) 以太网
12)嵌入式的操作系统,例如:uc/os、linux、vxworks、wince、dos。。。
8、嵌入式系统更多的表现为SoC的特点,也就是把整个系统都集成在一个芯片上,例如,ATMEL的arm7的芯片91sam7x128/256等;用户可以获得廉价而功能强大的嵌入式系统;
二、 最正确的学习道路 - 从8位mcu到canbus到ARM7
第一步:熟悉8位mcu
个人的看法是,学习嵌入式的技术有个脉络:8位mcu(51或者avr...)+can2.0B+arm7+arm9,学习的时候可以按照这个脉络来进行;
作为低端的嵌入式系统,选择8位mcu作为入门是比较适中的,而8位mcu中,相比pic、avr、freescale等等8位单片机来说,又以选择51核的单片机作为学习8位mcu的首选来更加合适。当然这个观点是仁者见仁智者见智;如果需要理由的话,那么也许以下这些理由可以作为参考:
1. 51上积累了大量的优秀的代码和其它资源;网络上这样的资源太多了,几乎就是不花钱的;
2.生产51内核的单片机的厂家很多,比如:ATMEL、华邦、LG、飞利浦、STC(宏晶科技)、TI、…
3. 51单片机在细分低端市场,面向不同的行业应用,厂家推出了不同的产品,如LPC900系列,STC的12CXXXX系列;在功能、价格、功耗,体积,封装、抗干扰等方面来满足行业用户的需求;例如,现在的51单片机越来越多的集成了A/D、D/A、SPI、I2C、PWM、内部时钟、看门狗、eeprom、ISP/IAP等等,已经跟传统的ATMEL的89C51/52有了很大的差别!功能越来越强大的同时成本越来越低,而且不担心某个厂家缺货...
4. 。。。。(还在不断增加之中)
第二步:熟悉can2.0A/B,在精通51的基础上,熟悉can2.0A/B
为什么是canbus而不是modbus bus、bitbus?
CAN是德国Bosch 公司为解决现代车辆中众多的控制和数据交换问题,开发出一种CAN(Controller Area Network)现场总线通信结构。其主要特点是:
1. 8字节的短帧传送,故传输时间短、抗干扰性强;
2. 高速,最高速度可达1Mbit/s;
3.多主方式,多主之间又可以分成是主节点和次节点;各节点均可在任意时刻主动向网络上的其他节点发送信息,不分主从,通信灵活;发送的时候总线自动仲裁主次;主节点占有优先权;
4. 可以做到全区广播、分区广播和点对点通讯;
5. Can控制器自动过滤帧号不符的帧;大大减轻了CPU的负担;
6.具有多种错误校验方式如CRC及其他校验措施,数据出错率极低;而且在严重错误的情况下,节点会自动离线,避免影响总线上其它节点;Rs485经常是一个节点影响了总线上所有的节点;
7. 采用无损坏的仲裁技术;
作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通讯控制方式,CAN总线已被广泛应用于各个行业之中。大致有以下这些行业:
1、 汽车电子
2、 自动控制
3、 智能大厦
4、 电子系统
5、 纺织
6、 智能仪表
7、 医疗系统
8、 电梯
9、 安防监控
10、 电源
11、 运动控制
12、 …等各领域中,取代了原来的落后的RS485的通讯方式。bitbus/modbus在物理层上都是Rs485的。
第三步:熟悉ARM7,掌握ARM这个超级单片机(32位)
三、 直奔主题 - 不要穿着棉袄洗澡
学什么很重要,没有必要穿着棉袄洗澡,直奔主题,要学就学最有用的东西。
比如单片机,学什么型号?市场上的单片机,有51、AVR、PIC、freescale等不同的系列,把任何一款单片机学会了玩通了那都是很不错;
但是我个人认为还是51系列的单片机在中国使用最多,去中发问问哪款单片机出货量最大就知道啦;
据说有些大学现在还在教授Z80,在论坛上争论起来,有些人支持,有些人反对;支持的人认为这是一款很好的原型机,可以学到很多计算机的原理;
但是对于嵌入式系统的学习者,一款已经过时的技术学它做什么?难道学了不能致用是对的?
学习51不也一样能了解计算机的基础知识?而学好了51毕业出去就能生存;
大家都知道485总线要想可靠工作非专家不可,而现在canbus作为更加可靠性能更加卓越的总线技术,节点数量每年递增;可以说,51+canbus能够让你如虎添翼;
那么,是不是去学习canbus要能获得更加远大的前途而不必在485上浪费宝贵的青春?答案显然是前者。
毕业之前的大学n年+毕业设计就是为了迈出就业的第一步;第一步很重要。
人生不要有断点,一步接着一步,现在迈出的一步就是为了下一步做好准备,甚至为了比较长远的以后
嵌入式系统学习方法(转)
嵌入式系统简介
嵌入式系统词汇表
构建嵌入式Linux系统
关于嵌入式系统方向
嵌入式系统简介
嵌入式系统 Boot Loader
嵌入式系统学习日志
嵌入式实时系统
嵌入式系统学习日志
单片机与嵌入式系统
嵌入式系统学习步骤 嵌入式在线博客
嵌入式系统设计师考试笔记之嵌入式系统基础知识
嵌入式系统设计师考试笔记之嵌入式系统基础知识1
嵌入式系统设计师考试笔记之嵌入式系统基础知识
关于嵌入式系统方向!【转贴】
嵌入式系统数据同步协议
BusyBox 简化嵌入式 Linux 系统
BusyBox 简化嵌入式 Linux 系统
构建嵌入式Linux系统平台
嵌入式系统的开发规范化
嵌入式linux系统开发概述
深入嵌入式系统的 BootLoader
嵌入式系统十三特性法则