海思方案开发
文章平均质量分 83
li_wen01
liwen01
展开
-
嵌入式程序大小控制方法介绍
嵌入式设备flash空间有限,为节省成本,一般程序的存储空间都会非常小,这就需要我们将程序中不需要的内容清除,或者是直接对程序进行压缩处理,以达到减小执行程序大小的目的。控制嵌入式程序大小有下面几种方法有: 1.使用strip命令清除符号表信息 2.使用objcopy生成特定的格式文件 3.使用tar zip等命令对程序进行压缩处理在实际应用中发现下面两个问题点: 1.为什么静态库使用strip之后不能再被成功链接? 2.为什么有些时候objcopy生成的bin...............原创 2020-12-10 18:16:55 · 1861 阅读 · 1 评论 -
libwebp 交叉编译移植到arm设备
(一)前言 我们常用的图片格式有jpeg,jpg,png,bmp等等,jpeg图片是常见的一种有损压缩,现在使用非常广,压缩比也比较的高。每种格式都有它自己的优缺点。这里介绍webp图片在前嵌入式设备中的使用 webp 图片是在网页中使用的一种高压缩比的图片处理方法,在嵌入式设备中使用,可以节省图片的存储空间,如果要远程传输,还可以节省流量。 webp 在GitHub上的源码路径为:https://github.com/webmproject/libwebp 关于l............原创 2020-12-10 18:15:45 · 1599 阅读 · 1 评论 -
海思HI35XX视频编码数据流向介绍
在海思HI3520DV300的设备上做拍照的功能,发现海思官方的SDK里面没有直接拍照的接口,如果要实现拍照功能,还需要自己设计一套接口。于是对海思的媒体数据流做了一个梳理。 这里介绍以NVP6134 ADC和HI3520DV300为基础的数据流走向。基本接口信息如下:NVP6134 输入格式 4CH Video Input :CVBS / COMET.........原创 2019-04-26 18:51:09 · 4368 阅读 · 0 评论 -
基于海思H3520DV400和QT5.9设计的车载终端DVR控制平台
前言: 随着4G/5G的发展,无线带宽不断的扩大,数据流量费用不断的降低,使得现在的实时网络视频和视频监控逐渐的普及。传统的安防项目和车载监控系统都离不开音视频的录制,保存,回放,再加上现在的远程实时视频和远程视频文件调取下载,使得车载终端以及DVR这类设备得以继续的发展。这里介绍一种使用QT来设计的,适用于安防或是DVR等嵌入式终端使用的控制界面。说明: QT版本:qt............原创 2019-06-16 17:51:53 · 4891 阅读 · 15 评论 -
QT5.9移植到海思HI3520设备上运行
前言: 在海思HI3520DV300上调试QT5.9.0有一小段时间了,这里将遇到的比较典型的问题做一个记录,以备后续查询,也可给同行一个参考。本人只使用过QT5.9.0这一个版本,如有描述错误欢迎指出。说明: QT版本:qt-everywhere-opensource-src-5.9.0 qt-creator版本:qt-creator-opensource-l...........................原创 2019-06-16 10:49:07 · 6399 阅读 · 5 评论 -
海思Hi3520D红外驱动及功能测试
我使用的是海思的Hi3520DV300,SDK包里是有携带红外的驱动以及红外的测试程序,但是该代码不能直接使用,有几个坑,修改后测试正常。从官方提供的资料来看,该驱动以及测试程序都是比较旧的,应该做一些修改可以适用于海思的其它系列芯片。官方提供的代码在SDK中的hisi-irda目录,文件结构如下:biao@ubuntu:~/Hi3520DV300_SDK/Hi3521A_SDK............原创 2019-01-05 09:25:40 · 3371 阅读 · 2 评论 -
海思平台HI35XX系列RTC驱动程序设计
海思官方手册上说Hi3536CV100/Hi3536DV100/Hi3559AV100/Hi3559CV100 支持内核标准 RTC 驱动,内核编译默认打开 RTC 选项就可以了。HI35XX其它的设备就需要自己设计RTC驱动了。不管什么平台,海思SDK里面都有自带一个简单的rtc驱动,SDK的/drv/rtc/ 里面有详细的说明,这里不再重复。但是,官方自带的rtc驱动是不支持linux.........原创 2019-01-29 17:40:05 · 3482 阅读 · 0 评论 -
海思HI35XX 通过uboot 读取U盘文件进行固件升级
基本过程为:uboot 启动后,通过命令将U盘的的文件读取到内存中,再通过uboot 的flash 写入命令将读取到内存中的升级文件写入到flash的固定位置。(一)usb常用命令 uboot一般支持对usb的操作命令有:start,reset,stop,tree,info,storage,dev,part,read,write等。Usage:usb start - .........原创 2019-03-24 19:52:10 · 8470 阅读 · 11 评论 -
海思HI35XX通过uboot查看flash指定地址的数据
在实际应用中有遇到过设备放置一段时间后设备不能启动的问题,uboot 完全没有响应,类似于flash中的数据被擦洗掉一样。网上有介绍说是nandflash 不稳定,高温或是静电会导致nand flash 的比特位反转的问题,反转的少了,controller内部的ECC会将数据纠正,反转的多了超过纠错能力,就没有办法正确读取数据,这个在高温的时候比较明显。 在海思平台上,可以通过这.........原创 2019-03-20 18:19:46 · 4031 阅读 · 1 评论 -
海思Hi3520DV400 uboot看门狗喂狗
看门狗的功能这里不再介绍,自行百度谷歌搜索。这里记录一下Hi3520DV400看门狗的喂狗设置。首先查 include/watchdog.h中的代码,可以发现,如果需要启用硬看门狗,需要定义宏:CONFIG_HW_WATCHDOG/* * Hardware watchdog */#ifdef CONFIG_HW_WATCHDOG #if defined(__ASSEMBLY_...............原创 2019-01-07 18:09:41 · 2421 阅读 · 1 评论 -
海思平台HI35XX系列内存设置
海思平台的内存分为两部分,一部分给系统使用,另外的一部分给多媒体使用。可以通过cat /proc/meminfo查看系统内存和cat /proc/media-mem 查看多媒体内存使用情况。/proc # cat /proc/meminfoMemTotal: 255192 kBMemFree: 103232 kBBuffers: ........................原创 2019-01-18 23:28:54 · 6011 阅读 · 2 评论 -
海思HI35XX串口调试
我测试使用的是海思HI3520DV400设备,它总共有三个串口,官方提供的SDK只使能了UART0,也就是调试串口。如果要使用UART1或是UART2,用户需要自己手动设置。(一)使能串口 最直接的方式就是将设备树中对应uart的status修改为 status = "okay"。海思实际加载的串口驱动是PL011,menuconfig查看配置Device Drivers &.........原创 2019-01-17 18:50:50 · 10646 阅读 · 15 评论 -
uboot 中Nand flash 常用操作命令解析
uboot 支持nand flash的数据及oob数据的读写显示操作,也至此手动标记坏块的命令,当一般不建议手动修改flash的坏块标志。这里介绍在uboot中操作和查看flash数据的常用命令及方法。说明:本文测试使用的flash信息如下:SPI Nand(cs 0) ID: 0xc2 0x12 Name:"MX35LF1GE4AB"Block:128KB Page:2KB Ch......原创 2019-03-30 20:03:50 · 15057 阅读 · 1 评论 -
HI3521A/HI3520DV300移植MiniGUI
不知是新手还是什么原因,MiniGUI的安装和移植显得特别的麻烦,前前后后折腾了好几天。MiniGUI自带了hi3510和hi3560的编译参数,如果要移植海思其他的平台还是需要修改不少东西。这里记录移植到Hi3521A/Hi3520DV300的一个过程,以供参考。前期准备: 先确定设备能正常运行显示屏能够正常显示,使用海思sample提供的hifb,看设备是否能够正常显示。....................................原创 2019-01-13 19:14:14 · 3448 阅读 · 9 评论 -
一种基于linux系统的精准流量统计方法
前言: 在linux系统关于流量统计,已经有开源的工具,比如nethogs,nload和iptraf。它们适合我们在PC上直接监控某台设备的流量情况,但并不适合我们应用到自己的程序中去。如果要在自己代码中实现流量的统计,可以有下面几种方法:统计应用层流量;使用tcpdump抓取每一包数据进行统计;使用Iptables命令来实现。下面就这几种方法进行对比:(1)应用层计算流量 ............原创 2019-06-25 10:53:50 · 10877 阅读 · 10 评论 -
BT.601和BT.656
BT601和BT656在日常的工作中我们常听到BT601(CCIR601)和BT656的说法,另外老一点的文档可能还会提到CCIR601,CCIR656的说法,今天就对这两个概念做简单说明。 首先说明一下ITU-R BT601/656和CCIR601/656的前世今生,CCIR (Consultative Committee of International Radio,国............原创 2019-04-26 13:50:13 · 41252 阅读 · 1 评论 -
从技术角度比较CCD与CMOS的区别
从技术角度比较CCD与CMOS的区别原创 2019-04-26 09:08:25 · 20140 阅读 · 1 评论 -
NandFlah 相关知识详解
CrifanLi摘要本文先解释了Nand Flash相关的一些名词,再从Flash硬件机制开始,介绍到Nand Flash的常见的物理特性,且深入介绍了Nand Flash的一些高级功能,然后开始介绍Linux下面和Nand Flash相关的软件架构MTD的相关知识,最后介绍了在Linux的MTD驱动框架下,如何实现Nand Flash的驱动。 本文提供多种格式供: ...转载 2019-03-30 18:29:39 · 5330 阅读 · 0 评论 -
AT88SC0104C电子产品硬件加密防盗版方法
摘要:本文首先介绍了AT88SC0104C~25616C协议认证卡的主要特点、基本功能、安全存储原理、协议认证过程以及开发方法;接着,对应用AT88SC0104C实现对电子产品加密防盗版的方法和安全性进行了研究;最后,给出了详细的设计过程和应用实例。关键词:AT88SC0104C,硬件加密,防盗版分类号:TP309.7 文献标识码:B一、引言电子产品被非法复制的情况极其严重...转载 2019-01-05 10:26:09 · 3212 阅读 · 2 评论