当前位置:首页 >> 信息与通信 >>

海思开发板常规开发步骤解析-郑HC整理


此文档由郑 HC 整理,有误请及时指出

修改时间:2011-12-30

一、 通过 smb 方式在 Windows 下登录 linux 虚拟主机 目的:在 Windows 和 linux 虚拟主机间进行文件传送

1、 启动 linux 后,选择最后一项, “usbserious” ,默认以用户名:root,密码:yuhong 登录。 2、启动 SMB 服务,方便文件共享:service smb start。如下图所示:

3、在 windows 的“运行”中,输入: “\\192.168.1.192” 登录 Linux。出现如下界面:

用户名:user 密码:abc。登录后,可看到 Linux 的文件目录,如下图所示:

注意:如果没法连接上 smb 服务,注意要在 PC 机的网上邻居 把 ip 地址手动设置为以下:
Ip address :192.168.1.178 子网掩码:255.255.255.0 网关:192.168.1.255

此文档由郑 HC 整理,有误请及时指出

修改时间:2011-12-30

二、 通过终端登录到海思 ARM9 主板 目的:在 Windows 下操作 ARM9 主板进行编译文件的运行和驱动模块 的加载等。
1、硬件连接。用 3PIN 线,连接 PC 跟目标板的串口(蜂鸣器旁边的 3PIN 插针。将网线接上目 标板的以太网网口。 2、启动终端。设置参数为“115200,8 位数据位,无奇偶检验,无硬件控制” 。 3、启动 Uboot 控制终端。给目标板上电。如已安装内核,会出现如下图所示的界面。 以下为经过下载内核——>下载文件系统 后进入系统的操作界面:

此文档由郑 HC 整理,有误请及时指出

修改时间:2011-12-30

三、下载 linux 内核和文件系统到海思 ARM9 板

3.1 编译和下载 Kernel
我 们 也 没 有 系 统 内 核 源 代 码 。 只 有 海 思 原 厂 的 内 核 源 代 码 (\Hi3515_SDK_V1.0.4.0.c2\source\os\linux-2.6.24) 。因此,我们也无法编译系统内核。但我们 有编译好的内核镜像文件(\程序源代码\linux 内核\hikernel) 。

3.1.1 编译 Kernel 3.1.2 下载 Kernel
有“网口”和“串口”两种方式下载内核。下面演示如何使用“网口”内核。 步骤 1 硬件连接。用 3PIN 线,连接 PC 跟目标板的串口(蜂鸣器旁边的 3PIN 插针。将网线接 上目标板的以太网网口。 步骤 2 启动终端。设置参数为“115200,8 位数据位,无奇偶检验,无硬件控制” 。 步骤 3 启动 Uboot 控制终端。给目标板上电。如已安装内核,会出现如下图所示的界面。

此文档由郑 HC 整理,有误请及时指出

修改时间:2011-12-30

再次上电,在终端界面上,迅速按下“Ctrl+C” ,取消自动加载内核,进入 Uboot 的控制界面。 如下图所示:

步骤 4 设置 tpft 服务 IP。默认宿主 Linux 的 IP 为 192.168.1.192。输入命令:setenv serverip 192.168.1.192 步骤 5 擦除内核存储区。输入命令: erase 0x80640000 +0x1c0000 步骤 6 下载内核文件。将内核文件(\程序源代码\linux 内核\hikernel)拷贝到宿主 Linux 的 tftp 服 务目录下(\tftpboot) ,输入命令:tftp 0x80640000 hikernel 如下图所示::

步骤 7 启动内核:bootm 0x80640000

此文档由郑 HC 整理,有误请及时指出

修改时间:2011-12-30

3.2 编译和下载文件系统
目标板使用的存储器为 NOR FLASH。默认使用的文件系统为 cramfs。已经编译好的文件系统 映像文件为“\程序源代码\linux 内核\cramfs.img”.另外文件系统源文件在目录“\程序源代码\ 嵌入式程序\four_file_system__\four_file_system”中。使用 busybox 编译生成文件系统映像文件。

3.2.1 编译文件系统
进入文件系统源码所在的目录。执行命令:./ mkjffs2.sh。原始脚本会把生成的镜像文件移动到 tfpt 服务的根目录。 (当然,自己可修改该文件,定制自己的服务。另外,原始文件系统源码中 已经包含了 3G 视频服务器的全部模块) 脚本文件 mkjffs2.sh 的原始内容如下: #! /bin/sh mkfs.jffs2 -d ./rootfs-FULL_REL -l -e 0x20000 -o rootfs.img mkfs.jffs2 -d ./paramtest -l -e 0x20000 -o para.img mkfs.cramfs ./rootfs-FULL_REL cramfs.img cp cramfs.img -f /tftpboot mv rootfs.img /tftpboot

3.2.2 下载文件系统
下载文件系统的步骤基本跟下载内核相同。 步骤 1 参考 3.5.2 下载 Kernel 步骤 1~4 步骤 2 擦除文件系统存储区。输入命令: erase 0x800a0000 +0x560000 步骤 3 下载文件系统。将文件系统映像文件 cramfs.img 拷贝到宿主 Linux 的 tftp 服务目录下 (\tftpboot) ,输入命令:tftp 0x800a0000 cramfs.img、 如下图所示::

此文档由郑 HC 整理,有误请及时指出

修改时间:2011-12-30

四、编译应用程序
1、安装安装 Hi3515 SDK

(以 HisiProject-4 工程为例)

步骤 1 拷贝。将文件“\Hi3515-SDK\Hi3515_SDK_V1.0.4.0.c2.tgz”拷贝到 Linux 下面。假如发 现无法拷贝,可通过命令“chmod 777 –R ”来更改文件夹操作权限。 步骤 2 解压。 使用命令 tar –zxf Hi3515_SDK_V1.0.4.0.c2.tgz 解压文件。 如果过程没有提示信息, 请等待命令执行完毕。 步骤 3 安装交叉编译器。 进入 tools/toolchains, 运行 chmod +x cross.install, 然后运行./cross.install 即可(注意,需要有 sudo 权限或者 root 权限)执行 source /etc/profile, 安装交叉编译器的脚本 配置的环境变量就可以生效了,或者请重新登陆也可。

2、把

HisiProject-4

文件夹拷贝到目录“\Hi3515_SDK_V1.0.4.0.c2\mpp\sample”下,进入

目录“\Hi3515_SDK_V1.0.4.0.c2\mpp\sample” ,输入命令:make,即可。 然后在 HisiProject-4 文件夹内会生成 netserver4 可执行文件,如图所示:

若想进一步了解编译原理,请参阅 Makefile 的相关资料和 sample 目录下的 Makefile 文件。 3、若要编译独立的一个应用程序,也可以通过 arm-hismall-linux-gcc 命令进行编译。

五、 在 ARM9 主板终端通过 FTFP 方式从 linux 虚拟主机上下载文件

此文档由郑 HC 整理,有误请及时指出

修改时间:2011-12-30

目的: 把在 linux 下编译好的可执行文件或驱动模块下载到 ARM9 主板 上运行
1、在 linux 主机下,编译好的可执行文件需要放在 tftp 服务根目录/tftpboot 下 根 据 上 述 步 骤 , 我 们 编 译 好 的 可 执 行 文 件 放 在 \Hi3515_SDK_V1.0.4.0.c2\mpp\sample\ HisiProject-4 目录下,利用一下指令可以把 netserver4 可执行文件拷贝到/tftpboot 目录下 cp netserver4 /tftpboot 2、在 ARM9 主板终端下的 tmp/目录下,从 linux 主机的/tftpboot 目录下载 netserver4 可执行文 件,指令如下: tftp –gr netserver4 192.168.1.192 可通过 ls 指令显示是否下载成功:

3、改变权限,执行 netserver4 文件(此文件为 HisiProject-4 示例工程的执行文件) chmod 777 netserver4 ./ netserver4

执行 netserver4 文件结果如下:

此文档由郑 HC 整理,有误请及时指出

修改时间:2011-12-30

六、 解决应用程序在 ARM 目标板上运行断电丢失问题 一、通过固化进文件系统运行程序
步骤 1 拷贝程序。将程序拷贝到文件系统的 usr/sbin 文件夹下面。 步骤 2 设置启动脚本。启动脚本文件位于 etc/init.d/rcS 下面。添加命令: cd /user/sbin 和./xxx 即可。 步骤 3 编译并烧写文件系统。

二、编译和下载文件系统
目标板使用的存储器为 NOR FLASH。默认使用的文件系统为 cramfs。已经编译好的文件系统 映像文件为“\程序源代码\linux 内核\cramfs.img”.另外文件系统源文件在目录“\程序源代码\ 嵌入式程序\four_file_system__\four_file_system”中。使用 busybox 编译生成文件系统映像文件。

编译文件系统
进入文件系统源码所在的目录。执行命令:./ mkjffs2.sh。原始脚本会把生成的镜像文件移动到 tfpt 服务的根目录。 (当然,自己可修改该文件,定制自己的服务。另外,原始文件系统源码中 已经包含了 3G 视频服务器的全部模块) 脚本文件 mkjffs2.sh 的原始内容如下: #! /bin/sh mkfs.jffs2 -d ./rootfs-FULL_REL -l -e 0x20000 -o rootfs.img mkfs.jffs2 -d ./paramtest -l -e 0x20000 -o para.img mkfs.cramfs ./rootfs-FULL_REL cramfs.img cp cramfs.img -f /tftpboot mv rootfs.img /tftpboot

三、下载文件系统
下载文件系统的步骤基本跟下载内核相同。 步骤 1 参考 3.5.2 下载 Kernel 步骤 1~4 步骤 2 擦除文件系统存储区。输入命令: erase 0x800a0000 +0x560000 步骤 3 下载文件系统。将文件系统映像文件 cramfs.img 拷贝到宿主 Linux 的 tftp 服务目录下 (\tftpboot) ,输入命令:tftp 0x800a0000 cramfs.img、 如下图所示::

此文档由郑 HC 整理,有误请及时指出

修改时间:2011-12-30


相关文章:
更多相关标签: