目录
文件整理
修改前
修改后
Makefile修改
中断头文件移植
文件整理
-
sources目录下分模块存放文件
-
子模块提供函数声明头文件
-
include目录下存放sdk移植头文件
-
sources/common目录存放一些通用工具
-
sources/project目录存放启动文件和主文件
修改前
修改后
Makefile修改
-
SRC_DIR变量:包含所有模块所在目录
-
INC_DIR变量:包含所有头文件所在目录
中断头文件移植
-
设置中断相关寄存器地址
-
CORTEXA/Include/core_ca7.h->sources/include
修改文件内容:
-
注销:
#include "core_ca.h"
-
添加:
#define __STRINGIFY(x) #x
/* C语言实现写cp15协处理器 */
#define __MCR(coproc, opcode_1, src, CRn, CRm, opcode_2) \
__ASM volatile ("MCR " __STRINGIFY(p##coproc) ", " __STRINGIFY(opcode_1) ", " \
"%0, " __STRINGIFY(c##CRn) ", " __STRINGIFY(c##CRm) ", " \
__STRINGIFY(opcode_2) \
: : "r" (src) )
/* C语言实现读cp15协处理器 */
#define __MRC(coproc, opcode_1, CRn, CRm, opcode_2) \
({ \
uint32_t __dst; \
__ASM volatile ("MRC " __STRINGIFY(p##coproc) ", " __STRINGIFY(opcode_1) ", " \
"%0, " __STRINGIFY(c##CRn) ", " __STRINGIFY(c##CRm) ", " \
__STRINGIFY(opcode_2) \
: "=r" (__dst) ); \
__dst; \
})
#define __ISB()
#define __DSB()