嵌入式Linux系统开发模式

原创 2012年03月27日 10:22:57

        嵌入式系统通常为一个资源受限的系统。直接在嵌入式系统的硬件平台上编写软件比较困难,有时甚至是不可能的。下面由卓跃教育为您介绍嵌入式系统开发模式。
  
  第一步,建立嵌入式Linux交叉开发环境。目前,常用的交叉开发环境主要有开放和商业两种类型。开放的交叉开发环境的典型代表是GNU工具链,目前已经能够支持x86、ARM、MIPS、PowerPC等多种处理器。
  
  第二步,交叉编译和链接。在完成嵌入式软件的编码之后,就是进行编译和链接,以生成可执行代码。由于开发过程大多是在Intel公司x86系列CPU的通用计算机上进行的,而目标环境的处理器芯片却大多为ARM、MIPS、PowerPC、DragonBall等系列的微处理器,这就要求在建立好的交叉开发环境中进行交叉编译和链接。
  
  第三步,交叉调试。
  
  ①硬件调试。如果不采用在线仿真器,可以让CPU直接在其内部实现调试功能,并通过在开发板上引出的调试端口,发送调试命令和接收调试信息,完成调试过程。目前,Motorola公司提供的开发板上使用的是DBM调试端口,而ARM公司提供的开发板上使用的则是JTAG调试端口。使用合适的软件工具与这些调试端口进行连接,可以获得与ICE类似的调试效果。
  
  ②软件调试。在嵌入式Linux系统中,Linux系统内核调试,可以先在Linux内核中设置一个调试桩(debugstub),用作调试过程中和宿主机之间的通信服务器。然后,可以在宿主机中通过调试器的串口与调试桩进行通信,并通过调试器控制目标机上Linux内核的运行。
  
  嵌入式上层应用软件的调试可以使用本地调试和远程调试两种方法。如果采用的是本地调试,首先要将所需的调试器移植到目标系统中,然后就可以直接在目标机上运行调试器来调试应用程序了;如果采用的是远程调试,则需要移植一个调试服务器到目标系统中,并通过它与宿主机上的调试器共同完成应用程序的调试。在嵌入式Linux系统的开发中,远程调试时目标机上使用的调试服务器通常是gdbserver,而宿主机上使用的调试器则是gdb。
  
    第四步,系统测试。整个软件系统编译过程,嵌入式系统的硬件一般采用专门的测试仪器进行测试,而软件则需要有相关的测试技术和测试工具的支持,并要采用特定的测试策略。测试技术指的是软件测试的专门途径,以及能够更加有效地运用这些途径的特定方法。在嵌入式软件测试中,常常要在基于目标机的测试和基于宿主机的测试之间做出折衷。基于目标机的测试需要消耗较多的时间和经费,而基于宿主机的测试虽然代价较小,但毕竟是在仿真环境中进行的,因此难以完全反映软件运行时的实际情况。

单片机和嵌入式系统linux的区别

随着嵌入式行业硬件平台的性能增强,项目需求和功能日益复杂,ARM公司推出的 CORTEX-M3,更是让以往做单片机的工程师在芯片和技术选型面临两难选择,本专题将从芯片价格、整个系统的硬件软件设计及维护...
  • zhu114wei
  • zhu114wei
  • 2015年06月01日 10:28
  • 4045

Linux平台下4412开发板开发板裸机开发指南 01

Linux平台下友坚4412开发板裸机开发指南(一) 版权声明 本手册版权归属本人所有, 并保留一切权力。非经本人同意(书面形式),任何单位及个人不得擅自摘录本手册部分或全部,违者我们将追究其法律...
  • candy20151992
  • candy20151992
  • 2015年04月02日 17:55
  • 485

谈谈我做嵌入式系统开发的心得

原文地址:http://blog.csdn.net/coolbacon/article/details/6435344 (这是一个大牛讲嵌入式方面的经历,我觉得写得非常好,贴来学习一下) ...
  • yazhouren
  • yazhouren
  • 2014年12月23日 10:54
  • 1116

嵌入式系统中的状态机设计心得

在使用iTRON类OS的嵌入式系统中,除了驱动程序以外,大多数模块也就是中间件和应用程序是以任务(TASK)的形式设计的。而iTRON类OS大多采用C语言实现,于是用状态机的方式实现功能模块成为了主要...
  • xxxl
  • xxxl
  • 2015年04月13日 19:32
  • 982

收集整理的ARM嵌入式linux开发入门视频教程

嵌入式Linux作为一个系统学科,具有知识点多,知识难度大,实践操作性强等特点,很多踌躇满志的同学最终倒在了学习嵌入式Linux的道路上,绝大部分也是因为没有掌握嵌入式Linux 的知识规律和学习...
  • asdf87520
  • asdf87520
  • 2017年01月06日 11:29
  • 1766

linux驱动开发之路(三)——嵌入式 Linux 的蜂鸣器控制实验(misc设备)

实验内容介绍见《GEC210嵌入式系统开发教材20131120(更新)》第102页--“5.4 嵌入式 Linux 下的按键中断实验”...
  • Alan445947767
  • Alan445947767
  • 2014年09月03日 10:09
  • 2003

成为一名嵌入式Linux开发工程师需要学习哪些知识?

本博客转载于:http://bbs.elecfans.com/jishu_426554_1_1.html 一:C语言   嵌入式Linux工程师的学习需要具备一定的C语言基...
  • Cowena
  • Cowena
  • 2015年08月30日 08:07
  • 3061

嵌入式系统开发之环境的建立

交叉编译调试环境建立在宿主机(也就是你的电脑)上,对于的开发板叫目标板。要完全手工的建立针对某特定的目标板的交叉编译环境是一个非常麻烦的过程。有些人会问,为什么需要建立特定的环境,从网上下载一个通用的...
  • wtt561111
  • wtt561111
  • 2014年11月01日 23:17
  • 572

嵌入式系统开发入门一:必备基础知识

一个嵌入式系统(本文所说的嵌入式系统包括ARM,DSP,单片机等,不包括FPGA、CPLD等)的开发至少涉及到硬件和软件两个部分。硬件之数字电路首先硬件部分,一款嵌入式电路板上,绝大部分的数字电路,处...
  • wmaxwell
  • wmaxwell
  • 2015年03月18日 13:03
  • 942

嵌入式开发之道——菜鸟成长日志与项目经理的私房菜(读书笔记)

嵌入式开发之道——菜鸟成长日志与项目经理的私房菜(读书笔记) 邱毅凌著 1、一般函数调用与中断ISR的区别 一般程序都是循序执行的,CPU一定要执行到main()的第20行,才有可能去调用sub_...
  • luckywang1103
  • luckywang1103
  • 2015年05月17日 21:25
  • 1668
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:嵌入式Linux系统开发模式
举报原因:
原因补充:

(最多只允许输入30个字)