蜂鸟E203系列——Linux下运行hello world例程

2020-07-14 16:20:19 浏览数 (1)

创建程序编译运行1 编译程序使得程序从Flash直接运行2 编译程序使得程序从ITCM直接运行3 编译程序使得程序从Flash上载至ITCM中运行

创建程序

  1. 在 ~/hbird-e-sdk-master/software 路径下创建一个“helloworld”中文件夹
  1. 在 ~/hbird-e-sdk-master/software/helloworld 路径下创建文件“helloworld.c”

内容如下:

代码语言:javascript复制
#include<stdio.h>

int main(void)
{
    printf("hello world!");
    printf("n");
    printf("hello anytao 0!");
    printf("n");
    printf("hello anytao 1!");
    printf("n");
    printf("hello anytao 2!");
    printf("n");
    printf("hello anytao 3!");
    printf("n");
    printf("hello anytao 4!");
    printf("n");
    printf("hello anytao 5!");
    printf("n");
    printf("hello anytao 6!");
    printf("n");
    printf("hello anytao 7!");
    printf("n");
    printf("hello anytao 8!");
    printf("n");
    printf("hello anytao 9!");
    printf("n");
    printf("hello anytao 10!");
    printf("n");
    printf("hello anytao 11!");
    printf("n");
    return 0;
}
  1. 在 ~/hbird-e-sdk-master/software/helloworld 路径下创建文件“Makefile”
代码语言:javascript复制
TARGET = helloworld
GFLAGS  = -O2
BSP_BASE = ../../bsp
C_SRCS  = helloworld.c


include $(BSP_BASE)/$(BOARD)/env/common.mk

编译运行

1 编译程序使得程序从Flash直接运行

代码语言:javascript复制
make dasm PROGRAM=helloworld BOARD=hbird-e200 CORE=e203 DOWNLOAD=flashxip USE_NANO=1 NANO_PFLOA=0

  • dasm :表示对程序进行编译
  • PROGRAM : 表示需要编译的程序
  • BOARD : 开发板所对应的BSP名称
  • CORE : 内核处理器型号
  • USE_NANO : 指明使用newlib-nano作为c运行库
  • NANO_PFLOAT : 是否需要输出浮点

运行

代码语言:javascript复制
make upload PROGRAM=helloworld BOARD=hbird-e200 CORE=e203

字符串在串口显示终端如下图所示,通过打印可以看到运行速度比较慢,这是因为程序直接从 flash 中运行需要从 flash 中取指令,取指时间较长,影响了程序的执行速度。

但是由于程序被烧写进了 flash 中,因此程序不会因为掉电而丢失。

2 编译程序使得程序从ITCM直接运行

代码语言:javascript复制
make dasm PROGRAM=helloworld BOARD=hbird-e200 CORE=e203 DOWNLOAD=itcm USE_NANO=1 NANO_PFLOA=0

运行

代码语言:javascript复制
make upload PROGRAM=helloworld BOARD=hbird-e200 CORE=e203

采用这种方法编译,通过打印可以看到运行速度非常快,这是因为程序直接从 ITCM 运行时,每次都是从 ITCM 中取指令,所以执行速度非常快。

3 编译程序使得程序从Flash上载至ITCM中运行

代码语言:javascript复制
make dasm PROGRAM=helloworld BOARD=hbird-e200 CORE=e203 DOWNLOAD=flash USE_NANO=1 NANO_PFLOA=0

运行

代码语言:javascript复制
make upload PROGRAM=helloworld BOARD=hbird-e200 CORE=e203

采用这种方法编译,通过打印可以看到运行速度非常快,这是因为程序直接从 ITCM 运行时,每次都是从 ITCM 中取指令,所以执行速度非常快。

但是由于程序被烧写进了 flash 中,因此程序不会因为掉电而丢失。

0 人点赞