蜂鸟E203系列——Linux下运行hello world例程
创建程序
- 在 ~/hbird-e-sdk-master/software 路径下创建一个“helloworld”中文件夹

- 在 ~/hbird-e-sdk-master/software/helloworld 路径下创建文件“helloworld.c”
内容如下:
#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;
}
- 在 ~/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 中,因此程序不会因为掉电而丢失。
蜂鸟E203系列——Linux下运行hello world例程的更多相关文章
- 蜂鸟E203系列——Linux调试(GDB+Openocd)
欲观原文,请君移步 本文基于文章<蜂鸟E203系列--利用 Hbrid-E-SDK 环境开发程序> GDB 简介 GDB(GNU Project Debugger),是 GNU 工具链中的 ...
- 蜂鸟E203系列——Linux开发工具
欲观原文,请君移步 Vivado安装 vivado是运行工程的工具,所以必须安装 后台回复[vivado2017]可获取vivado 2017.4 | 后台回复[vivado2020]可获取vitis ...
- Linux下运行memcached失败
Linux下运行memcached失败 1.错误信息如下 [root@localhost ~]# memcached can't run as root without the -u switch 2 ...
- Java项目打包在CMD或者Linux下运行
Java项目打包在CMD或者Linux下运行 1.在CMD下运行 在eclipse中将项目export成jar包,然后用压缩软件解压
- Demo+在Linux下运行(CentOS7+dotnetcore sdk)
来份ASP.NET Core尝尝 0x01.前言 学习ASP.NET Core也有一段时间了,虽说很多内容知识点还是处于一知半解的状态,但是基本的,还是 略懂一二.如果有错误,还望见谅. 本文还是和之 ...
- Linux下运行jmeter
• 我们在做测试的时候,有时候要运行很久,公司用的测试服务器一般都是linux,就可以运行在linux下面,linux下面不能像windows一样有图形化界面,那怎么运行脚本呢,就先在windows上 ...
- windows下的java项目打jar分别编写在windows与linux下运行的脚本( 本人亲测可用!)
前言: 最近公司做了一个工具,要将这个工具打包成一个可运行的程序,编写start.bat和start.sh在windows和linux下都可以运行. 在网上找了很多资料,最后终于找到一个可靠的资料,记 ...
- 终于解决了Linux下运行OCCI程序一直报Error while trying to retrieve text for error ORA-01804错误
终于解决了Linux下运行OCCI程序一直报Error while trying to retrieve text for error ORA-01804错误 http://blog.csdn.net ...
- Kali Linux下运行Sniffjoke出错的解决
Kali Linux下运行Sniffjoke出错的解决 由于Kali Linux版本的更新和Sniffjoke发布时间久远等问题,Sniffjoke在新版本的Kali Linux中运行存在各种问题.下 ...
随机推荐
- [computer graphics]简单光照模型(Phong和Blinn-Phong)和明暗处理
简单光照模型(Phong和Blinn-Phong)和明暗处理 支持点光源和平行光,是一种简单光照模型,它将光照分解成了三个部分,分别为 漫反射 镜面反射 环境光 如图所示,是一个简单的几何模型. \( ...
- java8 Date相关工具
自己整理的java8 常用的工具类 /** * @Author taozhaoyang * @Description 结合 java8 线程安全 * @Date 9:55 2018/7/30 **/ ...
- SpringBoot与(Security)安全
1.简介 应用程序的两个主要区域 认证(Authentication): 是建立一个它声明的主体的过程(一个"主体" 一般是指用户,设备或一些可以在你的应用程序中执行动作的其他系统 ...
- JavaScript常用项目(更新至19.11.17)
目录 项目一:鼠标拖动方块 项目二:网页显示键入字母 项目三:实现滚播图 项目四: 本地数据记事本 项目一:鼠标拖动方块 代码: <!DOCTYPE html> <html> ...
- 01---eclipse使用
一.eclipse快捷键 1.alt+? 或 alt+/:自动补全代码或者提示代码,可用于main函数(main).输出函数(syso)等 2.ctrl+1:错误提示 3.ctrl+/:自动注释当前行 ...
- C#数据结构与算法系列(六):链表——双链表(Double-LinkedList)
1.对比单向链表 单向链表查找的方向只能是一个方向,而双向链表可以向前或者向后查找 单向链表不能自我删除,需要靠辅助节点,而双向链表可以自我删除 对于单向链表的删除,我们首先要找到单向链表待删除节点的 ...
- numpy中transpose的功能
看了网上一堆解释,有用相互交换来解释的,我看了半天也看不出所以然来.心想着自己试验一下. numpy.transpose的用法很简单:假如你有一个四维的数组,那么四个维度就是0,1,2,3.风格会像下 ...
- Tensorflow中Tensor对象的常用方法(持续更新)
Tensor是Tensorflow中重要的对象.下面是Tensor的常用方法,后面还会写一篇随笔记录Variable的用法. 1. 生成一个(常)Tensor对象 >>>A = tf ...
- ida 动态调试apk
1,启动 android_x86_server 2 adb forward tcp:23946 tcp:23946 调试应用命令:adb shell am start -D -n com.droidh ...
- WIN10下如何解决PL2303驱动不可用的问题或者com口显示黄色感叹号usb-to-serial
WIN10下如何解决PL2303驱动不可用的问题或者com口显示黄色感叹号usb-to-serial