嵌入式期末复习
第1章 嵌入式系统概述概念理解嵌入式系统的概念国外定义嵌入式系统是控制、监视或辅助设备、机器和车间运行的装置。
行业内普遍认同的定义以应用为中心、以计算机技术为基础,软、硬件可剪裁,适合应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统,用于对其他设备的控制、监视或管理等功能。
泛在的嵌入式系统的定义除通用PC机和服务器之外的一切计算机系统都可以叫嵌入式系统。
英文术语MCU查看含义
Micro Control Unit
嵌入式微控制器(俗称单片机),把CPU、随机存储器RAM、只读存储器ROM、I/O、中断系统、定时器/计时器、各种功能外设等资源集成到一个芯片上的微型计算机系统
MPU查看含义
Micro Processor Unit
嵌入式微处理器。MPU是由通用计算机中的CPU(微处理器)演变而来,可以理解为增强版的CPU,即不带外围功能器件。
ARM查看含义
是一家公司,也是一类技术和产品的统称。ARM公司设计的芯片主要涉及嵌入式移动设备领域,指令集更加紧凑简单,功耗和成本更低,在移动消费电子领域占据着很大的市场份额。
DSPD ...
Java 笔记 9:Java异常和异常处理
Java笔记9:Java异常和异常处理Java异常分类
异常:程序不正常的行为或者状态。
int a = 5/0;
数组越界访问
123int[] a = new int[3];a[3] = 5;//错误//只存在a[0], a[1],a[2]
读取文件,结果该文件不存在
异常处理
程序返回到安全状态
允许用户保存结果,并以适当方式关闭程序
Throwable
Error
Exception
RuntimeException
IOException
Throwable:所有错误的祖先
Error:系统内部错误或者资源耗尽。不管。
Exception:程序有关的异常。重点关注。
RuntimeException:程序自身的错误
5/0,空指针,数组越界…
非RuntimeException:外界相关的错误·
打开一个不存在文件
加载一个不存在的类…
IOException是非RuntimeException的典型示例。
Unchecked Exception :(编译器不会辅助检查的,需要程序员自己管的)异常,包括Er ...
Java笔记8:Java常用类
Java笔记8:Java常用类此笔记参考华东师范大学Java核心技术慕课:https://www.icourse163.org/course/ECNU-1002842004
Java类库概述Java类库统计
Java8有217个包,4240个类,主要是java,,Javax,org三个包
Java类库文档Java类库文档
https://docs.oracle.com/javasc/8/docs/api/官方文档目前以英文为主
非官方的文档版本有中文(社区自己翻译的)
可以下载文档离线版本(chm格式)
这些文档原先是程序中的注释。利用JavaDoc技术,将这些注释抽取出来,组织形成的以HTML为表现形式的API (Application Programming Interface,应用编程接口)文档。
Java类库列表
Java类库
包名以Java开始的包是Java核心包(Java Core Package);
包名以Javax开始的包是Java扩展包(Java Extension Package)。
java.applet.*
提供了创建applet需要的所有类
...
Java笔记7:package、import和classpath
Java笔记7:package、import和classpath此笔记参考华东师范大学Java核心技术慕课:https://www.icourse163.org/course/ECNU-1002842004
package和importpackage
所有的Java类都是放置在同一个目录下面的,因此类之间的相互调用无需显式声明调用。
同一个目录下,两个类的名字不能相同
文件过多,查找和修改都不易,且容易出错
Java支持多个目录放置Java,并且通过package/import/classpath/jar等机制配合使用,可以支持跨目录放置和调用Java类
package包,和C++中的namespace 类似
在Java类文件的第一句话给出包的名称
12345//cn/edu/PackageExample.javapackage cn.edu.ecnupublic class PackageExample{}
类全称cn.edu.ecnu.PackageExample,短名称PackageExample
类全称(长名称) = 包名 + 类名
短名称 ...
软件系统设计
软件系统设计复习第一章 软件工程概述一、软件及其特点软件 = 程序+文档+数据
软件的本质特征:
一致性:软件必须遵从人为的惯例并适应已有的技术和系统。
可变性:非实体的软件要求具备可变性,随着应用需求的变化而调整。
复杂性:由于缺乏自然约束,软件系统也就很容易变得极为复杂。软件在规模上比任何人类创造的实体都要复杂。
不可见性:软件的客观存在不具有空间形体特征。
软件分类
按功能分类:
系统软件
位于计算机系统中最接近硬件的一层,其他软件都通过系统软件发挥作用,他与具体的应用领域无关。
支撑软件
支撑各种软件的开发与维护的软件,又称为软件开发环境。
应用软件
特指应用领域专用的软件。如设备实时运行监控软件、微波炉嵌入式软件、教务管理软件、企业ERP软件等。
其他分类:
通用软件
通用软件产品。由软件开发机构制作,在市场上公开销售,可以独立使用。这类软件产品有数据库软件、字处理软件、绘图软件以及工程管理工具等。还包括用于特定目的的所谓的“垂直”应用产品,如机械CAD/CAE/PDM、财务系统等。(面向客户的共性需求,通过市场销售)
定制软件
定制软件产品 ...
Marie模拟器学习笔记
一、marie学习笔记点击跳转marie在线模拟器网站
marie简介marie 是一种机器架构和汇编语言,仅用于教育目的。
marie汇编语言是冯•洛伊曼架构的简单实现,具体如图:
寄存器
累加器(Acumulator,AC):存储中间数据。
程序计数器(Program Counter, PC):存储当前指令地址。
内存访问寄存器(Memory Access Register,MAR):获取指定内存地址的数据或将数据存储到指定内存单元。
内存缓冲寄存器(Memory Buffer Register,MBR):在将数据存入内存或从内存读取数据时存储数据。
指令寄存器(Instruction Register, IR):保存当前指令。
marie指令集
指令长度:16位(前 4 位表示操作码,其余 12 位用于表示地址)。
算术运算Add X
将存储在地址X中的值与AC中的值相加后存入AC中
1AC <- AC + X
Subt X
将AC中的值减去存储在地址X中的值后存入AC中
1AC <- AC - X
AddI X
将地址X中的值(作为地址)对应的值与A ...
【蓝桥杯】【STL训练】Who's in the Middle(sort的使用)
[蓝桥杯] [STL训练]Who’s in the Middle(sort的使用)题目描述🍂原文:
FJ is surveying his herd to find the most average cow.He wants to know how much milk this ‘median’ cow gives:half of the cows give as much or more than the median; half give as much or less.
Given an odd number of cows N (1 <= N < 10,000) and their milk output (1..1,000,000), find the median amount of milk given such that at least half the cows give the same amount of milk or more and at least half give the same or less.
翻译:
FJ 正在调查他的牛群以寻 ...
【蓝桥杯】【STL训练】A+B(stringstream的运用)
[蓝桥杯] [STL训练]A+B(stringstream的运用)题目描述🍂给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号”,”隔开。现在请计算A+B的结果,并以正常形式输出。
输入🖋输入包含多组数据,每组数据占一行,由两个整数A和B组成(-10^9 < A,B < 10^9)。
输出📜请计算A+B的结果,并以正常形式输出,每组数据占一行。
样例🌰输入样例Input12-234,567,890 123,456,789 1,234 2,345,678
输出样例Output12-111111101 2346912
解题思路🔑我的思路v1.0
连续读入多组数据:
1234while (~scanf("%ld", &x)){ ...}
用 scanf 读入数字x(int类型存储即可);
用 getchar 读入单个字符c。
通过判断读入的字符c是 , 还是 ,决定下一步操作。
负数和正数的处理是相反的:
1234if (a < 0) a = a * 1000 - ...
Java笔记6:static、final和常量设计
Java笔记6:static、final和常量设计此笔记参考华东师范大学Java核心技术慕课:https://www.icourse163.org/course/ECNU-1002842004
staticstatic介绍
static静态的,Java中特殊的关键字
Java中的static关键字(可作用在)
变量
方法
类
匿名方法块
static变量
静态变量,类共有成员
先查看例子Potato.java。
12345678910111213141516171819202122232425262728293031public class Potato{ static int price = 5; String content = ""; public Potato(int price, String content) { this.price = price; this.content = content; } public static void main(S ...
Java笔记5:继承、接口和抽象类
Java笔记5:继承、接口和抽象类继承
面向对象编程语言和面向过程的编程语言最突出的特点就是变量类型的继承
更符合大自然规律:父亲有的,儿子就有
首先看个例子:
12345678910111213141516class Father{ public void f1() { System.out.println("hi"); }}public class Son extends Father{ public static void main(String[] a) { Son s = new Son(); s.f1(); //Son没有定义f1,而是通过父类继承的 }}
面向过程编程语言没有继承,导致出现很多类型重复定义
物以类聚,世间万物皆对象,对象也可以分成若干类别。
类别内的对象属性和方法都具有一定的共同点。
将共同点提取出来,即形成了父类/基类/超类
Parent class
Base ...