日期:2014-05-16  浏览次数:20602 次

嵌入式Linux项目,怎么设计程序的框架?
现在做一个车载的嵌入式Linux项目,包括GPS、键盘、与服务器UDP通信、LCD屏 等,驱动差不多已经好了,开始编应用。  
  以前做过单片机的编程,一个工程下面main.c 和其他各种头文件,c文件。现在不知道该怎么编应用,比如,现在我要跟服务器UDP通信,我已经编了一个程序,用SOCKET 建立连接,发送数据,接收服务器发送的数据,是可以的。但是我还要完成其他的任务,读取GPS的数据,键盘的数据,都写在main.c里面肯定太大了。是不是也像单片机的程序一样,都写在一个文件夹下,然后调用?看了一份代码,里面还有Makefile 文件,不知道Makefile在这里的作用.
  有了操作系统,是不是可以通过创建线程的方式把各个功能写在不同的线程里面,那这些线程 运行的语句都写在main.c文件里面吗?

------解决方案--------------------
用单一进程是可以的,就像单片机程序那样,轮询 + 中断。
多进程或者多线程,也可以的。要处理好进程间通信,或者线程间的互斥、锁之类。
Makefile是为了管理整个工程的编译的,在VS下,这是靠sln或者.vcproj等文件来实现的。
这方面有本书《跟我一起学Makefile》。