海思芯片 IPC_HI3518的解读

在大学中没有怎么接触过makefile的东西,再看了书籍之后开始看了第一个makefile,就是海思芯片IPC_HI3518的makefile。十分的长,在开始入手的时候对于我来说真的是太难了。然后我就拼命的看,因为师兄也才刚毕业,所以比较贴近我们的水平,在他的演示下。我对于makefile也终于有了一些理解。

# 发布目录

ifndef RELEASE_DIR

    RELEASE_DIR=/home/share/$(LOGNAME)/Dist#

endif

BUILD_LEFT1=$(RELEASE_DIR)

BUILD_LEFT2=$(BUILD_LEFT1)/$(shell date +%Y%m%d)#

BUILD_LEFT3=$(BUILD_LEFT2)/$(GUI_VENDOR)_$(OEM_VENDOR_DIR)

BUILD_ROOT=$(BUILD_LEFT3)/$(PLATFORM_DIR)_$(RELEASE_DEVICE)# 发布程序的目录

首先是这个发布路径:

我们一定要善于使用ctrl+f来寻找:

经过几天的摸索,对于这些路径也终于清楚了:

这个路径的绝对地址是:

/home/share/fenglinfeng/Trunk/Dist/20150818/General_HZXM/IPC_HI3516C_53H20L

接下来是这几个路径:

SOFIA_INTERMEDIATEDIR=$(WORK_DIR)/$(shell

 basename $(shell pwd))_$(GUI_VENDOR)_$(OEM_VENDOR_DIR)_tmp#

# 中间文件目录,存放.o文件的位置


SOFIA_TARGETDIR=$(SOFIA_DIST) # 存放生成的Sofia可执行文件的目录


BUILD_DIR:=$(shell basename $(shell pwd)) #开发环境使用这个


分别是:/home/share/fenglinfeng/Trunk/ProductBuilder/IPC_HI3518_General_HZXM_tmp

可执行文件目录:/home/share/fenglinfeng/Trunk/ProductBuilder/bin/Sofia

开发环境:IPC_HI3518


观察IPC_HI3518的makefile,可以明确,最后可执行文件sofia是存放在 /home/share/fenglinfeng/Trunk/ProductBuilder/bin下的,然后又将其复制到share/General下。我们调试的话只需要运行General下的sofia文件就可以了。

路径弄明白之后我们来明确一下HI3518在修改函数之后如何将其写到设备的过程:

海思芯片 IPC_HI3518的解读_第1张图片


  1. 首先是在home/fenglinfeng/libhicap文件夹下修改好代码。并且保存。



  1. 修改好代码之后telnet 10.2.10.100,输入账号密码之后进入libhicap进行make,make之后会生成两个.a文件

海思芯片 IPC_HI3518的解读_第2张图片

  1. 当然,稍微聪明一点的人就可以轻易的知道,这个.a文件绝对不是存放在这个文件夹下面的,我们要把它弄到该去的地方。
  2. 使用

cp libhicap.a libhicap-d.a /home/fenglinfeng/myfile/Application/Build/Platform/HI3518/special

命令。将其复制到平台代码下面。

注意,我们需要把这两个文件移到和makefile同一个根目录下的文件夹,因为这是makefile指定的根目录

  1. 最后进入IPC_HI3518进行make pack ,然后使用设备将得到的东西,在share\fenglinfeng\Trunk\Dist\20150818\General_HZXM\IPC_HI3516C_53H20L下将得到的东西升级,即可将设备进行一些改变。、
  2. 当然,调试的话是进行make ,并telnet设备的ip地址,然后进行挂载,最后运行生成的sofia文件。


注意:

  1. 后面申请的源代码,编译后生成的库文件要放到服务器的application中,源代码编译后生成的是库文件,库文件在进行汇编,会生成可执行文件sofia。
  2. 在读取makefile的时候注意要观察,make执行的是第一个规则,此规则是第一个目标称之为最终目的和终级目标

你可能感兴趣的:(linux)