前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >蜂鸟E203系列——Linux下运行hello world例程

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

作者头像
瓜大三哥
发布2020-07-14 16:20:19
1.4K0
发布2020-07-14 16:20:19
举报
文章被收录于专栏:瓜大三哥瓜大三哥

创建程序编译运行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 中,因此程序不会因为掉电而丢失。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 瓜大三哥 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建程序
  • 编译运行
    • 1 编译程序使得程序从Flash直接运行
      • 2 编译程序使得程序从ITCM直接运行
        • 3 编译程序使得程序从Flash上载至ITCM中运行
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档