特点:一次性、独特性
三要素:时间,成本,质量
时间和成本的制约:增加采购次数、时间的长短与研发人员数量的投入、专职开发与闲时开发。
成本和质量的制约
时间和质量的制约
2.嵌入式项目中常用的通讯方式及特点:
RS232、最大15米
RS485、可达1500米
WG26/34、50米以内
USB、 1米
TCP/IP、(网线从路由器出来一般距离范围在50—100米间)
GPRS、 可收发 非常远
GPS、 只可收 非常远
CANBUS、最大几十米
ABA(台湾)、
红外、一般15米以内
蓝牙、一般在8--30米,大功率型可达80--100米
Zigbee、几十米 Zigbee模块较贵一个达100块
WYFI、看功率大小,传输距离不一样 常用几十米 距离太远速度会较慢
无线模块:一般可达到几公里
IIC 最大十几米
IIS 最大十几米
SPI 最大十几米
3.一些知识点
1)用户模式和系统模式共用一个堆栈,它们的寄存器也是共用的
2)查找快捷键:ctrl+c,ctrl+f,f3
3)ZI段也叫BSS段;在ARM里面叫ZI,在linux里面叫BASS
4)s3c2440采用满递减堆栈存储方式
5)mrs r0,cpsr cpsr值读出送给r0
msr cpsr_cxsf,r1 将r1写入cpsr_cxsf
6)堆:程序控制,动态分配,人为控制不了,程序运行时自动分配
栈:人为控制,人为分配一个大小确定,并返回栈起始地址的内存空间
7)指令集:
Cotex系列使用ThumbII指令集
早些年由于硬件成本比较贵,使用Thumb指令集比较多,现在ARM系列多用ARM指令集
8)协处理器:DMA,MMU,CACE(指令、数据)
特点:本身不能独立做事,只能协助CPU做事,CPU给它们分配任务之后,还要监督运行结果,是否运行完等
9)多核CPU:有一个主CPU,只是告诉其他CPU负责完成哪些任务,之后就不用再管了
10)伪指令:ARM的伪指令它本身要执行先要转成相应的ARM指令
11)文字池:分多步跨越(跳转)空间,每次大小不变
12).inc是汇编的头文件 .h是C语言的头文件
4.编程注意点
项目里文件比较多时,少用全局变量,直接利用函数调用形式
单个文件: static char i; 定义静态变量,防止别的文件对变量值的意外修改。
char fun(void)
{
return(i);
}
直接使用外部调用全局变量形式:extern int i; 这样的缺点是存在隐患,当文件较多时很可能出现全局的变量重名的问题,这时候要修改的话可能较麻烦。
尽量避免在头函数.h文件里面进行变量的定义