microcreat

microcreat

0个粉丝

36

问答

0

专栏

0

资料

microcreat  发布于  2013-01-07 09:26:32
采纳率 0%
36个问答
9671

live555移植笔记四 hi3531上面的移植

 
本帖最后由 microcreat 于 2013-1-7 09:32 编辑

  linux就是这点好,可以直接用pc机来验证后,然后移植到嵌入式平台,有了前面的验证,现在可以直接把live555移植到海思的hi3531平台上面了.
  一,配置交叉编译工具,这个我直接写了个脚本,每次运行的时候都运行这个脚本,这样交叉编译工具也就配置好了,当然这个脚本还可以配置其它的东西:
  root@microcreat:/workdir/private/Hi3531_SDK_V1.0.7.3_B010# cat setenv
#!/bin/sbin/

echo "set the environment for hi3531.....!"

export SDK_PATH=$PWD

crosstools_dir="./toolchain/arm-hisiv100nptl-linux/arm-hisiv100-linux/bin"

if [ ! -d "$crosstools_dir" ]; then
    tar -jxvf toolchain/arm-hisiv100nptl-linux/arm-hisiv100-linux.tar.bz2 -C toolchain/arm-hisiv100nptl-linux/
fi

CROSSTOOL_UBOOT=$PWD/uboot/u-boot-2010.06/tools
CROSSTOOL_KERNEL=$PWD/toolchain/arm-hisiv100nptl-linux/arm-hisiv100-linux/bin
IMAGETOOL_PC=$PWD/tools

export PATH=$CROSSTOOL_KERNEL:$PATH
export PATH=$CROSSTOOL_UBOOT:$PATH
export PATH=$IMAGETOOL_PC:$PATH

arm-hisiv100-linux-uclibcgnueabi-gcc
二,先运行这个脚本,配置开发环境:
root@microcreat:/workdir/private/Hi3531_SDK_V1.0.7.3_B010# . setenv
set the environment for hi3531.....!
Using built-in specs.
Target: arm-hisiv100-linux-uclibcgnueabi
Configured with: ../gcc-4.4-2010q1/configure --host=i486-linux-gnu --build=i486-linux-gnu --target=arm-hisiv100-linux-uclibcgnueabi --prefix=/home/sying/uclibc_h3/hisiv100_finalnptl_src/hisiv100_src/install/arm-hisiv100-linux --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-arch=armv5te --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --enable-shared --enable-lto --enable-symvers=gnu --enable-__cxa_atexit --disable-nls --enable-extra-hisi-multilibs --with-sysroot=/home/sying/uclibc_h3/hisiv100_finalnptl_src/hisiv100_src/install/arm-hisiv100-linux/target --with-build-sysroot=/home/sying/uclibc_h3/hisiv100_finalnptl_src/hisiv100_src/install/arm-hisiv100-linux/target --with-gmp=/home/sying/uclibc_h3/hisiv100_finalnptl_src/hisiv100_src/install/host_lib --with-mpfr=/home/sying/uclibc_h3/hisiv100_finalnptl_src/hisiv100_src/install/host_lib --with-ppl=/home/sying/uclibc_h3/hisiv100_finalnptl_src/hisiv100_src/install/host_lib --with-cloog=/home/sying/uclibc_h3/hisiv100_finalnptl_src/hisiv100_src/install/host_lib --with-libelf=/home/sying/uclibc_h3/hisiv100_finalnptl_src/hisiv100_src/install/host_lib --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bstatic -lm' --enable-libgomp --enable-poison-system-directories --with-libelf=/home/sying/uclibc_h3/hisiv100_finalnptl_src/hisiv100_src/install/host_lib --with-pkgversion='Hisilicon_v100(gcc4.4-290+uclibc_0.9.32.1+eabi+linuxpthread)' --with-bugurl=http://www.hisilicon.com/cn/service/claim.html
Thread model: posix
gcc version 4.4.1 (Hisilicon_v100(gcc4.4-290+uclibc_0.9.32.1+eabi+linuxpthread))
可以看到交叉编译的工具以及配置好了。
三,我们来配置live555的环境
  首先进入该源码根目录:我们首先根据一个demo来修改hi3531的配置文件:
root@microcreat:/workdir/private/Hi3531_SDK_V1.0.7.3_B010/app/live.2012.12.24# cp config.armlinux config.hi3531
然后按照下面的修改:
root@microcreat:/workdir/private/Hi3531_SDK_V1.0.7.3_B010/app/live.2012.12.24# cat config.hi3531
CROSS_COMPILE?=                arm-hisiv100-linux-uclibcgnueabi-
COMPILE_OPTS =                $(INCLUDES) -I. -O2 -DSOCKLEN_T=socklen_t -DNO_SSTREAM=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64
C =                        c
C_COMPILER =                $(CROSS_COMPILE)gcc
C_FLAGS =                $(COMPILE_OPTS)
CPP =                        cpp
CPLUSPLUS_COMPILER =        $(CROSS_COMPILE)g++
CPLUSPLUS_FLAGS =        $(COMPILE_OPTS) -Wall -DBSD=1 -DLOCALE_NOT_USED
OBJ =                        o
LINK =                        $(CROSS_COMPILE)g++ -o
LINK_OPTS =               
CONSOLE_LINK_OPTS =        $(LINK_OPTS)
LIBRARY_LINK =                $(CROSS_COMPILE)ar cr
LIBRARY_LINK_OPTS =        $(LINK_OPTS)
LIB_SUFFIX =                        a
LIBS_FOR_CONSOLE_APPLICATION =
LIBS_FOR_GUI_APPLICATION =
EXE =
修改后,我们先运行脚本自动生成makefile
root@microcreat:/workdir/private/Hi3531_SDK_V1.0.7.3_B010/app/live.2012.12.24# ./genMakefiles hi3531
编译:
root@microcreat:/workdir/private/Hi3531_SDK_V1.0.7.3_B010/app/live.2012.12.24# make
这样就完成了交叉编译.
我来回答
回答3个
时间排序
认可量排序

jiam152

0个粉丝

0

问答

0

专栏

0

资料

jiam152 2014-07-01 14:12:10
认可0
恩,不错。这个可以把h264编码的文件用流的形式播出来,可是要实现实时视频流播放呢?

hello

0个粉丝

7

问答

0

专栏

0

资料

hello 2015-09-14 10:00:23
认可0
如果编译链是v200,怎么设置编译环境

17097339061

0个粉丝

58

问答

0

专栏

1

资料

17097339061 2015-09-15 16:24:15
认可0
本帖最后由 17097339061 于 2015-9-15 16:25 编辑

66666666666666666666
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区