嵌入式系统原理及应用--刘存良老师主讲 课程整理2

一、上课引入

1、FPGA

FPGA (Field Programmable Gate Array,现场可编程逻辑门阵列),是一种芯片。FPGA由逻辑单元、RAM、乘法器等硬件资源组成,通过将这些硬件资源合理组织,可实现乘法器、寄存器、地址发生器等硬件电路,可无限地重新编程,加载一个新的设计方案只需几百毫秒,利用重配置可以减少硬件的开销。但是FPGA的所有功能均依靠硬件实现,无法实现分支条件跳转等操作,并且只能实现定点运算。
一句话来说,FPGA依靠硬件来实现所有的功能,速度上可以和专用芯片相比,但设计的灵活度与通用处理器相比有很大的差距。
(以上均来自百度百科)
emmm,刘老师在课上只是简单地提了一下,FPGA是用来做数字电路开发的,比如我们去年暑假做的时钟,说实话,去年能做出东西来挺好玩的,就是感觉写的程序太繁琐,当时哗啦啦写了几百行的样子……

2、ST

ST(STMicroelectronics,意法半导体),其历史还有营业规模上百度上一搜多的是,我就不啰嗦了。ST的封装能力在业界堪称独一无二,其智能卡IC有两种封装形式:切割过的晶片和先进微型模块,其中模块的集成度和安全性都非常出色。
简单来说,ST就是做芯片的,在天猫上搜了一下,价位在几块到几十块吧。上上节课刘老师也和我们班提到过ST芯片的取名规则,有一本书还专门列了一下那个取名规则,他说要把那本书的pdf发到群里的,但估计后面又忘了,现在连影子都没见到……具体的可以在网上搜一下。

3、实时操作系统

就拿我们上节课说的那个ARMv7来说,它的ARMv7-R突出的性能是实时性高,这里的实时性是指在较短的规定时间内完成任务,那从这里我们就可以知道,这里提到的实时是相对的实时,所以需要软件来调动,因此出现了实时操作系统。
RTOS(Real Time Operating System,实时操作系统),我们一般用的linux一般都是分时操作系统,只有RTLinux(AReal-Time Linux,亦称作实时Linux)是实时操作系统,目前RTLinux有一个由社区支持的免费版本,称为RTLinux Free,以及一个来自FSMLabs的商业版本,称作RTLinux Pro。RT-Linux开发者并没有针对实时操作系统的特性而重写Linux的内核,因为这样做的工作量非常大,而且要保证兼容性也非常困难。将linux的内核代码做一些修改,将linux本身的任务以及linux内核本身作为一个优先级很低的任务,而实时任务作为优先级最高的任务。即在实时任务存在的情况下运行实时任务,否则才运行linux本身的任务。
此外,μc/os和Vxworks也是比较有名的实时操作系统。

4、泛在网

今天刘老师突然提到了习大大在十九大上说到的泛在网,问我们泛在网是什么,之前我是听说过它的定义的,但这个名字太冷门了,之后也很长时间没见到,所以就遗忘在了我记忆深处,定义什么的也很模糊。当然,不知道就百度,所以我又记起了“泛在网”即广泛存在的网络,它以无所不在、无所不包、无所不能为基本特征,以实现在任何时间、任何地点、任何人、任何物都能顺畅地通信为目标。而近年来,在物联网、互联网、电信网、传感网等网络技术的共同发展下,实现社会化的泛在网也逐渐形成。

5、ARM7TDMI

ARM7TDMI是最早实现32位的通用核,也是ARM公司最早为业界普遍认可且得到了广泛应用的核,也就是说,如果如果把ARM成为一个帝国,ARM7TDMI就是开国将军,然而在时间的大浪淘沙下,它现在成为了目前ARM最低端的核。
ARM7TDMI内核既能执行32位的ARM指令集,又能执行16位的Thumb指令集。

6、MCU

微控制单元(Microcontroller Unit;MCU) ,又称单片微型计算机(Single Chip Microcomputer )或者单片机,是把中央处理器(Central Process Unit;CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。诸如手机、PC外围、遥控器,至汽车电子、工业上的步进马达、机器手臂的控制等,都可见到MCU的身影。
一定和CPU、SOC(system on chip)区别开。

7、交叉开发环境

所谓交叉开发是指先在一台通用PC上进行软件的编辑、编译与连接,然后下载到嵌入式设备中运行调试的开发过程。通用PC成为宿主机,嵌入式设备成为目标机。
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil公司2005年由ARM公司收购。而后ARM Keil推出基于μVision界面,用于调试ARM7,ARM9,Cortex-M内核的MDK-ARM开发工具,用于为控制领域的开发。

8、.hex文件

hex文件格式是可以烧写到单片机中,被单片机执行的一种文件格式,生成Hex文件的方式有很多种,可以通过不同的编译器将C程序或者汇编程序编译生成hex。打开hex文件后可发现,整个文件以行为单位,每行以冒号开头,内容全部为16进制码(以ASCII码形式显示)。
HEX文件的每一行都是这样的格式:
<0x3a>
[数据长度1Byte]
[数据地址2Byte]
[数据类型1Byte]
[数据nByte]
[校验1Byte]
<0x0d>
<0x0a>
详解见百度百科。
写完程序需要烧写到板子上,可用FLASH LOADER,而中间调试可以用调试软件仿真器/调试器。

你可能感兴趣的:(嵌入式系统原理及应用)