嵌入式C笔记
文章平均质量分 53
insswer001
这个作者很懒,什么都没留下…
展开
-
嵌入式高级C笔记01——关键字和运算符
嵌入式高级C笔记01——关键字和运算符1. 简单数据类型的位长大小端(endian)大小端是CPU存放数据的两种不同顺序。对于整型和长整型等数据类型:大端认为在低地址上存放的是这个整数的高位字节,在高地址上存放的是这个整数的低位字节。小端恰好相反。一般来说X86系列CPU为小端的字节序,PowerPC,68K系列则是大端,ARM系列处理器内部是小端,但是可以被配置为访问大端的存储器...原创 2011-05-07 20:14:07 · 145 阅读 · 0 评论 -
嵌入式C语言笔记02——ARM编译器对局部变量和入口参数的处理
嵌入式C语言笔记02——ARM编译器对局部变量和入口参数的处理 见下面代码,显然程序的功能是将以data开始的64个整数进行累加,函数的返回值是这64个整数的累加和。表面上没有问题,但是当阅读汇编代码后就会发现问题:[code="c"] int checkSum(int *data){ char i; int sum = 0; for(i = 0;i...原创 2011-05-07 20:15:27 · 247 阅读 · 0 评论 -
嵌入式C语言笔记03——函数指针,内存陷阱,堆栈
嵌入式C语言笔记03——函数指针,内存陷阱,堆栈函数指针1. 函数指针的声明与引用函数指针即指向函数地址的指针。利用该指针可以知道函数在内存中的位置。因此,也可以利用函数指针调用函数。 (*函数指针变量名) 函数的参数列表在C语言中,正如数组名就是数组第一个元素的首地址,函数名就是函数的入口地址,因此可以用已定义的函数的函数名作为初值赋给一个相应的函数指针。程序员可...原创 2011-05-11 19:14:13 · 347 阅读 · 0 评论 -
嵌入式C语言04——BootLoader
嵌入式C语言04——BootLoader嵌入式系统在上电时会运行一小段程序。一般来说,这段程序主要完成硬件初始化,代码搬运及必要的软件环境初始化,被称为BootLoader对于ARM处理器而言,上电后做的第一件事就是到系统的“零地址”去取指并执行得到的这条指令。因此,系统启动的过程也就是到零地址取指并执行的过程。系统上电或复位时通常都从地址0x00000000处开始执行,而...原创 2011-05-14 19:12:33 · 148 阅读 · 0 评论