嵌入式软件开发精解 阅读笔记(这本书内容有点太初级了)

2019-07-12 23:44发布

嵌入式软件开发精解

目录

嵌入式软件

  1. RTOS标准:OSEK、uTRON、POSIX
  2. SNMP v3:简单网络的管理协议!
  3. 存储器架构
    1. Flat Single Space:如Freescale的Coldfire、Zilog Z80
    2. 分段:如Intel 8086、日立H8/500,near/far指针
    3. Bank Switched:链接器可以提供‘覆盖’机制...
    4. 多地址:如8051
    5. 虚拟:嵌入式中不使用
  4. MMU
  5. 硬件调试
    1. 在线仿真 ICE
    2. JTAG
  6. EABI
  7. 汽车电子
  8. USB:{控制、批量、中断、同步}传输
    1. 3.0:双向协议流(NRDY/ERDY)、突发传送、批量流

设计和开发

  1. Eclipse
  2. xtUML
  3. p72 ...这就意味着心脏起搏器只有19uA的工作电流
  4. 功耗控制:睡眠与挂起
  5. p76 2个R4可以达到一个A9的计算能力,但只有37%的功耗

编程

  1. NRAM:MRAM(磁阻式)
  2. RAM测试时禁止中断,防止中断重入
  3. 堆栈限制
  4. 看门狗
  5. 命令行解释器(CLI)

C语言

  1. 共同变量?不加extern或static修饰的
  2. 中断函数:加一个interrupt修饰,编译期就会生成保存/恢复寄存器的代码?
  3. const修饰左边的字符
  4. volatile
  5. 位域指令??
  6. 快速确定struct大小:foo(struct T); //<-- 为什么不用sizeof(struct T)?
  7. *结构体布局
  8. void*必须先转换为其他T*后才能参加运算(ptr+1)

C++

  1. 编写Clean C(这里的内容太老了)
  2. 模板重复实例化:‘聪明’的链接器?
  3. 虚基类(虚继承)

实时性

  1. 2个相互交换控制权的循环(协程):前提是要有一个复杂的初始化(?)
  2. ISR

RTOS

  1. TCB数组链表?
  2. 调度算法
  3. 优先级反转
    1. 避免不同优先级的任务共享资源
    2. 在低优先级任务持有信号量时,关闭抢占
    3. 当低优先级任务进入临界区时,自动提升其优先级
  4. OSEK*

网络

开源软件、嵌入式Linux和Android

多核

  1. AMP
  2. CPU与CPU通信:MACPI