自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

开坦克的飞行员

一名安防小码农

  • 博客(58)
  • 资源 (6)
  • 收藏
  • 关注

原创 leetcode-寻找数组的中心索引

/*############################################################# 时间:2020-06-21# 作者:# 方法:# 1.从中心索引的角度寻找解题方法 # 2.中心点的位置是从0 ~ numsSize,及当中心的为0时,左值和为0;中心点为右边界时,右值和为0# 3.总和减去左值和中心索引元素值,即为右值和##########################################################

2020-06-21 12:56:52 187 1

原创 相机曝光原理

摘要:自动曝光本质是通过控制曝光时间和光圈大小来控制亮度,是整体图像达到最佳亮度效果。1.曝光简述正确的曝光值对图像有着重要影响,曝光过度照片看起来会过亮,曝光不足图片看起来会太暗。在摄像机中自动曝光模块用于调整照射到传感器上的入射光量从而充分利用其动态范围。曝光过程其实就是在给定的灵敏度下通过控制光圈和快门速度达到控制照射到传感器上的光量的过程。 曝光不足 曝光过度 ...

2018-03-25 13:00:47 9001

原创 技术升级路线

1.技术的成长曲线 http://zhangtielei.com/posts/blog-growth-curve.html?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io2.技术的正宗与野路子 https://mp.weixin.qq.com/s?__biz=MzA4NTg1MjM0Mg==&mid=2657261357&i

2017-11-11 16:49:41 565

原创 caffe cpu环境搭建&训练模型方法

1.前言如果想实际做点小项目,做出来点东西,建议搭建GPU环境;CPU环境可以用来学习。虚拟机无论是vbox还是vmware,搭建不了GPU环境,因为显卡是cpu虚拟出来的,你安装英伟达的显卡驱动会提示你设备无法找到,你查看系统信息会发现没有独立显卡相关信息,如果想搭建GPU环境,建议装双系统或者在搭建windows caffe GPU开发环境。安装环境: vmware12+ubuntu16

2017-07-27 22:10:16 1385

原创 移植caffe到hi3519

1.移植环境Ubuntu16.04 + arm-hisiv500-linux-caffe下载地址:https://github.com/BVLC/caffe/releases2.移植步骤:修改Makefile1)LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf52)BLAS ?= o

2017-04-27 14:00:57 6416 3

原创 移植OpenBLAS到hi3519

1.编译环境:Ubuntu16.04 + arm-hisiv500-linux-gcc下载地址: https://github.com/xianyi/OpenBLAS/releases2.移植步骤修改Makefile.arm 12 ifeq ($(CORE), ARMV7)

2017-04-27 11:41:39 3282

原创 移植boost到hi3519

1.编译环境Ubuntu16.04 + arm-hisiv500-linux-gcc下载地址: http://sourceforge.net/projects/boost/files/boost/2.移植步骤新建安装目录:mkdir install运行安装包自带脚本:./bootstrap.sh --prefix=/home/shunzhi/software/boost/boost_1_6

2017-04-27 11:38:27 1713

原创 移植hdf5到hi3519

1.编译环境Ubuntu16.4 + gcc5下载地址:https://support.hdfgroup.org/HDF5/release/obtain518.html2.移植步骤cmake配置:cmake-gui选择源码路径,编译配置文件路径,编译器,点击configure(其会报错,不用管,再次点击即可),选择安装路径,点击generate按照如下脚本来编译安装:#!/bin/sh

2017-04-27 11:27:49 2348

原创 移植snappy到hi3519

1.编译环境Ubuntu16.04 + arm-hisiv500-linux-snappy-1.1.4下载地址:https://github.com/google/snappy/releases2.移植到35191)编译步骤:生成配置文件:autoconf.sh配置:./configure --build=i686-pc-linux --host=arm-hisiv500-linux CC

2017-04-27 11:24:21 1069

原创 移植leveldb到hi3519

1.编译环境Ubuntu16.4 + arm-hisiv500-linux-leveldb 下载地址:https://github.com/google/leveldb/releases2.移植步骤修改build_detect_platform文件:添加海思编译工具if test -z "$CC"; then CC=gccfiCXX=arm-hisiv500-linux-g++

2017-04-25 18:13:21 1472

原创 移植protobuf到hi3519

1.编译环境Ubuntu16.04 + arm-hisiv500-linux-protobuf3.20下载地址:https://github.com/google/protobuf/tags2.移植到35191)编译步骤:生成配置文件:autoconf.sh配置:./configure --build=i686-pc-linux --host=arm-hisiv500-linux CC=a

2017-04-25 18:09:40 1506

原创 移植lmdb到hi3519

1.移植环境Ubuntu16.04 + arm-hisiv500-linux-gcclmdb下载地址:https://github.com/LMDB/lmdb/releases2.编译步骤修改makefile 21 #CC = gcc 22 CC = arm-hisiv500-linux-gcc 23 #AR = ar 24 AR = arm-hisiv500-lin

2017-04-25 17:59:36 762

原创 移植gflags到hi3519

移植gflags到海思3519平台

2017-04-25 17:53:04 1398

原创 Ubuntu密码输入正确,桌面登陆不了

1.遇到的这种情况的两种情形:Ubuntu系统更新过之后登陆不了界面。安装NVIDIA显卡相关驱动后,登陆不了。2.问题描述:系统启动进入登陆桌面后,输入的用户名和密码均正常,点击登陆,屏幕闪动几下后再次回来登陆桌面3.问题原因:因为你的主机显卡不是NVIDIA的显卡,很多都是intel的集成显卡。4.解决方案:卸载NVIDIA相关驱动。 使用:`

2017-03-03 12:29:17 1006

原创 移植glog库到海思3519

1.移植环境:Ubuntu15.10 + arm-hisiv500-linux-glog-0.3.3 下载地址:https://code.google.com/archive/p/google-glog/downloads 2.移植glog:1)解压 shunzhi@ubuntu:~/software$ tar -xvzf glog-0.3.3.tar.gz2)新建一个安装目录

2017-02-24 13:16:26 2866

原创 移植opencv3.20到3519

1.移植环境:Ubuntu15.10 + arm-hisiv500-linux-opencv3.20 下载地址2.移植步骤:1)安装cmake-guishunzhi@ubuntu:~/hisi$ sudo apt-get install cmake-gui 2)新建一个opencv目录存放opencv-3.2.0.zip,并解压shunzhi@ubuntu:~/hisi$ mkdir ope

2017-02-22 14:39:32 3755 4

原创 搭建海思开发环境遇到的小问题

1.安装交叉开发工具链时的错误错误log: arm-hisiv300-linux-gcc: command not found解决方法: 这是因为宿主机是64 位 而交叉编译器是针对32位的开发板制作的。所以要安装对应的32位库。 我的linux宿主机是ubuntu 16.04 64位。 安装命令: sudo apt install lib32z1-dev2.执行 sdk.un

2016-11-16 15:34:20 6445 1

原创 Linux下格式化U盘及分区

前言:该问题是在hi3516下通过U盘实现自动升级时,遇到了不能挂载U盘的分区。打印log如下:U-Boot 2010.06-dirty (Jul 04 2016 - 14:39:59)Check spi flash controller v350... FoundSpi(cs1) ID: 0xC2 0x20 0x19 0xC2 0x20 0x19Spi(cs1): Block:64KB Ch

2016-07-15 18:17:11 6339

原创 hi3516a的uboot自动升级相关问题的解决

一.uboot命令行加密实现uboot 进入命令行,需要输入密码功能。1.设置环境变量 在include/configs/hi3516a.h文件中 #define CONFIG_UBOOT_PWD2.加密函数 common/main.c在int readline (const char *const prompt)函数中添加下面代码 /*****************

2016-04-08 20:03:31 3590 1

转载 uboot启动流程

u-boot支持许多CPU,以及一些常见的开发板。本文以u-boot-2011.06这个最新版本为例,简要介绍一下u-boot在smdk2410上的启动流程。首先系统是从arch/arm/cpu/arm920t目录下的start.s文件开始执行,并且实际开始执行的代码是从第117行开始:117:start_code:118: /*119: * set the cpu to SV

2016-03-25 13:30:06 1346

原创 关于Hi3516D启动死机的问题

1.问题描述:烧写好uboot,kernel,fs后,启动开发板,系统停在了“mmz_start: 0x88000000, mmz_size: 384M”处2.问题分析及解决:首先uboot是正常启动,说明其并没有问题。根据log分析 ,系统执行”[RCS]: /etc/init.d/S99autorun”这个脚本时,死机;于是就从该脚本处进行调试分析,通过设置打印信息,发现系统在执行该脚本中

2016-03-16 13:03:23 2694

原创 uboot基本命令详解

1.help:在线帮助命令,即打印出uboot的所有命令。2.环境变量类的命令:printenv:查看环境变量(缩写:print)。print+环境变量名:答应某一个环境变量。setenv name value … :添加或者修改环境变量。setenv name:删除环境变量。saveenv :保存环境变量,即将当前定义的所有环境变量及其值存入flash中。3.文件下载tftp通过网络下

2016-03-07 10:41:25 1498

原创 C语言中的一些容易出现错误的知识点

1. 如何引用一个已经定义过的全局变量?如果定义的全局变量在同一文件中,则可以直接引用。如过引用的文件在其他文件中,则有两种方式来引用,一个是通过*.h文件,另一个是通过关键字extern来声明。注意:定义和声明的区别? 定义一个变量是是在内存中分配一定的空间;声明一个变量是告诉编译器有这个变量的存在。2. 全局变量可不可以定义在可被多个.c文件中包含的头文件中?为什么?不可以,全局变量作

2016-02-28 20:01:39 717

原创 制作Mini2440内核

1.配置:将对应的cpu的config-file文件改为“.config”复制到对应linux内核代码中。执行: make menuconfig ARCH=arm(若无该参数则默认为x86体系)进行配置,配置时看对应的system type项是否是所对应的开发板型号注意: - config-file文件就是配置开发板的文件,下载地址: - 进入该页面时候要选中nfs (使用nfs文件系统)和

2016-01-02 22:10:08 374

原创 ARM-LINUX开发环境的搭建(三)

NFS服务器的搭建:1.安装NFS服务器 在linux下安装光盘中Packages文件夹找到下面三个文件点击安装即可:2.配置NFS服务器 vim /etc/exports添加如下内容: /nfs 192.168.1.*(rw,sync,no_root_squash)注意:/nfs:共享目录192.168.1.*:允许访问共享目录的主机IP(rw,sync,no_root_squash)

2015-12-29 12:37:06 453

原创 ARM-LINUX开发环境搭建(二)

arm-linux交叉开发工具链的配置1.通过smb将arm-linux交叉开发工具链复制到/home目录下,linux下进入/home目录 cd /home2.解压ARM-TOOLS交叉开发工具包 tar -xvzf ARM-Tools.tar.gz3.将arm-linux-gcc-4.3.2.tgz解压到根目录 tar -xvzf arm-linux-gcc-4.3.2.tgz -C /4

2015-12-29 12:21:29 539

原创 ARM-LINUX开发环境的搭建(一)

一. 挂载安装光盘mount /dev/cdrom1 /mnt二. 配置网络文件1.选择NAT模式2.将网络配置文件备份3.更改网络配置文件 vim /etc/sysconfig/network-scripts/ifcfg-eth04.网络配置文件生效: source ifcfg-eth05.重新启动网卡: /etc/init.d/network restart具体的配置参见:ht

2015-12-27 14:06:22 567

原创 linux在线升级yum命令的使用

1.软件包仓库源在使用yum之前,我们需要首先将仓库的地址等信息存放在一个xxx.repo的文件中,并把该文件放到特定的目录/etc/yum.repod.d/下。在该目录下,可以存放多个后缀名为.repo的文件,表示有多少个仓库可以使用。使用yum的命令前提是你的linux必须可以上网。1.安装软件仓库(最好使用免费的软件仓库,redhat本身的软件库是收费的)在http://pkgs.re

2015-12-26 12:44:58 1475

原创 字符设备驱动程序设计

1.设备描述结构cdev在任何一种驱动模型中,设备都会用内核中的一种结构来描述。我们的字符设备在内核中使用struct cdev来描述。struct cdev{ struct kobject kobj; struct module *owner; const struct file_operations *ops;//设备操作集 struct list_hea

2015-12-16 18:35:59 653

原创 linux硬件访问技术

1.硬件访问实质驱动控制设备,主要通过访问设备内的寄存器;来达到控制目的的,因此我们讨论如何访问硬件,就成了如何访问这些寄存器了。2.访问流程:包括地址映射和读写寄存器地址映射:linux系统中,无论是内核程序还是用户程序都只能使用虚拟地址,而芯片手册所给的寄存器或者RAM地址则是物理地址,无法直接使用,因此,我们读写寄存器的第一步就是将他的物理地址映射虚拟地址。动态映射: 所谓动态映射,是指

2015-12-14 16:32:16 1187

原创 通过nat模式实现虚拟机下linux与电脑主机的互通

前言:有有些时候笔记本电脑无法联网,导致桥接模式下samba服务器不能使用;因此虚拟机采用nat模式来实现非联网状态虚拟机下linux与电脑主机的互通。1.什么是NAT方式?NAT方式的原理是把电脑主机设置成了NAT主机,电脑有两块网卡,一个实际的物理网卡,另一个就是虚拟网卡8(即VM8),物理网卡主要是连接公网WLAN,而虚拟网卡8是连接内部LAN,所以这样一来,虚拟机就相当于内部LAN中的一台电

2015-12-11 19:03:43 17992 7

原创 linux守护进程程序设计

1.什么是守护进程?守护进程,也就是通常说的daemon进程,是linux中的一种服务进程。它的特点是:不占用控制终端(后台运行)独立于控制终端(tty是个?)周期性运行2.守护进程设计要素后台运行 守护进程需要独立于任何一个控制终端。实现方法调用是通过创建子进程来充当守护进程,而父进程退出,这样子进程就可以在后台运行。 例如: pid = fork(); if (pid>0)

2015-12-11 17:53:21 573

原创 UDP网络程序设计

1.UDP网络编程模型 服务器 客户机 创建套接字 创建套接字 绑定IP地址 发送/接收 接收/接收 关闭连接 关闭连接注意: UDP协议不是基于连接的通信协议2.UDP通信编程函数UDP协议与TCP模型函数,不同的是发送和接受函数不一样。接受函数 函数名:sendto 函数原型:ssize_t sendto(int sockfd,const void

2015-12-10 16:13:48 397

原创 TCP网络程序设计

1.TCP编程模型tcp特点:基于连接的通信,也就是要想通信必须首先建立连接。编程模型 服务器 客户机 创建套接字 创建套接字 绑定IP地址 监听端口 等待连接 连接服务器 收/发数据 收/发数据 结束连接 结束连接三次握手含义:客户机请求连接,服务器回复连接,连接建立客户机发送数据。注意:绑定地址就是将服务器ip地址和端口绑定在一起,

2015-12-09 17:42:37 458

原创 linux多线程程序设计

1、核心理论为什么需要线程? 为了提高完成一个任务的速度,我们创建了多个进程去完成一个任务,但是多个进程间有相同的地方(例如代码相同,所使用的数据相同),同时工作时就造成了资源的浪费;为了避免资源浪费,我们进程间相同的部分分割出来,不同的部分就形成了一个小小的线程。线程概念(特点): · 线程就是“轻量级”的进程。(linux中不存在线程这个机制) · 线程与创建他的进程共享代码段、数据段

2015-11-17 18:42:47 579

原创 linux进程间的通信--共享内存

1.核心理论共享内存概念:共享内存是IPC机制中的一种。顾名思义,它允许两个不相关的进程访问同一段内存,这是传递数据的一种非常有效的方式。 通俗的讲,共享内存就是进程A产生的数据放在内存中某个位置,进程B可以从这个内存位置访问B产生的数据2.函数学习共享建立内存步骤:新建共享内存块→映射到进程内存空间→断开与进程的联系→删除共享内存块创建共享内存 函数名:shmget 函数原型:int

2015-11-17 18:28:28 407

原创 linux进程间的通信--信号量同步

1.核心理论进程的同步:是指一组并发的进程互相合作互相等待,使得各进程按照一定的顺序执行的过程叫做进程同步。同步与互斥的区别:同步时信号量初始值为0,互斥时信号量初始值大于0。 解释:如果用信号量互斥的话,必须是生产者进程先执行。如果采用信号量同步的话,那么那么生产者和消费者的执行顺序不影响结果2.进程同步编程实例消费者与生产者的关系 生产者进程:创建一个文件,向文件中写入字符,二者之间

2015-11-17 17:13:24 1522

原创 linux进程间的通信机制--信号量互斥

1.核心理论进程互斥:多个并发的进程互相排斥的按照一定的先后顺序访问临街资源的过程叫做进程互斥。信号量的实质:数字信号量的操作:获取信号量(减法),释放信号量(加法)。信号量概念:信号量又名信号灯,与其他进程间的通信方式大不相同,主要用途是保护临界资源(进程互斥)。此外进程可以根据它判定是否能够访问某些共享资源。除了用于访问控制外,还用于进程同步。信号量分类:二值信号灯:信号灯的值只能取

2015-11-16 18:46:12 885 1

原创 linux进程间的通信机制——信号

1.核心理论信号:在linux中信号是一个古老的进程间的通讯机制,就像古代烽火台所起到的传递信号的作用一样。信号处理流程 信号通讯机制就分为三步:选择信号→发送信号→处理信号信号类型 linux系统支持的所有信号均定义在usr/include/asm/signal.h中,其中常见的信号有: SIGKILL:杀死进程 SIGSTOP:暂停进程 SIGCHLD:子进程停止货结束时用来通知

2015-11-15 16:56:26 374

原创 linux进程通信-有名管道

1.核心理论:有名管道:有名管道又称FIFO文件,因此我们对有名管道的操作可以采用操作文件的方法,如使用open 、read 、write等函数。fifo文件与普通文件的对比 FIFO文件 普通文件 读取FIFO文件的进程只能以“RDONLY“方式打开fifo文件 任意方式 写FIFO 文件的进程只能以“WRONLY”方式打开fifo文件 任意方式 fifo文件读取后就消

2015-11-14 12:27:54 604

briss-0.9切边工具及使用方法

briss-0.9切边工具及使用方法

2018-01-21

串口工具secureCRT和putty

附件包含绿色版的串口工具secureCRT和putty

2017-03-08

mnist数据集

官网下载的mnist数据集,caffe训练使用;压缩包中包含 train-images-idx3-ubyte.gz、train-labels-idx1-ubyte.gz、t10k-images-idx3-ubyte.gz、t10k-labels-idx1-ubyte.gz 四个数据包。

2017-03-08

SourceInsight4.082

最新版SourceInsight4.082,解决中文搜索和中文编码乱码问题,界面也有所改变。

2017-02-24

mini2440配置文件

这个文件是把linux移植到arm mini2440开发板上的配置文件,该文件配置是配置了linux最基本的功能

2016-01-02

TFTP客户端

tftp客户端软件,实现linux客户机与服务器端的文件传输功能。

2015-12-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除