项目管理器:

Linux中的项目管理器“make”有些类似于windows中的Visual C++里的“project”,它是一种控制编译或者反复编译软件的工具,另外,它还能自己主动管理软件编译的内容、方式和时机,使程序猿可以把精力集中在代码的编写上而不是在源码的组织上。

|-- Makefile

|-- Readme.txt(记录文件)

|-- board(嵌入式应用程序)

|   |-- include

|   |   |-- common.h

|   |   |-- device.h

|   |   |-- log.h

|   |   |-- msg.h

|   |   `-- socket.h

|   `-- src

|       `-- Main

|           |-- Makefile

|           |-- init.c

|           |-- log.c

|           |-- main.c

|           |-- serial.c

|           |-- socket.c

|           |-- socket_dev.c

|           |-- systeminfo.c

|           `-- thread.c

|-- drivers(驱动程序)

|-- kernel(内核源代码)

|-- script(脚本文件)

|   `-- build.sh

|-- tools(使用到的工具)

|   `-- images_tools

|       `-- mkyaffs2image

|-- u-boot(bootloader源代码)

初步规划好项目的代码结构,编写makefile文件,并使project可以顺利的编译通过。

.PHONY:help all uboot kernel app ramdisk system clean drivers
SRC_PATH=$(shell pwd)
export SRC_PATH help:
@echo "Usage:"
@echo "\tmake uboot # Compile UBoot"
@echo "\tmake kernel # Compile Linux Kernel"
@echo "\tmake ramdisk # Generate ramdisk.img"
@echo "\tmake system # Generate system.img"
@echo "\tmake app # Build Project applicatins"
@echo "\tmake drivers # Build drivers"
@echo "\tmake all # make uboot kernel ramdisk system app drivers" #$@是Makefile的通配符,代指你前面指定的文件名称,
uboot kernel ramdisk system app drivers:
@script/build.sh $@ all:
@script/build.sh uboot
@script/build.sh kernel
@script/build.sh drivers
@script/build.sh app
@script/build.sh ramdisk
@script/build.sh system # -C 大写,切换到指定文件夹再运行 make 过程,makefile 在这个指定文件夹里面
clean:
rm -fr images/*
rm -fr system/modules/*.ko
rm -fr system/app/*
make -C board/src/Main
make -C u-boot distclean
make -C drivers clean
make -C kernel clean

接下来的文章,将具体熟悉board文件夹中的文件。

智能家居项目(2):项目project框架的搭建的更多相关文章

  1. 01-信贷路由项目架构和 rose 框架的搭建

    1.信贷路由项目架构 2.工程搭建及测试 搭建tyrRouter-parent,tyrRouter-log-web,工程采用 maven 构建 配置 pom.xml 文件,父项目管理 jar 包的版本 ...

  2. 基于ZigBee模块与51单片机之间的简化智能家居项目简介(学生版本)

    5月份学校举行比赛,我们团队报名<智能家居>的项目,设计的总体思路用:QT写的上位机与ZigBee无线通信加51作为终端的简易版智能家居 电路连接:PC机->cc2530(协调器)- ...

  3. 01-电子商城项目介绍及ssm框架搭建

    1.B2C电商项目功能及架构 1.1功能列表 1.2系统架构(soa架构) 2.后台管理系统工程搭建及测试 ypMall,ypMall-manager-web ypMall为父项目,管理子项目的jar ...

  4. wumei-smart智能家居开原项目

    一.项目简介 物美智能(wumei-smart)]是一套开源的软硬件系统,可用于二次开发和学习,快速搭建自己的智能家居系统. 硬件工程师可以把自己的设备集成到系统:软件工程师可以使用项目中的设备熟悉软 ...

  5. 用IntelliJ IDEA 开发Spring+SpringMVC+Mybatis框架 分步搭建一:建立MAVEN Web项目

    一:创建maven web项目er

  6. IDEA+SpringBoot+Mybatis+maven分布式项目框架的搭建

    参考文章:https://blog.csdn.net/qq_34410726/article/details/98214992 一.maven分布式工程的基本架构 demo  #父工程模块,主要用来定 ...

  7. PHP项目感悟 -- 从CI框架来看iOS的MVC

    其实这几天一直都想找时间把这个感悟整理出来,也是这一段一直思考的问题,因为这一段参加一个PHP后台项目的开发,框架使用的是CI,随着项目的进展,对于CI接触的也越多,但是由于理解的可能并不深刻,我也只 ...

  8. MVC+Ef项目(1) 项目的框架搭建

    一:首先我们来搭建最基本的项目框架,这里使用MVC3作为web项目,然后我们添加几个类库项目 最后的项目如下, 其中有一个 YouJiao.MvcWeb.Repository 实际就当做是 DAL层即 ...

  9. android studio 新建项目 界面一直停在 【“building ‘ 项目名’ gradle project info”】

    zhezhelin android studio 新建项目 界面一直停在 [“building ‘ 项目名’ gradle project info”] 安装了android studio 之后,按照 ...

随机推荐

  1. [问题解决] /home目录占用率100%

    今天发现一个比较奇怪的现象,linux系统下一个目录挂在存储下,df -Th 显示该目录使用率100%, du 该目录显示只用了2%, 后来发现是由于进程占用了被删掉的文件空间导致.举例如下: [ro ...

  2. WPF(MultiTrigger)

    原文 http://blog.csdn.net/haifengzhilian/article/details/8822098 <Window x:Class="TestResource ...

  3. android4.0 HttpClient 以后不能在主线程发起网络请求

    android4.0以后不能在主线程发起网络请求,该异步网络请求. new Thread(new Runnable() { @Override public void run() { // TODO ...

  4. Unix/Linux环境C编程入门教程(18) kali-linuxCCPP开发环境搭建

    1. Kali linux是BT5的晋级版本,用于信息安全.基于Debian7内核.新建虚拟机. 2. 选择默认虚拟机 3. 选择稍后安装操作系统 4.选择Linux Debian7 64位,因为Ka ...

  5. Build A Micro Team

    最近这两周一直在忙,忙到忘记回QQ和微信的程度,甚至有两天下班回来直接躺平,虽说忙碌但是也收获了不少. Start 说起来有趣,最近在忙的这个项目最初是公司设立的用于工程师在业余时间开发的projec ...

  6. CocoaPods的安装及安装出现问题的处理

    ocoaPods安装分两步:第一步.修改本机的Ruby环境:第二步.安装. 第一步:步骤1.打开终端输入   gem sources -l   查看本机的Ruby环境:若显示“https://ruby ...

  7. 提交时提示错误This Bundle is invalid.New apps and app updates submitted to the App Store must be built wit

    this bundle is invalid . new apps and app updates submitted to the app store must be built with publ ...

  8. Linux下Oracle常见安装错误[Z]

    #./runInstaller之后出现如下的错误信息: RedHat AS5 x86上安装Oracle1020 Exception in thread "main" java.la ...

  9. maven 引用自己的jar

    <build>    <plugins>        <plugin>            <groupId>org.apache.maven.pl ...

  10. hdu4745

    区间DP,这类题目还是非常常见的,可惜平时都不怎么在意.一到比赛就弱得像鸟一样,真心囧. 题目要求很简单,就是一个最长的回文子序列,输出该子序列的长度. 区间DP,最常用的一种策略(类似于数学归纳法) ...