ARM基础知识
C语言================================================================
const修饰一个标识符属性为只读(只能被当作右值使用)
static 限制全局变量及函数的作用域(只能在本文件中使用)
延长局部变量的生命周期(和整个程序的生命周期一致)
extern 声明一个外部的全局变量及函数(可以在本文件使用)
编译流程:==============================================================
预处理 main.c->main.i 去掉注释,头文件展开,宏替换,特殊符号处理
编译 main.i->main.s(汇编文件)
汇编 main.s->main.o(二进制文件)不能直接执行
链接 main.o->mainapp(可执行的二进制文件)
内存管理==================================================================
栈:局部变量 函数参数 函数返回地址
堆:程序员自己管理的内存区域,使用时需要动态申请
bss:初始化为0和未初始化的全局及静态变量
data:初始化不为0全局及静态变量
ARM:===================================================================
一.ARM是什么==========================================================
ARM是一个公司的名字,也可以认为是对一类处理器的统称,还能认为是一种技术的名字
arm公司是专门从事基于RISC技术芯片设计开发的公司,本身不直接从事芯片生产,而是转让设计许可。
ARM处理器的内核是统一的,由ARM公司提供,而片内部件是多样的,由各大半导体公司设计,这使得ARM设计嵌入式系统的时候,可以基于同样的核心,使用不同的片内外设,从而具有很大的优势
二.ARM内核与架构=========================================================
ARM芯片主要由两大部分组成 arm内核,外设
arm内核:寄存器,指令集,总线,存储器映射规则,中断逻辑和调试组件等
外设:计时器,A/D转换器,存储器L2C,UART,SPI,ROM等等