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


    欲观原文,请君移步

    创建程序

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

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

    内容如下:

    #include<stdio.h>
    
    int main(void)
    {
        printf("hello world!");
        printf("
    ");
        printf("hello anytao 0!");
        printf("
    ");
        printf("hello anytao 1!");
        printf("
    ");
        printf("hello anytao 2!");
        printf("
    ");
        printf("hello anytao 3!");
        printf("
    ");
        printf("hello anytao 4!");
        printf("
    ");
        printf("hello anytao 5!");
        printf("
    ");
        printf("hello anytao 6!");
        printf("
    ");
        printf("hello anytao 7!");
        printf("
    ");
        printf("hello anytao 8!");
        printf("
    ");
        printf("hello anytao 9!");
        printf("
    ");
        printf("hello anytao 10!");
        printf("
    ");
        printf("hello anytao 11!");
        printf("
    ");
        return 0;
    }
    
    
    1. 在 ~/hbird-e-sdk-master/software/helloworld 路径下创建文件“Makefile”
    TARGET = helloworld
    GFLAGS += -O2
    BSP_BASE = ../../bsp
    C_SRCS += helloworld.c
    
    
    include $(BSP_BASE)/$(BOARD)/env/common.mk
    
    

    编译运行

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

    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 : 是否需要输出浮点


    运行

    make upload PROGRAM=helloworld BOARD=hbird-e200 CORE=e203
    

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

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

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

    make dasm PROGRAM=helloworld BOARD=hbird-e200 CORE=e203 DOWNLOAD=itcm USE_NANO=1 NANO_PFLOA=0
    

    运行

    make upload PROGRAM=helloworld BOARD=hbird-e200 CORE=e203
    

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

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

    make dasm PROGRAM=helloworld BOARD=hbird-e200 CORE=e203 DOWNLOAD=flash USE_NANO=1 NANO_PFLOA=0
    

    运行

    make upload PROGRAM=helloworld BOARD=hbird-e200 CORE=e203
    

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

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

  • 相关阅读:
    js/jquery 页面传值
    php 连接sqlserver方法
    php 写webservice常见问题
    php 解决json_encode中文null和UNICODE转码问题
    手机web——自适应网页设计
    50个js技巧(分享)
    php webservice客户端和服务器端
    php 文件下载功能
    es6 字符串的扩展
    vue $emit抛出事件
  • 原文地址:https://www.cnblogs.com/xiguazai/p/13282527.html
Copyright © 2020-2023  润新知