+--./ : 性能测试目录
|
|--bench/ : 测试程序的源代码目录
|
|--include/ : 编译所需的头文件目录
|
|--lib/ : 编译所需的库文件目录
|
|--obj/ : 编译生成的目标文件目录
|
|--bin.lds.S : 链接脚本生成文件
|
|--start.S : 测试程序的启动代码
|
|--Makefile : 编译脚本
-
编译前,请保证已经配置好交叉编译环境。
-
在当前目录下执行make,即可在obj目录下生成测试所需的所有文件。如果只想编译某一个测试程序,请执行make [程序名],例如:make bitcount。想清除所有编译文件请执行make clean。
-
关于obj目录。
a. obj下的子目录以测试程序的名字命名
b. 子目录下,main.elf是中间文件,test.s是程序的反汇编文件,main.bin 是最后生成的内存初始化文件(应放置于内存偏移0x0,即地址0x80000000处)
程序需要串口支持,在 include/machine.h
中定义了两个地址,其中 UART_STATUS_ADDR
的最低位用于判断是否可发送,UART_DATA_ADDR
用于发送数据(只有最低8位)。同时也需要一些计时手段,所有测试程序将会读取TIMER_CYCLE_ADDR
中存储CPU运行的时钟周期数量,以及 TIMER_MICROSEC_ADDR
中存储的每微秒自增的值。