设为首页 加入收藏

TOP

hi3531 SDK已编译文件系统制作jffs2文件系统镜像并解决问题 .(一)
2015-07-24 05:56:29 来源: 作者: 【 】 浏览:43
Tags:hi3531 SDK 编译 文件 系统 制作 jffs2 解决 问题

一, 安装SDK

1、Hi3531 SDK包位置


在"Hi3531_V100R001***/01.software/board"目录下,您可以看到一个 Hi3531_SDK_Vx.x.x.x.tgz 的文件,


该文件就是Hi3531的软件开发包。


2、解压缩SDK包


在linux服务器上(或者一台装有linux的PC上,主流的linux发行版本均可以),使用命令:tar -zxf Hi3531_SDK_Vx.x.x.x.tgz ,


解压缩该文件,可以得到一个Hi3531_SDK_Vx.x.x.x目录。


3、展开SDK包内容


返回Hi3531_SDK_Vx.x.x.x目录,运行./sdk.unpack(请用root或sudo权限执行)将会展开SDK包打包压缩存放的内容,请按照提示完成操作。


如果您需要通过WINDOWS操作系统中转拷贝SDK包,请先运行./sdk.cleanup,收起SDK包的内容,拷贝到新的目录后再展开。


4、在linux服务器上安装交叉编译器


1)安装uclibc交叉编译器(注意,需要有sudo权限或者root权限):


进入Hi3531_SDK_Vx.x.x.x/osdrv/toolchain/arm-hisiv100-linux目录,运行chmod +x cross.install,然后运行./cross.install即可。

进入Hi3531_SDK_Vx.x.x.x/osdrv/toolchain/arm-hisiv100nptl-linux目录,运行chmod +x cross.install,然后运行./cross.install即可。(原文档没有)


2) 安装glibc交叉编译器(注意,需要有sudo权限或者root权限):


进入Hi3531_SDK_Vx.x.x.x/osdrv/toolchain/arm-hisiv200-linux目录,运行chmod +x cross.install,然后运行./cross.install即可。


3) 执行source /etc/profile, 安装交叉编译器的脚本配置的环境变量就可以生效了,或者请重新登陆也可。


5、编译osdrv


参见osdrv目录下readme


―――――――以上为厂家提供教程―――――――


二, 几点说明:

1、uclibc是面向嵌入式Linux系统的小型的C标准库,glibc是Linux的标准运行库。

使用某一工具链编译后,如果需要更换工具链,请先将原工具链编译文件清除,然后再更换工具链编译。

开始我发现使用arm-hisiv100-linux编译内核时,会提示找不到该命令,换到arm-hisiv200-linux可以。估计就是上述问题吧。

2、source命令即执行命令,和“./”是一样的。(个人理解)

3、Linux下也有环境变量,如下:

常见的配置文件包括:

(1-1)/etc/profile:对所有用户生效;此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行;并从/etc/profile.d目录的配置文件中搜集shell的设置。例如:编辑/etc/profile文件,添加CLASSPATH变量

# vi /etc/profile

添加一行:export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

修改后需要执行重新登录才能生效,也可以执行命令source /etc/profile来生效

(1-2)/etc/bashrc:对所有用户生效;为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取编辑方法如上,不再赘述


环境变量的查看

(1)使用echo命令查看单个环境变量。例如:echo $PATH

(2)使用env查看所有环境变量。例如:env

(3)使用set查看所有本地定义的环境变量。例如:set

另外,unset可以删除指定的环境变量。

常用的环境变量

?

? PATH 决定了shell将到哪些目录中寻找命令或程序

HOME 当前用户主目录

HISTSIZE 历史记录数

LOGNAME 当前用户的登录名

HOSTNAME 指主机的名称

SHELL 当前用户Shell类型

LANGUGE  语言相关的环境变量,多语言可以修改此环境变量

MAIL 当前用户的邮件存放目录

PS1 基本提示符,对于root用户是#,对于普通用户是$?

?





三, osdrv 编译

1.osdrv使用说明
本目录设计思路为一套源代码支持两种工具链编译,因此需要通过编译参数指定不同的工具链。其中arm-hisiv100nptl-linux是


uclibc工具链,arm-hisiv200-linux是glibc工具链。具体命令如下
(1)编译整个osdrv目录:
make OSDRV_CROSS=arm-hisiv100nptl-linux all
或者
make OSDRV_CROSS=arm-hisiv200-linux all
(2)清除整个osdrv目录的编译文件:
make OSDRV_CROSS=arm-hisiv100nptl-linux clean
或者
make OSDRV_CROSS=arm-hisiv200-linux clean
(3)彻底清除整个osdrv目录的编译文件,除清除编译文件外,还删除已编译好的镜像:
make OSDRV_CROSS=arm-hisiv100nptl-linux distclean
或者
make OSDRV_CROSS=arm-hisiv200-linux distclean
(4)单独编译kernel:
待进入内核源代码目录后,执行以下操作
cp arch/arm/configs/godnet_defconfig .config
make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- menuconfig
make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- uImage
或者
cp arch/arm/configs/godnet_defconfig .config
make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux- menuconfig
make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux- uImage
(5)单独编译uboot:
待进入boot源代码目录后,执行以下操作
make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- godnet_config
make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux-
或者
make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux- godnet_config
make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux-
(6)制作文件系统镜像:
在osdrv/pub/中有已经编译好的文件系统,因此无需再重复编译文件系统,只需要根据单板上flash的规格型号制作文件系统镜像即


可。


spi flash使用jffs2格式的镜像,制作jffs2镜

首页 上一页 1 2 3 4 5 6 下一页 尾页 1/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇HDU 1061 Rightmost Digit题解 下一篇C++设计模式实现--组合(Composite..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: