armhelloworld实验.
5.1-HelloWorld程序实验

广州致远电子有限公司
MagicARM2410教学实验开发平台
4.实验预习要求
熟悉Linux基本操作 熟悉Linux基本操作; 基本操作; 熟悉嵌入式Linux开发环境 开发环境. 熟悉嵌入式Linux开发环境.
广州致远电子有限公司
MagicARM2410教学实验开发平台
5.实验原理
通 过 网 络 文 件 系 统 ( NFS ) 将 某 个 目 录 mount到 mount到 ARM Linux上后, 可以当作本地存储 Linux上后 上后, 器进行操作. 器进行操作.
广州致远电子有限公司
MagicARM2410教学实验开发平台
7.思考题
使用NFS进行Linux应用程序调试,需要哪些基本条件? 需要注意哪些问题? 重新编写一个Makefile文件.
广州致远电子有限公司
�
广州致远电子有限公司
MagicARM2410教学实验开发平台
3.实验内容
编写一个简单的HelloWorld程序 编写一个简单的HelloWorld程序; 程序; 编写/修改相应的Makefile文件 文件; 编写/修改相应的Makefile文件; 使用NFS方式调试 使用NFS方式调试HelloWorld程序. 方式调试HelloWorld程序 程序.
注:后续的实验假定已经设定了IP地址和MAC地址,不存在IP冲 后续的实验假定已经设定了IP地址和MAC地址,不存在IP冲 地址和 地址 突.
(7)进行NFS连接,将主机NFS共享目录的/zylinux/armwork目 进行NFS连接,将主机NFS共享目录的 连接 录mount到ARM Linux的/mnt目录下. mount到 Linux的 目录下. # mount –t nfs 192.168.0.94:/zylinux/armwork /mnt –o nolock
实验1:Hello-world实验教程

“串口号”选项框中下拉列表选择对应的串口,并将波特率设置为 115200,8N1, 即设置波特率为 115200, 数据位为 8, 停止位为 1, 校验位为 none, 流控制为 none,如图所示,点击“打开串口” ,如果旁边的灯变亮,表示成功打 开串口,如图所示。串口打开后,SM2530 节点就可以通过串口打印信息。
7
WSN2530DK 开发板的配套资料
IAR 调试功能十分强大,具有单步执行、设置断点、查看寄存器、查看存储 器、堆栈分析、在线更改寄存器和存储器的值等多种功能,大大简化了代码调试 工作。原生的 Contiki 系统基于 Linux 操作系统,采用 SDCC 进行编译,没有在 线调试功能,只能通过 printf 打印一些基本信息,调试困难。相比较而言,IAR 在调试方面具有绝对的优势。
WSN2530DK 开发板的配套资料
Hello world 实验教程
摘要
本文讲解 Contiki 移植到 WSN2530 开发板之后,基于 Smart Mote SM2530 节 点演示在 IAR 工程上运行 Hello world 实例代码的过程和步骤、输出结果等。并 对实例代码重点内容进行说明,重点是 Contiki 上编写程序的模式、任务代码编 写及注意事项。 通过本文, 对 contiki 系统上的应用编程有一个基本认识和了解。
2. 打开 IAR 工程项目 wsn2530dk 配套源代码中示例工程项目都存放在 examples/wsn2530dk 目录 内,进入 01_hello-world 目录,双击 contiki_6Lowpan.eww,打开 hello-world 工 程项目,如图:
-专业的物联网|Contiki 6Lowpan|Zigbee|RFID|M2M|无线传 6Lowpan|Zigbee|RFID|M2M|无线传感器网络开发论坛
Android开发环境搭建及创建HelloWorld实验报告

学年第 2 学期实验报告课程名称Android 应用编程系(部)专业班级电子信息科学与技术学生姓名学生学号1 实验过程记录1.1 Android开发平台的搭建及相关配置1.1.1准备所需工具1)因为Android程序是用Java语言编写的,故在准备阶段需要安装Java语言开发平台--JDK。
JDK:JDK是Java语言的软件开发工具包,它包含了Java的运行环境、工具集合、基础类库等内容。
2)Android SDK。
Android SDK是谷歌提供的Android开发工具包,在开发Android程序时,须通过引入该工具包来使用Android相关的API。
3)Android Stdio。
1.1.2 搭建开发环境1)到Android官网下载最新开发工具。
2)下载完成后解压缩,打开安装包,因无特殊要求即选择开发环境默认值即可。
一直点击Next,其中在安装开发环境所需要的组件时将所有组件的复选框全部打勾。
如下图所示:图1.1 组件选择图因为每台电脑在不没有人为改变系统硬盘的情况下其系统盘基本为C盘,当系统盘内文件较多时容易造成电脑运行卡慢,电脑程序打开较慢,严重情况会出现电脑死机的情况,故在选择Android Stdio的安装地址以及Android SDK的安装地址时,我首先选择了D盘,如图1.2所示。
图1.2 安装地址选择接下来安装步骤中,保持默认值即可,一直点击Next完成安装,如图1.3所示。
图1.3 安装完成接下来点击Finish按钮来启动Android Stdio,初始时软件会出现选择对话框让自己选择是否导入Android Stdio之前版本的配置,因为首次安装Android Stdio 故笔记本上面没有其最早版本,在此步骤中我选择不导入,如图1.4所示。
图1.4 选择不导入配置点击OK 会进入Android Stdio的配置界面,如图1.5所示。
图1.5 Android Stdio的配置界面然后点击Next进行具体的配置,我们可以选择Android Stdio 的具体安装类型,现有安装类型有两种即Standard 和 Custom 两种。
5_ARM实验报告

5_ARM实验报告
实验名称:ARM处理器实验报告
实验目的:通过实验掌握ARM处理器的基本结构和工作原理,了解ARM指令的执行过程以及汇编语言编程的基本方法。
实验设备:ARM处理器开发板、电脑、开发软件Keil等。
实验步骤:
1. 准备工作:连接ARM开发板和电脑,打开Keil软件,新建一个工程。
2. 编写程序:在Keil软件中编写一个简单的程序,比如将两个数相加并将结果输出。
3. 编译程序:通过Keil软件进行编译,生成可执行文件。
5.调试程序:在ARM开发板上运行程序,并观察程序的运行结果。
6.分析程序:分析程序的运行过程,了解ARM指令的执行过程和程序的运行逻辑。
实验结果:
通过本次实验,我对ARM处理器的基本结构和工作原理有了更深入的了解。
我了解了ARM指令的执行过程,掌握了汇编语言编程的基本方法。
在实验中,我成功编写了一个简单的程序,并在ARM开发板上成功运行并输出了结果。
总结与反思:
通过本次实验,我对ARM处理器有了更深入的了解,对汇编语言编程也有了更多的实践经验。
我发现在编写程序时需要考虑指令的执行顺序和逻辑关系,需要注意程序的优化和逻辑性。
在今后的学习和工作中,我将继续深入学习ARM处理器的原理和应用,不断提高自己的编程技能和实践能力。
结论:
本次实验让我在实践中掌握了ARM处理器的基本原理和工作方法,提高了自己的实践能力和编程技能。
我将继续学习和实践,不断提高自己在ARM处理器领域的水平,为将来的工作和研究打下坚实的基础。
“hello world!”嵌入式Linux程序

桂林理工大学博文管理学院实验报告实验名称:嵌入式系统原理与应用专业班级:电子信息工程12-2班学生姓名:学号:指导老师:日期:2015年6月18日“hello world!”嵌入式Linux程序1、实验目的:进行简单的Linux程序开发,熟悉Linux下嵌入式开发模式以及在板上运行的嵌入式程序的方法。
2、实验设备:硬件:ARM9实验箱、PC机Pentumn100以上软件:PC机操作系统win2000、UltraEdit 或其它编辑器编辑最常用的“hello world!”程序,然后使用交叉编译链生成可以在嵌入式环境中运行的可执行文件,熟悉使用交叉编译链程序的方法,为后面编译复杂程序做准备。
3、实验步骤:1 、打开VMWare 虚拟机,输入vi hello.c2、编辑helo.c代码。
#include<stdio.h>{Main(){printf(…hello word!\r\n‟);}Return 0}3、用交叉编译器(arm-linx-gcc)编译hello.c。
4、再打开建立一个开发箱与PC的串口链接。
5. 交叉编译设置超级终端:为了通过PC的串口和实验箱进行交互,需要使用一个终端程序,基本所有的类似软件都可以使用,推荐使用Windows自带的超级终端。
这里以Windows XP为例着重介绍超级终端。
下面就图解设置超级终端:Step 1、打开“开始->程序->附件->通讯”菜单的“超级终端”选项,出现询问“默认Telnet程序”的界面,这是选择“否”选项之后,会弹出“位置信息”的界面,请在“的区号(或城市号)是什么?”选项填入区号号码后,点击“确定”选项后继续:Step 2、出现下面的界面,请输入的超级终端的名称,这里我输入的名称是“超级终端”,选择好图标后,点击“确定”继续:Step 3、然后出现“COM1属性”界面,这里设置“波特率:115200,数据位:8,奇偶校验:无,停止位:1,数据流控制:无”,然后点击“确定”继续:Step 4、接下来在出现的超级终端窗口,点击“文件”菜单的“保存”选项,保存刚才设置的超级终端,以方便下次使用:实验结果:。
androidARM汇编学习——helloworld

androidARM汇编学习——helloworldadb putty 连上⼿机,⽤busybox vi 写⼀个 helloworld croot@HM2014813:/data/local/tmp # busybox vi hello.c#include <stdio.h>int main(int argc, char* argv[]){ printf("Hello ARM World\n"); return 0;}⽤ gcc 编译成汇编,并查看root@HM2014813:/data/local/tmp # gcc hello.c -S && cat ./hello.s.arch armv5te.fpu softvfp.eabi_attribute 20, 1.eabi_attribute 21, 1.eabi_attribute 23, 3.eabi_attribute 24, 1.eabi_attribute 25, 1.eabi_attribute 26, 2.eabi_attribute 30, 6.eabi_attribute 34, 0.eabi_attribute 18, 4.file "hello.c".section .rodata.align 2.LC0:.ascii "Hello ARM World\000".text.align 2.global main.type main, %functionmain:@ args = 0, pretend = 0, frame = 8@ frame_needed = 1, uses_anonymous_args = 0stmfd sp!, {fp, lr}add fp, sp, #4sub sp, sp, #8str r0, [fp, #-8]str r1, [fp, #-12]ldr r3, .L3.LPIC0:add r3, pc, r3mov r0, r3bl puts(PLT)mov r3, #0mov r0, r3sub sp, fp, #4@ sp neededldmfd sp!, {fp, pc}.L4:.align 2.L3:.word .LC0-(.LPIC0+8).size main, .-main.ident "GCC: (GNU) 4.8.2".section .note.GNU-stack,"",%progbits下⾯开始分析:.arch armv5te.fpu softvfp.eabi_attribute 20, 1.eabi_attribute 21, 1.eabi_attribute 23, 3.eabi_attribute 24, 1.eabi_attribute 25, 1.eabi_attribute 26, 2.eabi_attribute 30, 6.eabi_attribute 34, 0.eabi_attribute 18, 4.file "hello.c"开始这⼏⾏是给 ARM cpu 的声明,.arch 指明体系架构类型, .fpu 指明 Floating Point Unit 浮点运算单元的运算模式,接下去⼏⾏是 EABI 的 option, 最后⼀⾏指明⽂件名称.section .rodata.align 2.LC0:.ascii "Hello ARM World\000"c code ⾥的字符串 "Hello ARM World\n" 编译后存⼊ .rodata section 。
实验五 Helloworld

实验五Helloworld一、实验目的:1、学习编写嵌入式程序;2、掌握交叉编译的方法。
二、实验内容:参照本教程给出的步骤,一一步一步地完成实验,编写、编译并运行 Helloworld 程序。
三、实验设备:1、一套PXA270RP 嵌入式实验箱。
2、安装Redhat9 的宿主PC 机。
四、实验步骤:1、硬件连接,用串口线将PC机和试验箱连接,用双绞线连接PC机和试验箱的网卡;2、启动Linux系统,以root用户登录,并启动终端;3、在终端中输入以下命令:cd homemkdir HWcd HWvi Helloworld.c4、进入Helloworld.c的vi编辑窗口,按字母“a”,进入编辑模式,输入Helloworld的c语言程序,参考程序如下://Helloworld.c#include <stdio.h>int main(){printf(“HelloWorld!\n”);return 0;}5、编辑完成后,按ESC键,再输入:wq,退出并保存。
6、在终端中输入命令:arm-linux-gcc –o Helloworld Helloworld.c会在home目录下生成Helloworld的可执行程序。
7、输入命令:ifconfig eth0 192.168.0.100 up,将主机PC的IP地址设置成192.168.0.100;8、在Windows系统中启动超级终端,将波特率和数据流控制分别设置成:115200和无;启动目标板(试验箱)进入Linux系统。
在超级终端中输入:root,即登录到目标板的终端;9、设置目标板的IP地址,在超级终端中输入命令:ifconfig eth0 192.168.0.50 up,将目标板IP设置成192.168.0.50;10、挂载NFS系统,在超级终端中输入命令:mount -o nolock 192.168.0.100:/ /mnt;即将宿主机的根目录挂载到了目标板的/mnt文件夹下面。
实验指导书11Hello world!实验

实验十一Hello world!实验实验学时:6实验目的:熟悉Embedded Visual C++4.0编程环境学会使用Embedded Visual C++4.0编写简单的应用程序并下载到实验箱上运行学会使用Embedded Visual C++4.0进行程序的断点调试实验器材:装有XP操作系统的PC机一台,硬盘至少有20GB空间,内存1GB,ActiveSync v4.5软件程序,Embedded Visual C++4.0,ZZY2410SDK。
实验步骤:第1 步:先安装ZZY2410SDK,以前完成的则不用再安装了。
第2 步:打开Embedded Visual C++4.0第3 步:在Embedded Visual C++4.0中选择FILE----NEW,在PROJECTS选项卡中选择WCE MFC APPWIZARD(EXE);在PROJECT NAME框中填写本工程的名称:HELLEWORLD;在CPUS列表框中选择生成的代码运行的CPU类型,当前选择WIN32(WCE ARMV4I);最后单击OK按钮进入下一步。
第4步:选择应用程序风格,本实验为简单起见,选择DIALOG BASED类型,单击NEXT第5 步:选择应用程序包含的功能,windows sockets 是基于网络的应用程序平台,Windows help是自带帮助的应用程序平台,activex CNTROLS是带活动角本的应用程序平台。
在这里不必选择,单击NEXT第6 步:选择YES,PLEASE,则EVC将自动把资源文件加入到应用程序中;选择AS A SHARDED DLL选项,则使本应用程序使用MFC动态库,单击NEXT第7步:单击FINISH 按钮,完成本应用程序的建立。
第8步:当工程建立完成以后,在EVC的工作窗口中可以见到3个选项卡:CLASSVIEW(用于查看应用程序的类)RESOURCE VIEW(用于查看应用程序的资源)FILE VIEW(用于查看工程相关文件及内容)第9步:选择RESOURCE VIEW选项卡,将双击以下的资源。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一HelloWorld一、实验目标:1.了解实验箱的使用;2.了解ADS的使用(建立新的工程并正确设置和编译);3.调试HelloWorld程序,体会整个过程;4.了解三个警告,如何消除?(选做);二、任务:1、给出建立新工程的步骤;1、首先了解ADS软件使用ADS非常易于初学者上手,该软件的操作尤为简单,对于一般ARM程序的开发,可以分为以下几个过程:编写ARM代码->译、链接产生可执行二进制代码->利用实验箱上ARM系统自带的Bootloader,通过串口大师把可执行代码通过计算机串口下载到硬件板->实验系统在接受完下载的代码后即自动执行->查看实验结果。
下面详细的讲述如何利用该软件开发适合本实验系统的ARM程序。
1.首先在开始菜单中,点击“程序->ARM Developer Suite V1.2->CodeWarrior for ARM Developer Suite”,即可弹出如图2.1.13所示界面。
图2.1.13 ADS软件界面2.点击“File->New”,会弹出如图2.1.14所示的建立新工程界面。
3.在Project中选择“ARM Executable Image”选择好路径,并在工程名中输入HelloWorld,后点击【确定】,即出现如图2.1.15所示的空的工程界面。
4.此时的工程是一个空的,必须加入相应的代码才行。
首先将实验1文件夹下面的inc文件夹和src文件夹拷贝到刚刚建立的HelloWorld文件夹下面;然后在ADS软件中的HelloWorld工程窗口的空白处点击鼠标右键,选择“Add Files…”,选择刚刚拷贝的src文件夹下面的所有文件,如图2.1.16所示。
5.点击【打开】后,会出现如图2.1.17所示的编译类型对话框。
图2.1.14 工程建立界面图2.1.15 新建的工程界面图2.1.16 添加文件到当前工程图2.1.17 选择工程目标编译类型7.全部选中后,点击【OK】即可将刚刚所选择的文件加入到当前工程当中,如图2.1.18所示。
到此为止,一个基本的工程就建立起来了。
下面只需对该工程作简单的设置后,就可以编译了。
图2.1.18 建立好的工程界面 8.工程虽然建立好了,但是要让软件编译成适合我们实验系统的可执行二进制码,还必须对工程进行设置,这些设置包括:选择ARM 核类型、选择连接链接方式以及设置代码在SDRAM 中的存放位置和代码起始执行地址等。
首先点击HelloWorld 工程窗口“设置”按钮,如图2.1.19所示,会弹出如图2.1.20所示的设置对话框。
图2.1.19 设置工程第一步设置图2.1.20 设置工程对话框9.点击Target\Target Settings,设置Post-linker为ARM FromELF,如图2.1.21所示。
图2.1.21 设置Post-linker10.点击Language Settings\ARM Assembler,在Target下面的Architecture orProcessor中选择ARM7TDMI,同样对于ARM C Compiler也选择ARM7TDMI,如图2.1.22所示。
图2.1.22 设置目标板ARM核类型11.点击Linker\ARM Linker,将Output下面的Simaple Image中的RO Base 设置为0x0C000000,RW Base设置为0x0C080000,如图2.1.23所示。
设置此处图2.1.23 设置代码在目标板上的位置注意:如果要使用系统板上自带的Bootloader进行代码调试,必须将RO Base设置为0x0C000000,因为系统的Bootloader会自动的将代码拷贝到SDRAM中的0x0C000000处。
RW Base只需位于0x0C000000~0x0C800000的SDRAM中即可,但是为了确保软件运行正常,最好还是为其后面留有足够的余地。
12.将Option下面的Image entry point,即程序执行的入口地址,修改为0x0C000000(此处也必须为0x0C000000,原因同上),如图2.1.24所示。
修改此处图2.1.24 设置代码执行的起始地址13.将Layout下面的Place at beginning of image中的Object/Symbol中填写sysinit.o,在Section中填写init,如图2.1.25所示。
14.全部设置好后,点击【OK】即可。
15.按F7键,或者点击Project->Make,或者点击工程窗口工具栏上的第三个按钮,即可对刚刚建立的工程进行编译。
工程编译结果如图2.1.26所示。
到此为止,整个软件的基本开发已经结束,下面就可以将编译后的二进制代码下载到实验箱上去运行了。
以后所有的ARM工程的基本设置都必须按照前面所讲的那样去做,除非用户自己使用仿真器开发,则可以不受此限制。
当然对于高级用户,在确保系统正常运行的情况下,完全可以根据自己的需求来设置。
修改此处图2.1.25 设置目标起始处放置的代码具体实验本实验是个入门实验,主要是为了让用户了解如何利用本实验系统配合ADS软件以及串口大师软件来完成代码的开发、下载和验证。
本实验箱在出厂时已经在ARM板上烧录了一个简单的Bootloader,负责通过串口与计算机通信来拷贝用户可执行代码到SDRAM,并在代码拷贝结束后,自动跳转到代码所在处开始执行,方便用户在没有仿真器的情况下调试。
利用Bootloader开发的基本流程可以归纳为以下几个步骤:1.先在ADS环境中编译代码(具体的设置见第二章软件使用)2.编写的代码进行编译,如有错误及时更正,直到编译通过3.利用ADS生成ARM7的可执行二进制代码4.将ARM/DSP/FPGA实验箱的串口与计算机的串口相连接5.打开光盘中提供的串口大师软件,并对其做简单设置(具体设置过程见实验步骤)6.带连接和设置无误后,对实验箱上电7.查看串口大师接收区的Bootloader信息8.通过串口大师把可执行二进制文件下载到实验箱系统中9.查看实验结果由于本实验仅仅是为了让用户了解如何使用本系统自带Bootloader,所以此处将不对代码的具体编写规则以及实验的设计原理作过多分析,以后的实验中将会对实验的基本原理与过程作详细说明。
四实验步骤1.将实验箱提供的ARM实验一(Example\ARM\Exp1文件夹)拷贝到PC 硬盘上。
2.打开ADS软件,并打开Example\ARM\Exp1下面的工程HelloWorld.mcp,如图3.1.1所示。
图3.1.1 在ADS软件中打开HelloWorld工程3.点击如图3.1.2所示的Project->Remove Object Code…,会出现如图3.1.3所示的对话框。
图3.1.2 移除目标代码菜单点击这个按钮图3.1.3 移除目标代码对话框4.点击【All Targets】,此时会发现HelloWorld工程中所有的源文件前面都会打勾,如图3.1.4所示,这表示下载编译的时候将会对所有的文件进行编译。
编译按钮源文件前全部打勾图3.1.4 移除编译代码后的源文件(打勾表示ADS软件会编译)6.点击图3.1.4中所示的编译按钮,会出现如图3.1.5所示的编译结果界面。
从图中可以看出,系统编译结果提示有0个错误,3个警告,出现警告主要是某些函数在定义的时候具有返回值,而在调用该函数的时候却没有用到该返回值所致,通常对于编译出现的警告可以不用太在意。
7.打开串口大师,并对其作如图3.1.6所示的设置,包括选择串口端口号(根据计算机硬件来适当选择)、设置其波特率(必须为115200,这主要是因为ARM 板的Bootloader中串口波特率工作在115200波特率上)、校验位方式(无校验)、数据位数(8位数据位)以及停止位(1位停止位)等属性,对于高级属性可以按照默认的属性配置,不用设定。
8.全部设置结束后,点击串口大师软件蓝色按钮右侧的【打开串口】,此时串口号会变成灰色无效,并且其左侧的蓝色按钮会变成红色,如图3.1.7所示。
这表明串口现在已经处于就绪状态,可以正常使用了。
图3.1.5 HelloWorld工程编译结果图3.1.6 串口大师软件界面图3.1.7 红色表示软件串口处于打开状态9.用串口电缆连接实验箱串口与刚刚设置好并且处于就绪状态的PC机串口,待连接正确后,打开实验箱电源,此时可以看到串口大师软件会接收到实验箱发送上来的Bootloader信息,如图3.1.8所示。
打开要发送的文件图3.1.8 串口大师显示的实验箱发送的Bootloader信息10.点击图 3.1.8中所示的【选择文件】按钮,打开\ARM\Exp1\HelloWorld_Data\DebugRel\ HelloWorld.bin,如图3.1.9所示。
此处显示打开文件的路径图3.1.9 打开二进制文件的串口大师窗口2、给出工程的设置步骤和HelloWorld的运行结果;首先点击串口大师底部的【重新计数】,将TX和RX的计数全部清零,然后点击【发送文件】,此时串口大师上半部分窗口会显示发送文件的状态,并且图3.1.9显示文件路径的地方也变为显示文件发送的进度。
待文件发送接收后,串口大师会接收到实验箱反馈回来的接收信息,包括接收了多少个字节的数据,如图3.1.10所示。
随后还会显示系统运行结果(本实验的运行结果是定时通过串口向计算机发送“HelloWorld*^_^*”字符)。
文件发送正常指示ARM接收到的字节数运行结果实际发送的字节数图3.1.10 串口大师接收的发送结果注意:如果实际发送的字节数与ARM接收到的字节数步一致,则表明代码下载有误,可能系统无法正常运行。
三、问题及建议:1、初步掌握了该软件工程的建立编译下载;2、感觉对程序的理解还不是很透彻;有待进一步学习。