前言
通过该项目的的搭建,主要想达到以下几个目的:
- 补充Linux系统下的项目开发经验,熟悉开发流程。
- 学习好的项目框架,为日后扩展完成其他项目做前期铺垫。
该项目本人会通过博客连载记录项目框架设计、模块功能设计、调试遇到的问题及总结。
硬件资源
硬件:IMX6ULL开发板 、触摸屏
1、程序框架设计
一个好的程序框架 = 可以让程序员最大程度的去复用代码。
该项目我们要学会使用模块化的编程。减少程序之间的耦合性。简而言之就是对一个功能,将其封装成一个结构体。
为了更好的理解这种模块化编程的思想,进行举例说明:
在项目中我们使用FrameBuffer来操作LCD,对于LCD可以构造一个结构体,这个结构体里边有LCD初始化函数、输出函数(用来向LCD输出一帧图像)。以后如果硬件产生了变更,假如没有LCD,便可以构造另外一个结构体,这个结构体同样提供初始化函数、输出函数(用来输出一帧图像),不同的是该结构体,将数据通过网络输出到浏览器上,而之前的结构体,是将数据输出到硬件的LCD上。这样根据硬件的不同,就可以使用适合的结构体。这些结构体是相对独立的,可以将其用在项目A上,也可以用在项目B上,从而达到代码复用的效果。
该产品设计采用如下图所示的程序框架