使用DS5 进行Linux应用开发.docx

上传人:b****4 文档编号:3522628 上传时间:2022-11-23 格式:DOCX 页数:14 大小:470.95KB
下载 相关 举报
使用DS5 进行Linux应用开发.docx_第1页
第1页 / 共14页
使用DS5 进行Linux应用开发.docx_第2页
第2页 / 共14页
使用DS5 进行Linux应用开发.docx_第3页
第3页 / 共14页
使用DS5 进行Linux应用开发.docx_第4页
第4页 / 共14页
使用DS5 进行Linux应用开发.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

使用DS5 进行Linux应用开发.docx

《使用DS5 进行Linux应用开发.docx》由会员分享,可在线阅读,更多相关《使用DS5 进行Linux应用开发.docx(14页珍藏版)》请在冰豆网上搜索。

使用DS5 进行Linux应用开发.docx

使用DS5进行Linux应用开发

 

使用DS-5进行Linux应用开发

 

版本信息

此教程主要讲解创建一个简单的“Helloworld”程序,然后加载到DS-5提供的Cortex-A9 的固定虚拟平台(FVP),在平台上运行嵌入式Linux系统。

前期准备

此教程需要您已经安装ARMDS-5,并安装了license,如果没有,请学习GettingStartedwithARMDS-5安装DS_5并获取License。

创建简单的helloworld的Linux程序

在DS-5中创建一个Linux的C语言程序:

1.创建一个新的C工程并使用DS-5自带的GCC编译工具链。

2.配置好DS-5的GCC编译工具链的编译器和链接器,生成与FVP中ARM嵌入式Linux系统对应的编译选项。

3.创建源文件并编译,生成相应的应用程序。

创建新工程

1.打开DS-5软件,在DS-5的工具栏中选择SelectFile>New>CProject,弹出相应的C语言工程对话框。

2.在C语言工程对话框中:

a)在工程名栏,输入HelloWorldGCC作为工程的工程名;

b)在Projecttype中选择Executable>EmptyProject;

c)在Toolchains选项中,选择GCC4.x[arm-linux-gnueabihf](DS-5builtin)选项;

d)点击Finish创建一个HelloWorld_GCC的C语言工程。

你可以在ProjectExplorer中查看建立的工程。

配置新工程相关设置

1.在ProjectExplorer视图中,右键HelloWorld_GCC工程,选择Properties;

注意:

你也可以通过DS-5的工具栏来打开project的properties选项,在主工具栏中选择Project>Properties;

2.选择C/C++Build>Settings>ToolSettings对话框;

a)你需要特定的相关的选项,在GCCCCompiler4[arm-linux-gnueabihf]>Miscellaneous>Otherflags:

i.DS-5v5.21.1和以前的支持软浮点文件系统。

输入:

-marm-march=armv4t-mfloat-abi=soft

ii.DS-5v5.22及以后的版本支持硬浮点文件系统,输入:

-marm-mfloat-abi=hard

这些标志指示GCC编译器编译生成二进制文件与特定的架构和文件系统相兼容。

更多关于ARMGCC编译器的信息和编译选项请参照,请看:

http:

//gcc.gnu.org/onlinedocs/gcc/ARM-Options.html

b)在HelloWorld_GCC工程的配置对话框,点击OK应用此设置并关闭对话框。

生成源文件并编译工程

1.在ProjectExplorer视图中,右键单击HelloWorld_GCC工程并选择New>SourceFile;

2.在新的源文件对话框中,输入文件名HelloWorld_GCC.c;

3.点击Finish完成创建,打开文件并编辑。

源文件也可以在在ProjectExplorer视图中查看,在HelloWorld_GCC中。

4.添加下列代码在新文件中,使用快捷键CTRL+S保存。

#include

intmain(intargc,char**argv)

{

printf("Helloworld\n");

return0;

}

什么是argc和argv?

argc和argv是C或C++中用来将命令行的参数传递给main函数。

argc是argv的指针数。

变量命名为argc(argumentcount)和argv(argumentvector)是通用命名规则。

5.在ProjectExplorer视图中,右键点击HelloWorld_GCC工程并选择Build工程。

这将生成Linux可执行文件和所需的支持文件。

Debug条目下的文件夹包含调试所需的额外文件。

在FixedVirtualPlatform(FVP)上调试Linux程序

当你创建了工程并编译了代码,启动调试器在DS-5提供的FixedVirtualPlatform(FVP)运行程序。

在这个教程里,我们使用DS-5提供的FVP_VE_Cortex-A9x4。

创建DS-5DebugConfiguration并连接FVPModel

1.在DS-5菜单栏,选择Run>DebugConfigurations;

2.在DebugConfigurations对话框中:

a)选择DS-5Debugger;

b)点击Newlaunchconfigurations按钮。

这将创建一个新的DS-5调试配置,这将显示各种需要特殊设置的的选项,从而将您的应用程序加载到目标板中。

3.在DebugConfigurations对话框中:

a)创建一个新的配置选项。

例如名字HelloWorld_Linux_FVP;

b)在Connection栏中,选择ARMFVP(InstalledwithDS-5)>Cortex-A9x4pre-configuredtobootARMEmbeddedLinux>LinuxApplicationDebug>Startgdbserveranddebugtargetresidentapplication;

默认情况,你的工作区相关路径是相关的主机挂载点,这个位置用于目标板挂载区的可读写挂载点上。

c)在Files对话框,在TargetConfiguration>Applicationontarget区域输入/writeable/HelloWorld_GCC/Debug/HelloWorld_GCC;

这个指定的HelloWorld_GCC应用将会挂载在目标板的

/writeable/HelloWorld_GCC/Debug/目录下。

d)在Files对话框中,选择Loadsymbolsfromfile,并选择工作目录。

e)在Open对话框,选择Debug文件夹下的HelloWorld_GCC应用。

f)点击OK;

这个设置的路径下的文件包含需要的symbols信息。

g)选择Debugger栏,选择Debugfromentrypoint。

h)点击Debug加载应用程序到目标板上,加载调试信息到调试器中;

i)在确认视图对话框出现时,点击Yes;DS-5连接FVPmodel,,加载Linux到FVPmodel,,并显示连接状态到DebugControl视图。

应用程序加载到目标板上,停在entrypoint,准备进一步操作。

其他的视图将显示其他的相关调试连接信息。

例如:

·Commands视图将显示调试器的输出的信息,也可以使用这个视图输入DS-5命令。

·C/C++编辑器视图显示C,C++,ormakefile的内容。

当您编辑这些内容的时候他们就会更新。

·反汇编视图显示了加载的程序在内存中的地址和汇编指令。

指示了你的程序在代码中停止的位置。

在这个例子中,他停止在main()函数中。

这个视图显示了其他的信息使你能够了解代码的细节。

·Memory视图显示了代码怎么存储在目标内存中的。

例如,去查看程序中字符串HelloWorld怎样存在内存中的。

1.打开Memory视图。

2.在地址栏中输入,0x00008440并回车视图将会显示目标板内存中的内容。

3.标记关键字符串HelloWorld查看他们ASCII编码值。

Memory视图显示代码的16进制值,旁边页显示相应的代码在内存中ASCII码值

·点击

运行应用。

你可以在AppConsole查看应用输出情况。

单步执行程序

使用Debug提供的控制功能实现单步执行程序。

-点击继续执行代码

-点击中断或者暂停执行的代码

-点击执行代码

-点击执行过该函数

-点击跳出执行的函数

-这是一个开关,选择这个是你想让以上控制执行汇编行还是C源码行。

断开调试连接

想要断开调试连接,你可以右键选择连接工程并选择selectDisconnectfromTarget或者选择Debug控制栏的连接选项,点击

断开连接。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1