loading请求处理中...

Linux嵌入式系统软件开发基础 嵌入式Linux系统层次

2021-12-01 02:41:40 阅读 13393次 标签: linux基础教程 作者: anyi
    由于嵌入式开发的产品充斥着各个角落,随着嵌入式软件系统结构越来越复杂,嵌入式软件开发已成为复杂的系统工程。早期的嵌入式系统中,软件与硬件密不可分浑然一体,开发者多是电子工程、自动控制等领域的工程师,软件基本上都是用汇编语言实现。随着软硬件技术的发展,人们对嵌入式系统的功能要求越来越复杂(比如,手机可以照相、摄影、上网读新闻、购物等),性能要求也越来越高,所以对于从事嵌入式软件开发工作者来说的深入的学习与研究显的越发重要!下面就对嵌入式Linux开发进行一定的了解。
Linux嵌入式系统软件开发基础
    在嵌入式Linux开发过程中,选择好的嵌入式Linux开发平台和调试工具可以极大地提高嵌入式Linux开发效率。嵌入式系统的特点是系统资源小,因此具体目标板的设备驱动程序(Device Driver)需要定制,BDM /JTAG调试工具是开发Linux内核的很好手段。调试工具利用CPU的JTAG接口,对运行程序进行监控,不占用系统的其他资源。
    从嵌入式软件开发的角度出发,一个嵌入式Linux系统可以分为4个层次。
    (1)Linux内核,为特定的嵌入式硬件系统板定制的内核及内核的启动参数。为了实现Linux内核的移植,要把编译生成的Boot-loader,Kernal Image(内核)及Root Filesystem(根文件系统)烧写到Hash中。在编译内核的时候,还可以选择需要支持的网络协议,所支持的主要协议包括TCP/IP(如TCP、IP、UDP、ICMP、ARP、RARP、FTP、TFTP、BOOTP、DHCP、RIP、OSPF、HTTP等)。由于内核己经支持多种网络协议,因此通过加载不同的应用程序,就可以实现相应类型的应用。
    (2)引导和加载Linux内核的程序,主要是用户自己编制的Boot-loader程序。Boot-loader的功能相当于PC的BIOS,在硬件板一加电后就开始运行,它要用串行电缆把PC与硬件开发板连接起来,在PC端通过对程序的编译,生成一个bin文件,通过简易的JTAG探头,把它烧写到Nand-Flash。
    Boot-loader主要完成硬件初始化,同时设置Linux启动时所需要的参数,然后跳到Linux内核启动代码的第一个字节开始引导Linux。
    (3)和Linux内核配合使用的根文件系统,包括建立根文件系统和建立于Flash设备上的文件系统。将文件系统也烧写到Hash后,Linux就可以在硬件板上正常运行了。
    (4)用户应用程序。为了使人机交互界面友好,通常在用户应用程序和Linux内核层之间移植一个嵌入式图形用户界面(Graphic User Interface,GUI)。
    当前,嵌入式软件开发已经逐步规范化,为了能够开发出更优秀的嵌入式软件,就要更深层次的了解嵌入式Linux系统,熟练的使用嵌入式Linux系统进行嵌入式软件开发。
(一品威客 anyi)

嵌入式软件公司推荐

成为一品威客服务商,百万订单等您来有奖注册中

留言( 展开评论

快速发任务

价格是多少?怎样找到合适的人才?

官方顾问免费为您解答

 
嵌入式软件相关任务
DESIGN TASK 更多
linux--awk语言时间判断

¥1000 已有1人投标

写一个非常简单的 LINUX 脚本

¥750 已有1人投标

开发Linux桌面程序

¥20000 已有1人投标

linux服务器数据备份重装系统

¥500 已有1人投标

linux程序开发

¥1000 已有4人投标

linux系统还原脚本开发

¥1960 已有1人投标