自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(137)
  • 资源 (8)
  • 论坛 (1)

原创 字符串中的第一个唯一字符

leetcode 的easy题:给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1案例:s = "leetcode"返回 0.s = "loveleetcode",返回 2.注意事项:您可以假定该字符串只包含小写字母。根据只包含小写字母(26个),记录三种状态(只用26 * 2bit表示即可):int first_uniq_char(char...

2019-04-22 09:54:05 163

原创 U-Boot详细分析(3)——系统时钟操作

一、引子在上一篇文章 U-Boot详细分析(2)——Exynos4412启动过程中可以看到,BL2程序流程图中有SET CLOCK’s这一步骤, 并且在U-Boot源码的 board/samsung/smdkc210/lowlevel_init_SCP.S的文件中也有着对时钟初始化的相关代码(因为BL2中已经初始化,所有不一定会执行)这篇文章通过U-Boot中对时钟进行初始化的源码和三星提供的...

2019-02-20 04:49:17 894 3

原创 U-Boot详细分析(2)——Exynos4412启动过程

一、 iROM首先arm的pc指针从0x0地址开始执行,打开4412手册可以看到0x0000_0000地址存放着iROM:所以4412上电后会到iROM中去执行,iROM是4412出厂时就固化的一段程序,这段程序提供了执行arm代码的基本环境,并且从SD/MMC,eMMC4.3,eMMC4.4或NAND中下载BL1代码并检查下载的BL1的完整性iROM的执行流程:Disable w...

2019-02-18 16:13:58 882

原创 U-Boot详细分析(1)——编译过程分析

一、编译入手根据从官网上下载来的U-boot源码中README文件中可以得到信息,如果要使用开发板board/<board_name>,应该先执行"make <board_name>_config"命令进行配置,随后执行"make all"生成编译后文件所以可以得出编译的主要两步:make <board_name>_config进行配置make all...

2019-02-18 01:41:58 794

原创 U-Boot详细分析(0)——前言

一、引子本人作为一名计算机科学与技术专业的学生,在大学的专业课中系统地学习了硬件和软件的相关专业课,并且未来很有可能从事嵌入式方面的工作,有必要对嵌入式方向进行一个更加深入的学习。在嵌入式方向有过stm32、51等单片机的学习和项目训练,粗略的看过韦东山的嵌入式Linux系列教程,考取了《嵌入式系统设计师》的资格证书,并且学习过FPGA和IC电路设计的相关知识。临近毕业,不论是出于对大学中学...

2019-02-17 23:52:52 599

原创 Hyperledger Fabric 中first-network下demo分析

一、引子安装Hyperleder Fabric后都要跑一下demo,安装1.3版本的博客在:Hyperledger fabric 1.3安装记录在fabric-sample/first-network路径下执行了下列命令,来生成、建立网络并执行例子和清除网络:./byfn.sh generate./byfn.sh up./byfn.sh down二、 byfn.sh脚本分析打开文...

2019-01-28 15:13:26 1108 1

原创 基于Triplet+VGG16 & 百度API的人脸识别器设计与实现

本文是从智慧门禁系统项目工程实践中摘取出人脸识别模块来进行一个记录。一、人脸识别器软件设计1.1 总体流程图1.2 系统代码目录结构二、模块详细设计人脸识别器模块为了方便后台进行调用,给出了一个接口,通过不同参数的传入可以选择训练或识别,并且根据选择的功能返回不同的返回值,代表不同的含义。人脸识别器分为训练模块,识别模块,并且有着与本地文件交互的相关工具函数集,用来读取和处理本地文件...

2019-01-10 10:57:02 1172 1

原创 Linux系统调用分析+系统调用添加 (基于linux-4.20)

一、 系统调用的概念系统调用在Wikipedia中的解释为:In computing, a system call is the programmatic way in which a computer program requests a service from the kernel of the operating system it is executed on. This may ...

2019-01-07 16:27:37 2131 1

原创 Fabric ca学习笔记

一、为什么要有fabric-ca1.1 Fabric账号1.1.1 为什么要有Fabric账号不同于传统的账号体系(由账号和密码两个属性组成,账号和密码只是获取操作权限的工具)区块链系统的一个特点:记录在区块链中的数据具有不可逆、不可篡改的特性。 根据这一特性,Fabric中每条交易都会加上发起者的标签(签名证书),同时用发起人的私钥进行加密。如果交易需要其他租住的节点提供背书功能,背书节...

2018-12-25 11:59:52 1442

原创 Hyperledger Fabric五大模块

《区块链开发实战——Hyperledger Fabric》学习笔记一、 cryptogen1.1 cryptogen功能生成组织结构和账号相关的文件在系统设计之后根据设计编写cryptogen的配置文件,然后根据配置文件生成相关证书文件即用来生成证书文件的工具,搭建网络的第一步就是使用cryptogen模块和配置文件来生成整个fabric网络的组织架构与其对应的身份证书1.2 cr...

2018-12-24 16:39:47 1338 2

原创 Hyperledger fabric 1.3安装记录

一、环境主机:阿里云轻量应用服务器系统:Ubuntu 16.04(基于4.4内核)二、先决条件2.1 go用此时最新的1.11.2版本下载:wget https://dl.google.com/go/go1.11.2.linux-amd64.tar.gz安装:tar -zxvf go1.11.2.linux-amd64.tar.gz加入到环境变量:export PATH...

2018-12-09 18:09:29 1920 2

原创 Tensorflow与深度学习笔记

根据学习《TensorFlow实战Goolgle深度学习框架》摘抄的三四章重点一、计算图——Tensorflow的计算模型1.1 计算图的概念TensorFlow中的每一个计算都是计算图上的一个节点,而节点之间的边描述了计算之间的依赖关系两个向量相加样例的计算图:1.2 计算图的使用Tensorflow程序一般可以分为两个阶段:第一个阶段需要定义计算图中所有的计算第二个阶段...

2018-11-13 22:47:40 631

原创 Linux进程的优先级

为什么要有优先级:在多任务操作系统中,操作系统为了区分进程的重要程度,需要有一个衡量重要程度的指标,优先级便由此产生一、nice值和Priority值首先用top命令看一下当前进程的信息:top得到: 可以看到有两个属性 PR 和 NI,这两个就是Priority 和 nice值下面来说一下这两个值什么意思1.1 nice值反应一个进程“优先级”状态的值...

2018-09-10 22:34:39 925

原创 计算机视觉:【CS231n】 Assignment 1:Image Classification & kNN

1. 理解基础图像分类、数据驱动方法和流程understand the basic Image Classification pipeline and the data-driven approach (train/predict stages)1.1 图像分类(Image Classification)图像分类问题,即输入一张图像,将图像从已有分类中,进行分类,给出分类标签计...

2018-09-10 12:40:34 641

原创 Linux内核中list.h

一、链表的定义和操作1.1 链表的定义list.h中对链表进行了定义:struct list_head { struct list_head *next, *prev;};这一不含数据域的双向链表,可以内嵌到任何结构中,比如可以按照以下方式定义含有数据域的链表:struct my_list { void *mydata; struct li...

2018-09-10 12:30:37 863

原创 快速排序

问题将一个数组从小到大排序解决选择一个数字a(可以是要排序数组里任意数字,这里直接选择排序的中间数字),把小于a的数放在数组左边,把大于a的数组移到数组右边;再对左边和右边的两个子数组排序(即递归操作)代码static void Swap(int *a,int *b){ int p=0; p=*a; *a=*b; *b=p;}int ...

2018-08-12 23:54:55 556

原创 递归解决汉诺塔问题+改变规则解决

一、汉诺塔问题1.1 问题描述三根柱子,其中一根柱子从上到下依次摆放着从小到大的圆盘: - 每次只能移动一个圆盘 - 并且大圆盘不能在小圆盘之上 - 需要把这个柱子上的圆盘全部移动到另一根柱子上问题抽象为,把a柱子上的N个圆盘按照顺序摆放到柱子c上:1.2 问题解决可以吧解决步骤抽象成: 1. 将N-1个圆盘从a移动到b 2. 把第N个圆盘从a移动到c 3....

2018-07-31 20:01:34 871

原创 一个栈实现另一个栈的排序

使用C++完成《程序员代码面试指南 IT名企算法与数据结构题目》题目一个栈中元素的类型为整形,现在想将该栈按从大到小的顺序排序,只许申请一个栈。除此之外,可以申请新的变量,但不能申请额外的数据结构解决排序栈为myStack,辅助栈为helpStack,整体思想是把myStack的数据放入helpStack中,并且在helpStack中栈顶到栈底按照从小到大排列 - 对mySt...

2018-07-31 00:45:37 1183

原创 使用递归函数和栈逆序操作一个栈

使用C++完成《程序员代码面试指南 IT名企算法与数据结构题目》题目使用递归函数来实现对一个栈的逆序比如一个栈依次压入1 2 3,则栈顶到栈底分别为3 2 1,将栈逆序后栈顶到栈底为 1 2 3实现两个递归函数解决问题 1. 将栈的栈底元素返回并移除 2. 逆序操作一个栈具体代码#include <stack>using namespace...

2018-07-31 00:15:19 675

原创 由两个栈组成一个队列

使用C++完成《程序员代码面试指南 IT名企算法与数据结构题目》题目编写一个类,用两个栈实现队列,支持队列操作: - push:入队 - pop:出队(不返回值) - front:返回最先入队的值实现栈的特点是先进后出,队列特点是先进先出使用两个栈一个最为压入栈,一个作为弹出栈,压入栈只压入数据,弹出栈只弹出数据数据按照1->2->3的顺序被压入进压入栈...

2018-07-30 20:25:52 739

原创 设计一个有getMin功能的栈

使用C++完成《程序员代码面试指南 IT名企算法与数据结构题目》题目实现一个特殊的栈,在实现栈的基本功能基础上,再实现返回栈中最小元素的操作实现使用两个栈,一个栈用来保存当前栈中的元素,起功能和一个正常的栈没有区别,这个栈记为stackData;另一个栈用于保存每一步的最小值,这个栈记为stackMin1. 第一种方案压入数据规则:假设当前数据为newNum...

2018-07-30 13:36:34 520

原创 单指令周期CPU---在fpga上对外设进行操作

代码放在github上 在实现访存指令的基础上,增加了使用Load/Store指令对fpga开发板上的外设(发光二极管、数码管、按键、开关)读写的功能 之前操作的传送门: 单指令周期ori指令的实现 单指令周期CPU—–逻辑、移位操作和空指令 单指令周期CPU——移动操作指令的实现 单指令周期CPU—算术操作指令(1)—简单算术操作指令的实现 单指令周期CPU—转移指令的实现 单指...

2018-07-29 00:29:42 1147

原创 Android应用开发——数据库通讯录

代码下载地址一、设计目的掌握SQLiteOpenHelper类结构掌握基于SQLite数据库的应用开发过程掌握Content Provider发布数据的方法掌握Content Resolver获取数据的方法二、设计内容实现基于SQLite数据库的通信录应用,通过单击增加图标打开添加通信录界面,通过单击通信录中的各条信息可删除选中项。三、软硬件环境开发环境:An...

2018-06-24 02:27:38 1589 1

原创 Android应用开发——文件存储

一、设计目的掌握首选项方式的存储和读取掌握位于内存上的数据文件的存储和读取掌握位于SD卡上的数据文件的存储和读取二、设计内容实现基于文件存储的日程安排应用,数据文件可以保存在机身内存或者SD卡中。通过单击增加图标打开新增加活动界面,通过单击保存按钮将活动内容写入到文件中,并返回前页,点击删除图标,可以删除该活动。三、软硬件环境及系统所采用的体系结构开发环境:An...

2018-06-20 23:30:51 830

原创 Linux内核模块初探——HelloWorld

本文通过学习宋宝华老师的《Linux设备驱动开发详解》第四章而写的学习笔记,感谢这本好书一、为什么要有内核模块因为Linux内核架构庞大,组件很多,如果我们把所有需要功能都编译到Linux内核中,就会导致内核很大,并且当我们要在现有内核中添加或删除功能时都要重新编译内核。Linux使用了模块(Module)这一种机制,模块不用编译进内核映像,模块可以被加载和卸载,如果被加载就和内核中其...

2018-06-15 21:35:53 749

原创 Android应用开发——布局管理

一、设计目的了解四种布局管理器的区别和各自特别的属性掌握四种布局管理器的应用场合和用法灵活使用四种布局文件管理器和嵌套实现各种复杂布局掌握复用XML布局文件的方法掌握代码控制UI界面的方法二、软硬件环境开发环境:Android Studio 模拟运行:Android Emulator – Nexus_5X_API_24三、实现过程及结果3.1 用Java代...

2018-06-05 21:39:55 805

原创 Android应用开发——界面设计

一、设计目的掌握常用组件在布局文件中的设置掌握在java程序中获取组件值掌握对组件值得验证掌握基本常用的监听器,和事件处理掌握将组件值提交到下一个Activity活动的方法二、设计内容完成注册信息界面,部门列表框,单击确定检查提交成功、接受界面三、软硬件环境开发环境:Android Studio 模拟运行:Android Emulator – Nexus_...

2018-06-05 20:59:00 1465

原创 蓝桥杯嵌入式备赛手册

本文是我参加蓝桥杯嵌入式比赛后的一些心得体会和一些自己总结的驱动代码,希望能给以后参加蓝桥杯嵌入式的同学带来一些帮助。本文没有经过校对,如有错误还请包涵,欢迎大家交流和指正,转载请注明出处。一、 总述首先说一下自己的情况:我参加的是第九届蓝桥杯嵌入式比赛省赛备赛两周(平均每天花费4——6小时),最后省一进入国赛国赛备赛一周半(平均每天花费4——6小时),最后国二我是...

2018-06-02 15:28:44 19635 26

原创 编译器----语法分析

本文通过学习王博俊、张宇的《DIY Compiler and Linker》 ,实现词法分析器,一方面作为自己的学习笔记,一方面也作与大家分享与交流一、语法分析的任务语法分析任务是在词法分析识别出单词符号的基础上,分析源程序的语法结构,即分析由这些单词如何组成各种语法成分,比如“声明”、“函数”、“语句”、“表达式”等,并分析判断程序的语法结构是否复合语法规则。语法分析分为自上而下和自...

2018-05-29 23:27:40 7139

原创 OpenGL学习之路19---- 聚光灯光源

代码在github上根据教程:ogldev一步步开始,记录学习历程聚光灯光源聚光灯光源是结合了平行光方向的特性和点光源随距离衰减的特性,并且离光源越远,照亮圆形区域越大,即光源呈锥形。 在现实中一个例子为手电筒。如图所示,即为聚光灯光源的锥形效果: - L为光源方向 - 我们只想让光源照亮红色夹角之间的区域,即2α的角度 - V为光源到某个像素的向量 - 如果β大于α则...

2018-05-12 23:36:41 1842 2

原创 OpenGL学习之路18---- 点光源

代码放在github上根据教程:ogldev一步步开始,记录学习历程之前学习了三个基于平行光的光照模型,相关博文如下:OpenGL学习之路15—-环境光OpenGL学习之路16—- 漫射光OpenGL学习之路17—- 镜面反射光平行光没有起点,通过方向向量来表示,不会随着距离增大而衰减点光源点光源即为有起点的光源,有衰减现象(即离光源越远光线越弱)。生活中常见的点光...

2018-05-12 17:31:41 2466

原创 OpenGL学习之路17---- 镜面反射光

代码放在github上根据教程:ogldev一步步开始,记录学习历程之前完成环境光和漫射光的学习。环境光的计算只由光强来决定,场景中所有位置是同一亮度;漫射光的计算由光强和光的方向一同决定,相关博文如下:OpenGL学习之路15—-环境光OpenGL学习之路16—- 漫射光镜面反射光镜面反射光是当光线以一定的角度照射到物体表面后,从法线的另一侧堆成的角度反射出去的光线所...

2018-05-10 20:42:56 1784

原创 OpenGL学习之路16---- 漫射光

代码放在github上根据教程:ogldev一步步从零开始,记录学习历程上一节学习了怎么渲染环境光,相关博文: OpenGL学习之路15—-环境光漫射光之前我们学习到的环境光忽视光线的方向,如果只有环境光,整个场景是被均匀照亮的漫射光跟环境光唯一的区别是漫射光依赖光线的方向,漫射光照射到物体上,被照射的一面要比背面亮漫射光的强度,与光线入射的角度有关,如果光线垂直物体,则...

2018-05-04 19:28:05 1043

原创 OpenGL学习之路15----环境光

代码放在github上 根据教程:ogldev一步步从零开始,记录学习历程环境光光照在3D图形领域中有许多模型,常见的模型有:环境光、慢射光、镜面反射光、点光源等等,这次只对环境光进行学习和实现环境光是一个没有光源、没有方向并且对场景中的所有物体产生相同的点亮效果的一种光环境光可以理解成为世界的基本光,即我们这个三维空间的基本亮度。环境光有两个属性: - 颜色:即灯光的颜色...

2018-05-03 23:04:52 1352

原创 OpenGL学习之路14----纹理映射(Texture Mapping)

代码放在github上根据教程:ogldev一步步从零开始,记录学习历程本节的纹理学习还参考了教程: learnopengl和《OpenGL 编程指南》一、纹理1.1 纹理映射简介我们之前的OpenGL学习一直停留在绘制一个彩色的四面体:而现实世界物体的表面一般都呈现丰富特殊的颜色,并且在很小的图形上呈现多彩的变化,如果我们还是用计算机计算出一个个微小像素上的颜色再...

2018-05-01 00:58:29 8763 3

原创 OpenGL学习之路13----相机控制(鼠标操作)

代码放在github上本文根据教程:ogldev进行扩充学习,一步步从零开始,记录学习历程到目前为止,我们已经可以将一个物体以任意大小、任意角度和任意位置摆放在世界空间,相关博文链接: OpenGL学习之路6—-平移,旋转和缩放变换OpenGL学习之路9—-混合变换并且可以将我们的相机任意摆放在世界空间,相关博文链接: OpenGL学习之路11—-相机空间上一节通过键盘上的...

2018-04-28 01:14:18 2289

原创 OpenGL学习之路12----相机控制(键盘操作)

代码放在github上本文根据教程:ogldev进行扩充学习,一步步从零开始,记录学习历程上一篇博文讲述了我们怎么把相机摆在三维空间的任意一个位置,想要了解的同学请移步上一篇博客: OpenGL学习之路11—-相机空间这次我们的目标是通过键盘上的方向键来移动相机。但是仅仅是改变相机的位置,而并没有改变相机的目标朝向(target向量)和竖直头顶方向(up向量)。一、键盘操作...

2018-04-27 17:55:57 1861

原创 OpenGL学习之路11----相机空间

代码放在github上本文根据教程:ogldev进行扩充学习,一步步从零开始,记录学习历程之前已经学习了怎么将物体在3维空间里自由地缩放、旋转和平移,博客链接如下: OpenGL学习之路6—-平移,旋转和缩放变换OpenGL学习之路9—-混合变换也学习怎么把三维世界表现在我们屏幕这个2维平面上,博客链接如下:OpenGL学习之路10—-透视投影但是我们发现了一个问题,我们...

2018-04-27 01:18:17 1689 1

原创 OpenGL学习之路10----透视投影

代码放在github上本文根据教程:ogldev进行扩充学习,一步步从零开始,记录学习历程一、透视投影1.1 透视投影定义中心投影法: - 光线照射物体时,可在预设的地面或墙面上产生影子,根据这一自然现象,经科学的抽象总结,产生了投影法。 - 投射线通过物体,向选定的面投射,并在该面上得到图形的方法称为投影法 - 投射线汇交于投射中心的投影法叫做中心投影法中心投影法示...

2018-04-26 00:18:56 2243

原创 OpenGL学习之路9----混合变换

代码放在github上本文根据教程:ogldev进行扩充学习,一步步从零开始,记录学习历程一、混合变换之前的教程中,学习了如何让物体平移、旋转和缩放,相关教程链接:OpenGL学习之路6—-平移,旋转和缩放变换1.1 一次性计算变换矩阵我们每进行一次变换都要左乘一次我们的变换矩阵,如果每进行一次变换(平移、旋转或者缩放)都在着色器里左乘一次变换矩阵,则会显得非常低效和臃...

2018-04-25 21:58:10 947

Android开发——数据库操作

实现基于SQLite数据库的通信录应用,通过单击增加图标打开添加通信录界面,通过单击通信录中的各条信息可删除选中项

2018-06-24

Android开发——文件存储

实现基于文件存储的日程安排应用,数据文件可以保存在机身内存或者SD卡中。通过单击增加图标打开新增加活动界面,通过单击保存按钮将活动内容写入到文件中,并返回前页,点击删除图标,可以删除该活动。

2018-06-20

Android开发——布局管理

Android开发——布局管理 博文地址: https://blog.csdn.net/Zach_z/article/details/80587712

2018-06-05

Android开发——界面设计

Android开发——界面设计 博文地址: https://blog.csdn.net/Zach_z/article/details/80587176

2018-06-05

蓝桥杯嵌入式第八届国赛题目完成

第八届蓝桥杯嵌入式 程序部分和客观题,程序全部完成,还有《蓝桥杯嵌入式备赛手册》链接

2018-06-02

android的罗盘应用

在Android Stduio开发平台上,用opengl es 加载罗盘图片,根据手机转动角度,实现风水罗盘的定位转动。

2018-03-27

第五届蓝桥杯嵌入式代码

第五届蓝桥杯嵌入式代码,完成了所有要求功能!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2018-03-27

diy平衡小车(可以蓝牙遥控)

角度环,速度环,转向环控制,可以蓝牙遥控

2017-08-24

Zach_z的留言板

发表于 2020-01-02 最后回复 2020-01-02

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