Hisi3716C Android解决方案问题记录

在环境搭建、程序编译等等各方面花费了很多功夫。特此记录下来。

一、Hitool烧写工具在win8上不能运行。

win8默认安装的java是64位,版本是1.8.25。Hitool是32位JAVA工程。32位和64位不兼容。另一个问题是Hitool用的是jdk1.6,用jdk1.8会出错,运行时提示虚拟机创建失败。安装32位jdk1.6.45后可以运行。需要将jdk安装目录下jre6拷贝到Hitool目录下。环境变量Path中添加了系统默认的java路径(C:/ProgramData/java/),需要去掉并添加自己的JDK环境变量。

另外,不要让防火墙把Hitool禁掉,不然会下载失败。

二、minicom 不能输入

minicom已经配置好,在另一个板子上已经能够正常使用,但是在hisi板子上有输出但是不能输入。检查发现是接口没有插紧。TMD。

三、不能挂载文件系统

烧写工具和minicom都配置好之后准备烧写程序试试看。开机后出现类似下面这些文件找不到。应该是文件系统没有挂载上。

hisi Android平台根文件系统用的是ramfs,编译在内核中。在init.rc脚本文件中会挂载4个system、userdata、cache、sdcard。其中cache和sdcard内容为空,userdata放的是app。

我用的是sdk默认的:PageSize = 4k;BlockSize = 1M 的ubi镜像。由于当时没有仔细看文档,没能很好的理解这个4K,1M的含义,费了一些周折自己去写脚本制作UBI镜像。

可以通过fastboot中的nand info得知板子的nand flash 的块大小和页大小。我的是PageSize=4K,BlockSize=256K。在文件device/hisilicon/Hi3716CV200/BoardConfig.mk 添加 PAGE_BLOCK_SIZE = 4k 256k即可。

下面这些错误是自己制作UBI过程中出现的错误。


首先出现的错误是:

UBIFS error (pid 1): validate_sb: LEB size mismatch: 129024 in superblock, 126976 real

UBIFS error (pid 1): validate_sb: bad superblock, error 1

............

init: cannot find '/system/bin/rild', disabling 'ril-daemon'
init: cannot find '/system/etc/install-recovery.sh', disabling 'flash_recovery'
init: cannot find '/system/bin/dtvserver', disabling 'dtvserver'

原因是mkfs.ubifs -e 的参数和PageSize不符,-e = (块的大小-2*页的大小)。

修正了-m -e参数之后。又遇到下面这个错误

UBI error: vtbl_check: volume table check failed: record 0, error 9

UBI error: ubi_init: cannot attach mtd2

原因是ubinine指定的配置文件中vol_size要小于NAND flash分区。

NAND Flash 上每个分区要有一定剩余空间,并保证至少 2 个 block 的坏块冗余


UBI的问题可以参考网页:http://www.360doc.com/content/14/1018/14/18578054_417913216.shtml



最后一个分区sdcard不能挂载:

测试程序时出现“未处理的异常”,“08-12 09:14:23.132: W/StorageManager(3363): No primary storage defined”,但是程序在另一个盒子中是正常的。

测试的功能要列出存储系统中存在的视频文件,于是想到应该是SD卡的分区出了问题。运行df命令,正常运行的盒子有/mnt/sdcard这个分区,不能正常运行的盒子没有。

没有/mnt/sdcard的盒子在开机后有下面一段错误:

UBIFS error (pid 1779): validate_sb: bad LEB count: 416 in superblock, 305 on UBI volume, 19 minimum required
UBIFS error (pid 1779): validate_sb: bad superblock, error 1

猜测应该是UBI volume的数量不够,仔细检查了发现在用Hitool烧写时计算错了dcard分区长度,把Nand Flash按1000M处理了,最后一个分区sdcard少算了24M。


至于一个盒子正常一个不正常,猜测是擦除的问题。sdcard 分区是78M,sdcard镜像不到4M,即使按54M的长度来烧写也绝对没有问题。Hitool在烧写前按指定的长度来擦除,按54M来擦除,最后24M就没有被擦除。如果最后24M之前被擦除过就不会有问题。这就解释了两个盒子用同样的烧写工具、同样的参数、同样的景象问什么一个成功一个不成功。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Autofocus是一种自动对焦技术,它可以根据物体的距离和光线状况,自动调整镜头使得被拍摄物体清晰焦距,从而提高拍摄的效果。而Hisi则是指海思半导体公司,是一家中国领先的芯片设计公司。 Autofocus hisi则是指海思公司生产的带有自动对焦技术的图像处理芯片。这种芯片可以应用于相机、手机等设备上,提高拍摄的品质和效率。通过此技术,图像处理芯片可以根据拍摄场景和环境自动调整镜头焦距,使得成像更清晰、更稳定、更准确,可以帮助用户轻松捕捉美好瞬间。此外,自动对焦技术也能够在低光下拍摄情况下提高成像的质量,解决了原本手动对焦技术的一些局限性。 短短的一句话,Autofocus hisi所代表的技术可以说是应用领域广泛、实用性强的一种图像处理技术,为设备带来了更为完美的拍摄体验,并推动了图像技术的不断创新和发展。 ### 回答2: Autofocus是一种自动对焦技术,一般用于相机、手机等摄影设备中,用于实现镜头自动对焦,从而保证拍摄的照片或视频画面清晰、锐利。 Hisi是海思半导体品牌的缩写,海思半导体是华为子公司,主要从事芯片制造。最近,海思半导体发布了一款搭载AI技术的手机芯片——Kirin 970,这款芯片支持Autofocus技术。 搭载了Autofocus技术的Hisilicon Kirin 970芯片可以更好地实现拍摄过程中的自动对焦,提高拍照质量。同时,Kirin 970还配备了AI技术,可以自动识别拍摄场景,根据不同场景进行自动优化,例如夜景中自动增强亮度,人像中自动美颜等。 因此,Autofocus Hisilicon Kirin 970芯片可以提高摄影设备的拍摄效果,让拍摄更加自动化、智能化,进一步提升用户的拍摄体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值