最近学习了8位单片机Mega8,特点是:比51系列单片机工作时钟频率(16兆赫字)大,并且有多种工作模式,空闲,掉电模式,省电模式,standy模式,睡眠等等
可以通过熔丝设置时钟,(外部晶体振荡器,外部低频晶振,外部RC振荡器,标定的内部RC振荡器,外部时钟)。
各种功能模块很全,有特色的是SPI模式,因为下载程序就用这种模式。下载过程,flash分成两个部分一个是应用flash区,另一个是bootloader区,关于这两部分的大小可以用编程熔丝来实现,还可以编程熔丝定义复位向量的起始地址,是定位到应用区还是bootloader区等。
其中bootloader可以以任何方式下载程序,串口,spi等。并且bootloader可以访问程序的任何部分,包括它自己。所以说IAP功能应运而生。
回忆一下 PC 的体系结构我们可以知道,PC 机中的引导加载程序由 BIOS(其本质就是一段固件程序)和位于硬盘MBR中的OS Boot Loader(比如,LILO 和 GRUB 等)一起组成。Boot Loader 的主要运行任务就是将内核映象从硬盘上读到RAM 中,然后跳转到内核的入口点去运行,也即开始启动操作系统。
而在嵌入式系统中,通常并没有像BIOS 那样的固件程序(注,有的嵌入式 CPU 也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由 Boot Loader 来完成。比如在一个基于 ARM7TDMI core 的嵌入式系统中,系统在上电或复位时通常都从地址 0x00000000 处开始执行,而在这个地址处安排的通常就是系统的Boot Loader程序
大多数 Boot Loader 都包含两种不同的操作模式:"启动加载"模式和"下载"模式,这种区别仅对于开发人员才有意义。但从最终用户的角度看,Boot Loader 的作用就是用来加载操作系统,而并不存在所谓的启动加载模式与下载工作模式的区别。
启动加载(Boot loading)模式:这种模式也称为"自主"(Autonomous)模式。也即 Boot Loader 从目标机上的某个固态存储设备上将操作系统加载到 RAM 中运行,整个过程并没有用户的介入。这种模式是 Boot Loader 的正常工作模式,因此在嵌入式产品发布的时侯,Boot Loader 显然必须工作在这种模式下。
下载(Downloading)模式:在这种模式下,目标机上的 Boot Loader 将通过串口连接或网络连接等通信手段从主机(Host)下载文件,比如:下载内核映像和根文件系统映像等。从主机下载的文件通常首先被 Boot Loader 保存到目标机的 RAM 中,然后再被 Boot Loader 写到目标机上的FLASH 类固态存储设备中。Boot Loader 的这种模式通常在第一次安装内核与根文件系统时被使用;此外,以后的系统更新也会使用 Boot Loader 的这种工作模式。工作于这种模式下的 Boot Loader 通常都会向它的终端用户提供一个简单的命令行接口。
像 Blob 或 U-Boot 等这样功能强大的 Boot Loader 通常同时支持这两种工作模式,而且允许用户在这两种工作模式之间进行切换。比如,Blob 在启动时处于正常的启动加载模式,但是它会延时 10 秒等待终端用户按下任意键而将 blob 切换到下载模式。如果在 10 秒内没有用户按键,则 blob 继续启动 Linux 内核。
关键字:avr 单片机 学习心得
引用地址:
avr单片机学习心得
推荐阅读最新更新时间:2024-03-16 14:42
内嵌微控制器的无线数据发射器的特性及应用
摘要: 简要介绍内嵌AVR RISC微控制器的无线数据发射器AT86RF401的功能、内部结构、引脚排列及典型的应用电路。
关键词: 线数据传输 无线发射器 微控制器
概 述
AT86RF401是单片机集成内嵌AVR RISC微控制器的RF无线数据发射器,输出频率范围为250~450MHz,最大输出功率+6dBm,发射率10Kband。芯片内嵌AVR RISC微控制器、2KB(1K×16b)的Flash程序存储器、128B(字节)的可下载的EEPROM数据存储器、128B的RISC SRAM、看门狗定时器、6个通用I/O、在系统可编程。工作电压2.0~
[嵌入式]
单片机红外遥控数字钟
闲来无事,练练单片机编程。在原来的一个数字钟的基础上增加红外遥控功能。硬件是2051单片机,int0口作为红外信号输入。红外接收头用家电中常用的一体化接收头。脚位是地,正电源,信号输出。信号输出脚接到2051的第6脚,平时红外输出呈高电平,收到信号时呈低电平,2051产生外部中断。程序中加入外部中断int0中断处理代码和定时器1中断处理代码。定时器1作为计数器,用于测量红外信号的脉冲宽度。int0处理过程,关闭计数器1,取出数值放到一个数组中。当数组长度达到34时,取出数据,根据脉冲宽度分辨0和1,测得宽度分别是4和8,取其平均值,大于6的为1,小于6的为0。其中,10到18位为识别码,18到26位为数据。识别码用于区别不同厂家的
[单片机]
单片机在平衡能力静态测试及动态训练中应用方案
1. 引言 人类的平衡能力是人能够进行各种运动的基础,人的站立、坐卧、行走都需要有平衡能力。一旦人的平衡能力有障碍,则人的行动能力就受制约,给学习、生活带来极大的不便。在现代化的社会,人口老龄化问题突出,老年人因某种疾病而导致脑损伤引起平衡能力降低,行动能力受阻。因此,在临床治疗中,需要一种能对平衡功能检验的设备。我校在上海瑞金医院的协作下,在分析了国际、国内有关资料的基础上,应用先进的计算机控制技术研制成功了多功能的人体平衡康复仪。使用该仪器可以客观、定量地进行平衡功能的测试、分析和训练,可以地进行平衡能力的静态测试和动态训练。为临床研究提供了有效的手段。 2.仪器功能 ·仪器的测量范围:10---360kg ·重心位置
[单片机]
AVR单片机用progisp下载时报错Chip Enable Program Error
两块ATmega16总是下载不成功,无论是读芯片ID还是读FLASH都提示chip enable program error. 报错的“咣咣”声,震的头都蒙了。 查了网上的解决方案,分析有以下几种原因: 1、下载线的问题 2、固件有问题 3、下载器损坏 4、驱动没安装好 5、单片机供电电路,震荡电路,复位电路,有问题 6、熔丝位配置错误 也找到了几种解决方案,据他们说他们这么做好用了。 1、外加时钟就可以 2、要用老ATmega16把新ATmega16烧一遍, 再用 3、重启电脑 ,换一个USB口试一下 4、ATmega16默认是用内部1M RC起振,一般要用USBASP的低速模式,短接慢速下载就行了 本人比较倾向与解决方案的
[单片机]
8051单片机基础4:数据存储类型(data,idata,xdata,code)
参考来源:Keil Help uVision Help Cx51 Compiler User’s Guide Language Extensions Memory Types 存储类型 Cx51编译器可以访问8051的所有存储区域,声明变量时可以指定分配的存储区,也可以基于内存模型配置进行隐式分配。 实际项目中经常用到的是 xdata, code 使用方法 变量声明/定义时,添加关键字data,idata,bdata,pdata,xdata,code。 unsigned char data var1; unsigned char code text = ENTER PARAMETER: ; unsigne
[单片机]
教你如何 51单片机控制mg995舵机
这是我的小车雏形,还没完成,之前就一直卡在舵机控制部分,今天终于搞定了。接下来我就将我注意的所有部分说出来,和大家分享一下我的经验: 1 单片机,舵机,电源共地; 2 用两个稳压芯片进行供电,将电源分开来; 3 舵机信号端没有直接连接单片机IO口,我串了一个10K的电阻,也就是这一步之后我就可以控制我的舵机了。 之前听很多人说是信号端直接连IO口也可以控制的,但是我就是一直都不可以了,今天我就串了一个10K的电阻之后意外发现可以控制舵机了 所以我就发这个帖子出来,和大家分享,同时感谢那些帮我思考的人,感谢你们~~ 需要比较清楚的电路的人可以留言,如果我看需要的人很多的话我就传上来吧~~~ 基于大众的要求,要求资料,那我就把我
[单片机]
基于AT89C51CC01单片机的CAN—LIN网关设计
引言 现场总线技术已经广泛的应用于工业控制中,尤其是CAN(Controler Area Nerwork)总线由于具有可靠性高、成本低、容易实现等优点,在现场总线的实际工程应用中占有了较大的份额。伴随着总线技术的发展,LIN(Local Interconnect Network)总线作为一种低成本的串行通信网络,其目标是为现有的现场总线控制网络提供辅助功能,特别是汽车控制网络中的总线应用,因此必然存在一个LIN总线和其它总线的通信接口实现,本文以CAN总线为例,提出了一种基于AT89C51CC03单片机的CAN-LIN网关设计方案。 LIN是一种低成本的串行通讯网络用于实现汽车中的分布式电子系统控制,LIN的目标是为现有汽车网络
[网络通信]
基于PCA82C250与MCU间的直连通信网络设计
摘要:在分析了RS-485总线与CAN部迟疑不决的异同点后,以PCA82C250型接口电路为例提出了用CAN总线通信物理层接口电路来替代RS-485总线接口中电路与单片机直接连接进行通信网络设计,从而可形成一个高性能、低价格且数据通信安全、可靠的分布式测控系统。
关键词:通信物理接口 RS-485总线 CAN总线 MCU
1 概述
用于多机间数据通信的通信物理层接口是分布式测控系统数据共享的工作基础,传统的以单片机为核心的分布式多机测控系统为简化通信物理层大多采用电流环或RS-485/RS-422总线。
电流环形式因较RS-485/RS-422总线形式连线复杂等原因已基本退出历史舞台。而RS-485总线接线形式较RS-4
[单片机]