曙海教育集团论坛Linux专区Linux应用开发 → 回复帖子

  回复帖子
用户名:   *您没有注册?
密码:   *忘记论坛密码?    标题采用“回复:XXX....”
主题标题:  *不得超过 200 个汉字
当前心情
上一页 发帖表情 下一页
内容
高级设置: 签名: 回帖通知:
 

主题新回顾(发布时间:2010-11-23 11:02:23)
--  作者:wangxinxin
--  基于ARM的嵌入式Linux应用程序开发研究
开发板上一般已经烧写好了嵌入式系统内核镜像,文件系统和前面讲的U-Boot,在掌握了烧写方法后,可以自己下载。

  3.4源程序的获得、编译和调试

  由于Linux是开源软件,所以运行在其下的应用软件也是开源软件,不管是哪一类的都免费获得源代码。可以直接在已有的源代码上进行修改得到符合要求的代码。论文中使用的就是已有的源代码,如图2所示。

图片点击可在新窗口打开查看

  Linux操作系统支持汇编,C,C++,Basic,Fortran,Pascal,JAVA,PHP等多种编程语言。其下的文本编辑器是Vi和Emacs,二者均有强大的编辑功能。图形界面的编程用的是Qt或是MiniGUI。利用以上软件,跟在Windows和其他操作系统下的软件编写方法完全相同。

  编写软件的过程与在其他系统下没有什么不同,不同的地方在与编译和调试。嵌入式中称之为交叉编译和交叉调试。

  交叉编译就是将在PC上编写好的源代码经过编译、链接生成可以在嵌入式系统上运行的代码,如图2所示。

  在交叉调试中,调试器和被调试程序分别在PC系统和嵌入式系统中,这是与一般调试不同的地方。交叉调试一般分为软件调试和硬件调试。

  软件调试插入调试桩的方式进行。典型的是GDB调试器,它分为GdbServer和GdbClient,前者作为调试桩安装在arm的嵌入式系统中,后者驻于本地PC中,二者可通过串口、网口、并口通信。

  硬件调试一般都使用的是仿真器,常用的如ROMMonitor、ROMEmulator、In-CircuitEmulator和In-CircuitDebugger。硬件调试功能更强大,性能更优秀,但是有的价格昂贵,额外的设备增加了成本。而ARM的JTAG端口实现在CPU内部调试,通过端口发送命令和接收信息。

  JTAG采用的主要技术为边界扫描技术,它的基本思想就是在靠近芯片的输入输出管脚上增加一个移位寄存器单元。当芯片处于调试状态时候,这些边界扫描寄存器可以将芯片和外围的输入输出隔离开来。通过这些边界扫描寄存器单元,可以实现对芯片输入输出信号的观察和控制,它提供了一个便捷的方式用于观测和控制所需要调试的芯片。通过JTAG接口可以方便地对目标系统进行测试,同时,还可以实现Flash的编程,是非常受人欢迎的调试方式。

  4结 论

  主机从网络下载mp3格式歌曲,通过串口(或tftp)传送到开发板上,用经过调试的播放器,结合教研室开发的功率放大器,很好的实现了播放音频的功能。

  在此基础上,还可以进一步开发视频播放功能。除了播放器应用软件,还可以根据存储器的大小增加其他应用程序。