安装SDK

1、解压tgz压缩包

将 Hi3519V101_SDK_Vx.x.x.x.tgz 压缩包放入共享文件夹中,并解压到Linux内部如 /sdk 目录下,因为在共享目录中编译容易出现各种错误。

tar -zxf Hi3519V101_SDK_Vx.x.x.x.tgz -C /sdk

2、展开SDk

在/sdk 得到一个Hi3519V101_SDK_Vx.x.x.x目录,运行这个目录中的sudo ./sdk.unpack 脚本,将会展开SDK包打包压缩存放的内容。

若无法运行sdk.unpack,需要按下面方法修改脚本,因为SDK中很多sh文件,逐个修改很麻烦,用第二种方式修改系统,一劳永逸。

方法一

1) 将 vim scripts/common.sh  第一行#!/bin/sh 改为 #!/bin/bash

2) 将 vim sdk.unpack 第一行 #!/bin/sh 也改为 #!/bin/bash

方法二

1) sudo dpkg-reconfigure dash 然后选择 no

3、在linux上安装交叉编译器

1) 安装uclibc交叉编译器:

进入osdrv/opensource/toolchain/arm-hisiv500-linux目录,执行sudo ./arm-hisiv500-linux.install 即可。

2) 安装glibc交叉编译器:

进入osdrv/opensource/toolchain/arm-hisiv600-linux目录,执行sudo ./arm-hisiv600-linux.install 即可。

3) 执行 source /etc/profile, 使安装交叉编译器脚本配置的环境变量生效。

安装、升级DEMO板开发环境(已经有uboot)

1、为Linux配置tftp服务器

配置方法见另一篇博客,也可在windows下用tftpd32操作,将package/image_big-little/image_uclibc_big-little(或image_glibc_xxx)下的相关文件 cp *hi3519v*拷贝到tftp服务器目录下。

2、参数配置

单板上电后,长按回车键进入u-boot。

设置tftp服务器IP,单板IP,单板MAC地址,掩码及网关。

setenv serverip 10.82.16.231
setenv ipaddr 10.82.16.232
setenv ethaddr C2:3A:00:B3:5B:31
setenv netmask 255.255.255.0
setenv gatewayip 10.82.16.1

设置好后 ping serverip,确保网络畅通。

3、烧写映像文件到SPI Flash,以16M SPI Flash为例。

1) 地址空间说明

|      1M       |     3M        |     12M       |
|---------------|---------------|---------------|
| boot | kernel | rootfs |

以下的操作均基于图示的地址空间分配,您也可以根据实际情况进行调整。

2) 烧写u-boot

mw.b 82000000 ff 100000
tftp 0x82000000 u-boot-hi3519v101.bin
sf probe 0
sf erase 0 100000
sf write 82000000 0 100000
reset

请注意,reset之后需要重新设置网络参数。

3) 烧写内核

mw.b 82000000 ff 300000
tftp 82000000 uImage_hi3519v101
sf probe 0
sf erase 100000 300000
sf write 82000000 100000 300000

4) 烧写文件系统

mw.b 82000000 ff C00000
tftp 0x82000000 rootfs_hi3519v101_64k.jffs2
sf probe 0
sf erase 400000 C00000
sf write 82000000 400000 C00000

5) 设置启动参数(注意linux-3.18.y kernel默认文件系统只读,需要在bootargs中加入rw选项,文件系统才可读写)

setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 rw mtdparts=hi_sfc:1M(boot),3M(kernel),12M(rootfs)'
setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000'
sa

6) 重启系统 reset

4、烧写映像文件到NAND Flash,以64M NAND Flash为例。

1) 地址空间说明

|      1M       |     3M        |     32M       |         28M            |
|---------------|---------------|---------------|------------------------|
| boot | kernel | rootfs | other |

以下的操作均基于图示的地址空间分配,您也可以根据实际情况进行调整。

2) 烧写u-boot

mw.b 82000000 ff 100000
tftp 82000000 u-boot-hi3519v101.bin
nand erase 0 100000
nand write 82000000 0 100000
reset

reset之后需要重新设置网络参数。

3) 烧写内核

mw.b 82000000 ff 300000
tftp 82000000 uImage_hi3519v101
nand erase 100000 300000
nand write 82000000 100000 300000

4) 烧写文件系统

mw.b 82000000 ff 2000000
tftp 82000000 rootfs_hi3519v101_2k_4bit.yaffs2
nand erase 400000 2000000
nand write.yaffs 82000000 400000 96d200 #注意:96d200为rootfs文件实际大小(16进制)

5) 设置启动参数

setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=yaffs2 rw mtdparts=hinand:1M(boot),3M(kernel),32M(rootfs),28M(test)'
setenv bootcmd 'nand read 0x82000000 0x100000 0x300000;bootm 0x82000000'
sa

6) 重启系统 reset

使用SDK和DEMO板进行开发

1、开启Linux下的网络,可添加到 /etc/profile

ifconfig eth0 hw ether C2:3A:00:B3:5B:31
ifconfig eth0 10.82.16.232 netmask 255.255.255.0
route add default gw 10.82.16.1

然后ping一下其他机器,如无意外,网络将能正常工作。

2、使用NFS文件系统进行开发

NFS服务器搭建和挂载方式见另一篇博客

挂载NFS文件系统的操作命令:

mount -t nfs -o nolock -o tcp -o rsize=32768,wsize=32768 10.82.16.233:/tftp  /mnt/

3、开启telnet服务

要使用telnet登录到单板,需运行命令 telnetd & 启动单板telnet服务,加入到 /etc/profile 文件可开机自运行。

----------END----------

Hi3519v101 SDK安装及升级的更多相关文章

  1. Hi3531 SDK 安装以及升级使用说明

    Hi3531 SDK 安装以及升级使用说明 第一章 Hi3531_SDK_Vx.x.x.x版本升级操作说明    如果您是首次安装本SDK,请直接参看第2章.     第二章 首次安装SDK 1.Hi ...

  2. Hi3536DV100 SDK 安装以及升级使用说明

    第一章 Hi3536DV100_SDK_Vx.x.x.x版本升级操作说明 如果您是首次安装本SDK,请直接参看第2章. 第二章 首次安装SDK1.Hi3536DV100 SDK包位置 在"H ...

  3. Hi3519V101 SDK安装以及开发环境搭建

    Hi3519V101 Linux开发环境 1.安装Hi3519V101 SDKHi3519V101 SDK是基于Hi3519V101 DMEB的软件开发包,包含了在Linux相关应用开发时使用的各种工 ...

  4. 解决MyEclipse中安装或升级ADT之后SDK Target无法显示的问题

        故障现象,在MyEclipse里面安装完最新的android sdk和ADT之后,无法新建项目,Build Target为空,显示一直在loading.即如下面图里面显示的,Target Na ...

  5. hive的安装和升级

    目录 [toc] 安装 升级 安装 nohup hive –service hiveserver & 启动: sudo nohup ./hive --service metastore &am ...

  6. uiautomator 安装和升级

    1.打开uiautomator sdk安装路径 < tools < uiautomatorviewer.bat # 双击点开 2.升级uiautomator包 1.uiautomatorv ...

  7. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

  8. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part2:clusterware安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part2:clusterware安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 3.安装Clus ...

  9. Database first with EntityFramework (Migration)安装和升级

    最近看了国外几个项目,发现用EntityFramework做Code First的项目现在很流行. 最让我有兴趣的一个功能则是,EntityFramework对于数据库的安装和升级的无缝完美支持,且很 ...

随机推荐

  1. 把一张图片变成base64

    // image_file可为urlprivate function base64EncodeImage($image_file) { $image_info = getimagesize($imag ...

  2. 10 windows server 2012R2 发布MVC框架网站注意事项

    1:网站编译完成之后,需要发布,网站中应包括的文件有:文件夹(bin,Views,Content等其他网站中涉及到的文件夹)文件(favicon.ico.Web.config.Global.asax) ...

  3. 微信小程序之wx.showmodal

    1. . wx.showModal({ title: "2222步", content: currentCache ? "确定为自己城市添加步数吗" : &qu ...

  4. Linux 下挂载新硬盘方法

    Linux的硬盘识别: 一般使用”fdisk -l”命令可以列出系统中当前连接的硬盘 设备和分区信息.新硬盘没有分区信息,则只显示硬盘大小信息.   1.关闭服务器加上新硬盘   2.启动服务器,以r ...

  5. JS常见的字符串操作

    1.charAt() 获取字符串指定位置的字符    用法:strObj是字符串对象,index是指定的位置,(位置从0开始数) strObj.charAt(index) 2. indexOf() 方 ...

  6. BeeHive小思考

    事件分发和事件处理 将所有行为注册为不同的时间类型,配置Module,让他们在事件发生时,响应这些事件(除了系统的事件,还可以注册自定义事件,触发自定义事件) Module注册之后应当会生成单例对象, ...

  7. Jemter 压测基础(一)——基本概念、JMeter安装使用、分布式测试、导出测试结果、编写测试报告

    Jemter   压测基础(一) 1.压力测试的基本概念: 1.吞吐率(Requestspersecond) 服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请 ...

  8. jQuery 学习笔记(4)(文本值相关方法、操控CSS方法、位置和尺寸方法)

    1.文本值相关方法 .html() == .innerHTML $("div").html("<span> ...</span>") / ...

  9. SVProgressHUD提示框IOS

    SVProgressHUD--比MBProgressHUD更好用的 iOS进度提示组件 项目里用到SVProgressHud,感觉背景颜色太丑,因为很久很久以前改过,就想在这个项目里也改下,但是时间过 ...

  10. 接口测试工具-Jmeter使用笔记(九:跨线程组传递变量)

    使用场景: 请求API需要授权令牌,但是授权令牌只需要获取一次,即可调用服务器上其他业务接口. 所以我想要把授权操作放在单独的一个线程,业务流放在其他线程. 这就需要我把从授权线程获取的令牌传入业务流 ...