《嵌入式软件设计基础——基于ARM Cortex—M3》读书笔记

此书有点深,记录点自己能够看懂的。
1、内存管理一章:讲到变量的类型、生存周期、内存分配。
auto static register 局部变量,全局变量
malloc free
内存碎片,消除内存池的一个常见的策略是可以使用分配池
2、共享内存一章:讲到如何编写可重入函数,很多库函数都是设计为可重入函数的,函数体内不能有全局变量和静态变量,有的参数可以通过指针(或二级指针)实现。
const类型限定符,使用方法有以下几种:
const int p;
const int p;
int
const p;
const int* const p;
volatile类型限定符,附加到对象当中,可以指示其值可以由某些机制异步修改。提醒编译器不能优化,比如一个内存映射的IO口设备状态端口的改变,或者直接由内存访问或中断例程进行的内存数据的修改。然而,将限定符增加到其声明中不会消除临界区问题。
使用方法有:
#define SHARED_MEMORY volatile
extern SHARED_MEMORY long shared;
volatile long *pv;
volatile long * const pv = initial-value;
const volatile long * const pv = initial-value;

posted @ 2018-10-08 21:07  wdliming  阅读(183)  评论(0编辑  收藏  举报