发布网友 发布时间:2022-04-20 08:18
共1个回答
热心网友 时间:2022-06-06 15:11
不是很明白你提问的意思.我们一般做嵌入式应用程序基本是模块化的.各个功能部分都尽量进行模块化封装.模块与模块只要接口对得上,基本就OK.软件硬件都是如此.这样有益于移植和重用.一般软件的部分,我们会分3层.由底层到上层分别是HW/FM/AP.HW(hardware)一般是硬件的控制和数据交换的接口.硬件驱动和IO口操作,基本在这一层.FM(Firmware)中间层,向下调用HW接口进行和硬件的控制和数据交换.向上是由AP层进行调用.一般这一层是某项功能的具体的数据和文件处理.AP(application)应用层,向下调用FM层进行相应的数据处理.这层主要是用户UI的制做和协调和调用嵌入式系统的各种功能.以你说的"控制摄像设备进行视频采集程序"为例,只举采集单项功能的例子.首先HW层,软件就要写SENSOR(传感器)控制接口,例如数据接口有多少根数据线,用总线还是用IO口.以何种格式或者顺序取数据.控制接口,RESET(复位)IO扣控制,和SENSOR的控制接口(I2C,SPI等接口)协议.这些都是HW层要写的程序.主要是如何控制硬件设备.FM层,软件部分就要写如何处理从HW过来的数据,以及数据和硬件控制的协调.假如你从SENSOR采集的图象数据是YUV的数据.这部分就要写如何去获取一帧图象数据,如何将一帧一帧的图象数据组织成视频.如果需要保存和传输,还要组织成视频文件结构,后者传输的流媒体数据结构.同时FM层还要包括如何开关图象采集设备.AP层,软件部分基本就是写界面和控制流程的程序.比如按哪个按键开始图象采集,按哪个键停止图象采集,等等.大致上程序就这些,不知道你需要的是不是这个.