跳转到主要内容

嵌入式

单片机、ARM、FPGA、嵌入式的区别及各自特点

judy /

<strong>单片机的特点:</strong>

(1) 受集成度限制,片内存储器容量较小,一般内ROM:8KB以下;
(2) 内RAM:256KB以内。
(3) 可靠性高
(4) 易扩展
(5) 控制功能强
(6) 易于开发

<strong>ARM的特点:</strong>

(1)自带廉价的程序存储器(FLASH)和非易失的数据存储器(EEPROM)。这些存储器可多次电擦写,使程序开发实验更加方便,工作更可靠。

(2)高速度,低功耗。在和M51单片机外接相同晶振条件下,AVR单片机的工作速度是M51单片机的30-40倍;并且增加了休眠功能及CMOS技术,使其功耗远低于M51单片机。

(3) 工业级产品。具有大电流输出可直接驱动SSR和继电器,有看门狗定时器,防止程序走飞,从而提高了产品的抗干扰能力。

(4) 超功能精简指令,具有32个通用工作寄存器,相当于M51单片机中32个累加器!从而克服了单一累加器工作的瓶颈效应。

(5)程序下载方便。AVR单片机即可并行下载也可串行下载,无需昂贵的编程器。此外,还可以在线下载!也就是说可以直接在电路板上进行程序修改和烧录。

【下载】面向嵌入式工程师的MPLAB® XC32用户指南

judy /

本文档提供了5个适用于32位器件和MPLAB® XC32 C编译器的代码示例。读者需要掌
握一些单片机和C编程语言的相关知识。

1. 点亮或熄灭LED
2. 使用延时函数使LED闪烁
3. 使用中断作为延时在LED上显示递增计数
4. 使用ADC在LED上显示电位器值(MPLAB Harmony)
5. 使用ADC在LED上显示电位器值(MCC)
6. 在LED上显示闪存值(MPLAB Harmony)
7. 在LED上显示闪存值(MCC)

<font color="#0000C6" size="4"><a href="http://mcu.eetrend.com/files/2018-05/wen_zhang_/100011507-40644-c.pdf">…《面向嵌入式工程师的MPLAB® XC32用户指南》</a></font>

uCOS-II的嵌入式串口通信模块设计

judy /

在uCOS-II实时内核下,对外设的访问接口没有统一完善,有很多工作需要用户自己去完成。串口通信是单片机测控系统的重要组成部分,异步串行口是一个比较简单又很具代表性的中断驱动外设。本文以单片机中的串口为例,介绍uCOS—II下编写中断服务程序以及外设驱动程序的一般思路。

<strong>1、uCOS-II的中断处理及51系列单片机中断系统分析</strong>

uCOS-II中断服务程序(ISR)一般用汇编语言编写。以下是中断服务程序的步骤。

保存全部CPU寄存器;调用OSIntEnter()或OSIntNesting(全局变量)直接加1; 执行用户代码做中断服务; 调用OSIntExit(); 恢复所有CPU寄存器; 执行中断返回指令。

uCOS-II提供两个ISR与内核接口函数;OSIntEnter()和OSIntExit()。OSIntEnter()通知uCOS-II核,中断服务程序开始了。事实上,此函数做的工作是把一个全局变量OSIntNesting加1,此中断嵌套计数器可以确保所有中断处理完成后再做任务调度。另一个接口函数OSIntExit()则通知内核,中断服务已结束。根据相应情况,退回被中断点(可能是一个任务或者是被嵌套的中断服务程序)或由内核作任务调度。

嵌入式Linux系统移植的四大步骤

judy /

嵌入式Linux系统移植主要由四大部分组成:
&nbsp; • &nbsp; 搭建交叉开发环境;
&nbsp; • &nbsp; bootloader的选择和移植;
&nbsp; • &nbsp; kernel的配置、编译、和移植;
&nbsp; • &nbsp; 根文件系统的制作;

<font size="3"><strong>第一部分:搭建交叉开发环境</strong></font>

先介绍第一分部的内容:搭建交叉开发环境,首先必须得思考两个问题,什么是交叉环境? 为什么需要搭建交叉环境?

嵌入式这12条特性准则一定要记住

judy /

嵌入式计算不仅需要网络快速、一致的计算,而且也要求系统能够井然有序地将其执行代码和数据,存储在一个“ 共同” 的“ 狭小” 的空间内。

<strong>1、鲁棒性法则</strong>

嵌入式计算不仅要求系统迅速而有效的计算,而且还要求在某些计算单元出现错误的时候,系统仍然能 够继续正常运行工作。

<strong>2、实时性法则</strong>

嵌入式系统的计算结果,不仅依赖于系统的逻辑运算之正确性,而且也依赖于这个运算结果的计算时间。

<strong>3、冗余度法则</strong>

在嵌入式系统具有足够的冗余度之后,系统的“ 初始敏感性” 对于其“最终计算结果” 的影响就变得微乎其微了。

<strong>4、结构性法则</strong>

对于嵌入式系统而言,其结构复杂性的趋势表明:

a. 系统结构越简单越有效(The simplest is the best);

b. 系统结构越复杂越稳定(More complex is more stable) 。

嵌入式WiFi与普通WiFi有什么不同?

judy /

首先我们来看一下嵌入式WiFi的来源以及与普通WiFi的区别。

我们都知道笔记本、手机、平板电脑等这类产品具有强大的CPU和大容量的存储器进行网络通信数据的处理和存储,因此在使用WiFi时不需要额外的MCU,完全借助其高速处理器和庞大的软件系统。但是对于家电、仪表、LED灯等智能家居产品,因为该类产品的主控芯片可能是成本很低、功能简单的MCU,因此这类产品无法支持普通Wi-Fi的功能。同时,还有一个重要的原因就是普通Wi-F的功耗比较高,而嵌入式WIFI在功耗上做了很大的改善,比较适合对功耗要求高的无线家电设备。

基于上述原因,各个无线厂商相继推出了嵌入式WiFi模块。嵌入式WiFi模块的特点是软硬件集成度高,整个嵌入式WiFi模块集成了射频收发器、MAC、WIFI驱动、所有WIFI协议、无线安全协议、一键连接等。总之,一句话:嵌入式WiFi应物联网而生!

【下载】面向嵌入式工程师的 MPLAB® XC16用户指南

judy /

本文档提供了5个适用于16位器件和MPLAB® XC16 C编译器的代码示例。读者需要掌握一些单片机和C编程语言的相关知识。

1. 点亮或熄灭LED

2. 使用_delay()函数使LED闪烁

3. 使用中断作为延时在LED上递增计数

4. 使用ADC在LED上显示电位器值

5. 在LED上显示EEPROM数据值

A 在MPLAB X IDE中运行代码

B 获取软件和硬件

<font color="#0000C6" size="4"><a href="http://mcu.eetrend.com/files/2018-03/wen_zhang_/100010822-37972-6.pdf">…《面向嵌入式工程师的 MPLAB® XC16用户指南》</a></font>

单片机嵌入式编程的五个注意事项

judy /

在单片机编程的过程中,如果一名设计者能够同时掌握多门编程语言,那么这名设计者肯定是一位非常优秀的人才。但是想要同时精通汇编、C语言、C++这三门语言实在是太难了,很多初学者在其中一门的学习中就已经到处碰壁,苦不堪言。本文特意为大家整理了拥有嵌入式编程领域多年工作经验的工程师意见,汇总成了一篇能够对嵌入式编程经验有着指导意义的注意事项,感兴趣的朋友快来看一看吧。

在单片机嵌入式编程中,最难的两部分是interrupt和MM(memory manage),之所以有人觉得并不困难,那是因为太多数情况下芯片制造商都已经直接写好,但是如果设计者本身就在为芯片制造商工作,那就必须自己会写配置文件。

这两个东西之所以比较难是因为要用汇编或类C来写,属于比较低层的东西,中断有外部中断和内部中断,外部中断有两种实现模式,硬件中断模式和软件中断模式,相对来说比较简单,属于应用层面的,相比之下,内部中断就要复杂得多,内部中断主要是发生重起,总线出错、溢出、校验出错等情况产生的,很多软件开发人员基本上不写对应的中断服务程序,因为它太难了而且一般也用不到。但是一旦发生,那就是致命错误,因此从整个系统健壮性来考虑必须要有相应的ISR才行,这也是freescale的专家建议的,因所以下面就谈一下嵌入式编程应该注意的问题。

浅谈嵌入式MCU开发中的三个常见误区

judy /

<font color="#FD8900">作者:胡恩伟</font>

<font size="3"><strong> 嵌入式MCU与MPU的区分</strong></font>

嵌入式系统中的处理器按照是否集成片上Flash和RAM可以分为MCU(MicroControl Unit—微控制器)和MPU(MicroProcess Unit—微处理器)。典型的MCU如Freescale S08、S12和MPC56xx以及8051单片机等,而典型的MPU如基于ARMCortex A系列内核的i.MX系列处理器:

几种常用的嵌入式Linux GUI及其特点

judy /

随着Internet与网络的迅速发展并向家庭领域不断扩展,使消费电子、计算机、通信(3C)一体化趋势日趋明显,嵌入式系统再度成为研究与应用的热点。嵌入式实时Linux操作系统以价格低廉、功能强大又易于移植而正在被广泛采用,成为新兴的力量,如今随着WAP手机、PDA、机顶盒、及DVD/VCD播放机已经迅速普及,用户对这些手持式设备的GUI提出了更高的要求,希望能看到像PC机才拥有的华丽美观的GUI。GUI已经成为了人与机器沟通的桥梁,嵌入式系统对GUI的需求越来越高,而这一切均要求有一个轻型、占用资源少、高性能、高可靠、可配置及美观的GUI支持。

<strong>1 Java的图形界面工具</strong>