智能家居项目(2):项目project框架的搭建
项目管理器:
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框架的搭建的更多相关文章
- 01-信贷路由项目架构和 rose 框架的搭建
1.信贷路由项目架构 2.工程搭建及测试 搭建tyrRouter-parent,tyrRouter-log-web,工程采用 maven 构建 配置 pom.xml 文件,父项目管理 jar 包的版本 ...
- 基于ZigBee模块与51单片机之间的简化智能家居项目简介(学生版本)
5月份学校举行比赛,我们团队报名<智能家居>的项目,设计的总体思路用:QT写的上位机与ZigBee无线通信加51作为终端的简易版智能家居 电路连接:PC机->cc2530(协调器)- ...
- 01-电子商城项目介绍及ssm框架搭建
1.B2C电商项目功能及架构 1.1功能列表 1.2系统架构(soa架构) 2.后台管理系统工程搭建及测试 ypMall,ypMall-manager-web ypMall为父项目,管理子项目的jar ...
- wumei-smart智能家居开原项目
一.项目简介 物美智能(wumei-smart)]是一套开源的软硬件系统,可用于二次开发和学习,快速搭建自己的智能家居系统. 硬件工程师可以把自己的设备集成到系统:软件工程师可以使用项目中的设备熟悉软 ...
- 用IntelliJ IDEA 开发Spring+SpringMVC+Mybatis框架 分步搭建一:建立MAVEN Web项目
一:创建maven web项目er
- IDEA+SpringBoot+Mybatis+maven分布式项目框架的搭建
参考文章:https://blog.csdn.net/qq_34410726/article/details/98214992 一.maven分布式工程的基本架构 demo #父工程模块,主要用来定 ...
- PHP项目感悟 -- 从CI框架来看iOS的MVC
其实这几天一直都想找时间把这个感悟整理出来,也是这一段一直思考的问题,因为这一段参加一个PHP后台项目的开发,框架使用的是CI,随着项目的进展,对于CI接触的也越多,但是由于理解的可能并不深刻,我也只 ...
- MVC+Ef项目(1) 项目的框架搭建
一:首先我们来搭建最基本的项目框架,这里使用MVC3作为web项目,然后我们添加几个类库项目 最后的项目如下, 其中有一个 YouJiao.MvcWeb.Repository 实际就当做是 DAL层即 ...
- android studio 新建项目 界面一直停在 【“building ‘ 项目名’ gradle project info”】
zhezhelin android studio 新建项目 界面一直停在 [“building ‘ 项目名’ gradle project info”] 安装了android studio 之后,按照 ...
随机推荐
- 限制TextBox输入,只能输入Double类型数字
public class TextBoxDouble : TextBox { public TextBoxDouble() { KeyDown += TextBoxDouble_KeyDown; Te ...
- 04737_C++程序设计_第2章_从结构到类的演变
例2.1 使用成员函数的实例. #define _SCL_SECURE_NO_WARNINGS #include <iostream> using namespace std; struc ...
- OC中ARC forbids explicit message send of release错误(转)
ARC forbids explicit message send of'release' 很显然,是ARC的问题. 错误原因:在创建工程的时候点选了“Use Automatic Reference ...
- js charts去掉logo
打开js charts 3的源代码搜索关键字"fs.bg",然后会找到 fs.bg.2v(fX),将这句代码删掉就OK了,可能有的版本会是fs.bg.2u(fX) 欢迎加入群:25 ...
- leetcode Combination Sum II python
Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in ...
- javascript新窗口打开链接window.open()被阻拦的解决办法
场景是ajax提交,比较后端效验数据,需要用户登录,提示后并需要新窗口打开登录的链接,使用window.open(url);往往会被浏览器认为是广告而被拦截. data.url是ajax返回的链接地址 ...
- linux chmod使用说明
chmod是用来改变一个目录的访问权限的,一般的方式是:chmod a+rwx 其中a代表全部,还有u[目录拥有者] ,g[目录拥有组],o[其他用户] r代表读,w代表写,x代表可以执行,对应数字权 ...
- sass和compass安装
安装Sass和Compass sass基于Ruby语言开发而成,因此安装sass前需要安装Ruby.(注:mac下自带Ruby无需在安装Ruby!) window下安装SASS首先需要安装Ruby,先 ...
- zend framework安装中出现的问题与总结
1.按照官方的教程来做http://framework.zend.com/manual/current/en/user-guide/skeleton-application.html 但其中有些步骤没 ...
- 关于继承UITableViewController若干问题
// // MSHomeCommentTableViewController.m // xiaoqu-ios // // Created by Charlie on 15/7/1. // Copyri ...