DSP学习(4)—— 看代码记录
前言
本文用于记录看代码中间遇到的不认识的东西。
一、一些缩写
- IPC module : IPC(Inter-Process Communication,进程间通信)
- SPI:SPI是串行外设接口(Serial Peripheral Interface)
- SRIO: 串行 RapidIO 接口
- Multicore Navigator由两部分组成:QMSS and CPPI
- 通用的核间及器件间通信方式有shared memory、IPC register、Navigator、SRIO等
- CSL: chip support library。用于配置、控制和管理DSP片上外设
- PSC是Power and Sleep Controller的英文简写,顾名思义就是专门用于管理芯片供电的控制器,主要负责片上各个模块的供电开关,时钟使能和各模块的复位。
- CPINTC: Chip-level Interrupt Controller
二、C语言忘记的知识
-ntohl() 本函数将一个32位数由网络字节顺序转换为主机字节顺序。
- htonl() 将本函数将一个32位数从主机字节顺序转换成网络字节顺序。
- 数据格式 https://blog.csdn.net/qq_29874741/article/details/94626531
- “>>=’ https://blog.csdn.net/Grit_Wang/article/details/111030742
例如,有个数字 0x1234,如果只想将低8位写入到内存中 0x1234&0xff
0x1234 表示为二进制 0001001000110100
0xff 表示为二进制 11111111
两个数做与操作,显然将0xff补充到16位,就是高位补0
此时0xff 为 0000000011111111
#pragma 指令的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。
条件编译中使用的预编译指令
条件编译是根据实际定义宏(某类条件)进行代码静态编译的手段。可根据表达式的值或某个特定宏是否被定义来确定编译条件。
最常见的条件编译是防止重复包含头文件的宏
#define 定义一个预处理宏
#undef 取消宏的定义
#if 编译预处理中的条件命令,相当于C语法中的if语句
#ifdef 判断某个宏是否被定义,若已定义,执行随后的语句
#ifndef 与#ifdef相反,判断某个宏是否未被定义
#elif 若#if, #ifdef, #ifndef或前面的#elif条件不满足,则执行#elif之后的语句,相当于C语法中的else-if
#else 与#if, #ifdef, #ifndef对应, 若这些条件不满足,则执行#else之后的语句,相当于C语法中的else
#endif #if, #ifdef, #ifndef这些条件命令的结束标志.
defined 与#if, #elif配合使用,判断某个宏是否被定义,defined(name): 若宏被定义,则返回1,否则返回0。