自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (1)
  • 收藏
  • 关注

原创 指针理解之指针“起源”

看到一篇“指针”的帖子,也想总结一下自己对之真的理解,希望对刚接触编程,刚接触指针的人有帮助。1.“什么是指针”:类型是一组值和一组操作的集合,指针类型占一个字长的空间取值范围:0~2^n(n是字长)。指针问题不是C语言的独创术语,而是计算机语言无法回避的一个问题:存储空间的地址(位置)。无论是指令码还是数据码,都存处在一定存储空间,我们调用的不论是指令码还是数据码都需要知道它所在的存储位置,而“指针”标明,指出了他们所在位置,就像指南针一样,多么形象而贴切的一个计算机术语。

2014-05-02 10:34:11 1873 2

原创 Pycharm(2020)光标跳转快捷键

Pycharm(2020)光标跳转快捷键ToolbarView->Appearance->Toolbar-> back/forward箭头快捷键Back: Ctrl+Alt+向左箭头Forward:Ctrl+Alt+向右箭头

2020-10-12 22:54:45 1628

原创 numpy.vstack numpy.hstack

numpy.vstackStack arrays in sequence vertically (row wise)垂直(按行)顺序堆叠数组。Take a sequence of arrays and stack them vertically to make a single array. Rebuild arrays divided by vsplit.Examples例子>>> a = np.array([1, 2, 3])>>> b = n.

2020-05-21 16:55:27 354

原创 贝叶斯定理直观理解

贝叶斯公式: P(A|B) = P(A)*P(B|A)/P(B)P(A|B) = P(A∩B)/P(B)按照乘法法则,可以立刻导出:P(A∩B) = P(A)*P(B|A)=P(B)*P(A|B)你可以站在A的角度去看B,也可以站在B的角度去看A。 他们看到的事实应该是一致的。单纯机械记忆符号,容易让人不知所云;记忆集合图,会有种豁然开朗的感觉。...

2020-05-11 21:11:15 471

原创 偏差和方差

偏差和方差偏差(Bias):描述的是预测值(估计值)的期望与真实值之间的差距。偏差越大,越偏离真实数据方差(Variance):描述的是预测值的变化范围,离散程度,也就是离其期望值的距离。方差越大,数据的分布越分散。...

2020-05-11 15:23:25 245

原创 ModuleNotFoundError: No module named 'sklearn.cross_validation'

ModuleNotFoundError: No module named 'sklearn.cross_validation'在机器学习中,我们通常将原始数据按照比例分割为“训练集”和“测试集”,通常使用sklearn.cross_validation里的train_test_split模块用来分割数据但在sklearn 0.18及以上的版本中,出现了sklearn.cross_validat...

2020-04-29 11:23:16 739

原创 KNN-K近邻算法

KNN: k-NearestNeighbor(K个最近邻)KNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。一句话描述:人以群分,物以类聚sklearn相关代码from sklearn.neighbors import KNeighborsRegressorfrom sklearn.metr...

2020-04-16 14:57:08 220

原创 修改Jupyter Notebook文件默认保存路径

1. 生成默认配置文件运行cmd, 执行 jupyter notebook --generate-configC:\Users\John Zhang>jupyter notebook --generate-configWriting default config to: C:\Users\John Zhang\.jupyter\jupyter_notebook_config.py...

2020-02-24 18:20:01 2038

原创 深度学习资源整理

避免重复造轮子,整理最近收集到的人工智能相关资源如下(后期会逐渐添加,分类汇总):神经网络入门-阮一峰知乎:如何简单形象又有趣地讲解神经网络是什么?超智能体:分享最通俗易懂的深度学习教程深度学习之神经网络的结构 Part 1 ver 2.0深度学习之梯度下降法 Part 2 ver 0.9 beta 深度学习之反向传播算法 上/下 Part 3 ver 0.9 beta人工智能实战极客学院-人工智...

2018-03-23 16:27:23 301

原创 ARMv8(ARM64, AArch64)进阶之旅

ARMv8(ARM64, AArch64)进阶之旅

2016-01-01 10:23:27 5168

原创 uboot命令

uboot常用命令

2015-09-06 17:59:11 1027

原创 UEFI简单的应用程序模块MyHelloWorld:C源文件/INF工程文件源码/简析[6]

6. UEFI简单的应用程序模块MyHelloWorld:C源文件//INF工程文件源码/简析 ->6.1 MyHelloWorld.c源程序/简析 ->6.2 MyHelloWorld.inf源程序/简析

2015-07-18 22:41:02 4400 3

原创 How to Write a simple UEFI EDKII Application:如何编写一个UEFI简单的应用程序[5]

本篇博文《How to Write a simple UEFI EDK II Application:如何编写一个UEFI简单的应用程序[5]》是基于之前的UEFI博文在之前的EDKII开发环境搭建、配置/编译EDKII工程、运行EDKII模拟器的基础上,也即在熟悉EDKII的编译流程后,学习在EDKII环境下编程。参看TianoCore官网(http://www.tianocore.org官网上Getting Started for Developers->Further Help-> Getting

2015-07-18 16:35:20 6209

原创 Build/Launch EDKII emulator in Windows and Linux:编译/运行Windows和Linux环境下EDKII模拟器[4]

本篇博文《Build/Launch EDKII emulator in Windows and Linux(编译/运行Windows和Linux环境下EDKII模拟器)[4]》是基于在前几篇博文搭建Windows/Linux下EDKII开发环境、配置/编译EDKII源码项目的基础之上。本篇博文参考《EDKII_UserManual_0_7》和戴正华《UEFI原理与编程》,简介了EDKII模拟平台,介绍Windows环境下Nt32模拟器、Linux环境下Emulator模拟器的编译和运行过程。博文框架安排如下

2015-07-18 16:05:20 4719 7

原创 EDKII Build Process:EDKII项目源码的配置、编译流程[3]

3. EDKII Build Process(EDKII项目源码的配置、编译流程) ->3.1 The General Process Of EDKII Build(EDKII项目源码的配置、编译一般流程) ->3.1.1 Tool chain:BaseTools ->3.1.2 Setup build shell environment ->3.1.3 Modify Conf Files ->3.1

2015-07-17 11:48:20 5195 3

原创 Tools:downloading and Building EDK II工具篇:安装/使用EDKII源码获取/编译工具[2.3]

Windows平台下我们一般使用subversion来管控项目源码版本,通过SVN(subversion)下载上传源码,所以我们想获取源码,首先需要下载、安装SVN软件。http://www.tianocore.org->Getting Started for Developers -> Getting Started with EDK II->Tools ->follow these instructions ->Install some external tools->Requirements: Th

2015-07-17 10:55:05 4146

原创 Setting up a EDK II build environment on Windows and Linux:搭建Windows和Linux开发环境[2.2]

发现无论照《EDKII_UserManual_0_7》手册(或者说http://www.tianocore.org官网上Getting Started for Developers—>Getting Started with EDK II->Step-by-step Instructions),还是戴正华《UEFI原理与编程》都不能较为顺利的搭建Linux和Windows开发环境。原因有两个:(1)一些工具源的下载路径随着时间的推移发生了变化(通过文档/书籍上的路径检索不到资源)(2)对工程源码管理工具、

2015-07-17 10:34:15 5925

原创 The General Procedure Of Setting Up EDKII Development Environment:搭建EDKII开发环境的通用流程[2.1]

EDKII(EFI Developer Kit II)是遵循UEFI标准和PI(Platform Initialization)标准的扩平台固件开发环境。UEFI的标准是完全取代BIOS,因而它要完全支持所有类型的CPU,并让所有的硬件厂商接收这种变化。来自不同的厂商的开发者使用不同的开发环境开发自己的产品。为了让这些不同的开发者愉快地接收EDKII来开发自己平台上的UEFI固件或者应用,EDKII对每种平台都提供了相应的开发工具。EDKII支持在多种操作系统下的开发,例如Windows、Linux、UNI

2015-07-17 10:04:19 2115

原创 UEFI&EDKII Introduction:UEFI&EDKII概述[1]

本篇博文主要介绍UEFI规范、EDKII项目涉及的相关概念:EFI, UEFI, Tianocore, EDK, EDKII, Package, Library Class/Library Instance, PCD, Module, UEFI Application and UEFI Driver。概念性术语较多,大多参考《EDKII_UserManual_0_7》(http://www.tianocore.org -> EDK II Documents -> EDK II User Document

2015-07-17 09:56:31 4454

原创 UEFI规范实现EDKII项目学习笔记绪论[0]

学习UEFI和EDKII项目,发现中文资料很少,主要是UEFI论坛(http://www.uefi.org)、Tianocore社区(http://www.tianocore.org)上的各类规范、手册进行学习、开发。本人的UEFI、EDK学习也是通过UEFI论坛、Tianocore社区,还有一本中文书籍戴正华的《UEFI原理与编程》,当然也有百度各种文库、博客资源,从中国知网下载一些期刊、文献来科普、学习。发现UEFI规范、EDKII项目的刚开始学习重点不在于解决一些具体概念(比如key concepts

2015-07-16 23:57:31 5630 3

原创 Ubuntu环境下如何安装指定版本的Gcc,比如Gcc4.4

如何下载指定版本的Gcc,比如Gcc4.42015-07-16  北京  张俊浩  ubuntu 32bit系统下安装gcc 4.4的最好方法是仅用以下两条命令,不需要其它命令,否则编译时可能会出错。sudo apt-get install gcc-4.4sudo apt-get install g++-4.4装完后在/usr/bin目录下$ ls -l gcc

2015-07-16 14:29:56 12989 2

原创 DOS命令集锦——让人见文知意

DOS命令集锦——让人见文知意

2015-07-12 11:22:55 1072

原创 实现字符串数组中字符串交换

《实现字符串数组字符串交换》分为三部分:【1】论坛帖子【2】代码思路:(1)两个字符串等长正常交换即可;(2)两个字符串不等长交换短字符串宽度的字符数据(包括结束符),拷贝长字符剩余字符到短字符串数据区(此时长字符串剩余数据还在内存只是被结束符’\0’分割)。【3】代码、运行结果

2015-06-01 09:56:56 14116 2

原创 ARM进阶笔记一

ARM进阶笔记一嵌入式课程体系(秦老师)应用层:好学不好用(函数调用,API使用,通过哪个函数 实现)底层  :好用不好学(硬件、芯片、汇编C语言、操作系统) 时间紧,任务重,重点不是具体知识点(书上会更详细),更注重路线图、框架,如何去学习 整个课程体系(层次):工具:1.C语言、Linux基础(开发工具:编程语言,编程开发环境、工具)2.数据结构 

2015-05-31 15:54:08 766

原创 如何从ST官网上下载资源STM32标准库Standard Peripheral LibrariesV3.5.0

《如何从ST官网上下载资源STM32标准库Standard Peripheral LibrariesV3.5.0》分为两种检索方式:【1】按需要的库资源检索【2】按芯片型号检索资源查了网上的一些资料,发现介绍从ST官网下载STM32标准库V3.5.0的检索方式很少,自己在下载STM32标准库V3.5.0也费了很多事~

2015-05-31 11:00:44 7910

原创 “死锁”四个必要条件的合理解释

发现到目前为止,所有的内容都可以在课本书籍、百度、论坛、博客上找到,似乎是教条的罗列。我们发现看过多次,但每每需要的时候(开发、笔试、面试)却总要回头再看~难以摆脱遗忘、记忆的循环~我觉得产生这种现象的原因是因为:停留在机械记忆。因为我们的教科书、论坛、博客的内容十有八九在罗列这些概念~但很少有进一步解释、阐释其存在的必然(四个必然条件为什么不多一个,又为什么不少一个?)及其内在逻辑。或许下面的阐释能让你再遇到这个问题时,可以不翻教科书,不上网百度就能侃侃而谈~

2015-05-24 10:48:19 7527

原创 Ubuntu Vmware虚拟机网络配置(二)

VMware提供了三种工作模式,是bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。Ubuntu网络服务有三种启动方式~

2015-05-17 12:53:38 1401

原创 三级指针四级存储空间的开辟~

额,感觉这类程序非常有意思,能强化内存意识~这里是三级指针,意味着内存四级存储空间,级与级之间不一定是连续的,级内是连续的(从虚拟地址来说)~所以你无法用pArrp[i][j][k]访问方式~

2015-05-15 21:09:21 1402

原创 Ubuntu Vmware虚拟机网络配置(一)

之前多次遇到Ubuntu虚拟机无法连网问题,基本每次都是从网上百度配置流程,只记得修改好几个网络配置文件,再重启网络服务就好了,但每每下次遇到网络问题,需要再次找资料辅助。原因一是对这几配置文件的作用压根不清楚,二是对Linux网络驱动或者说TCP/IP协议栈不了解~而上网的是始终是电脑,无论是在Windows还是Linux下,都遵循网络的基本架构,无论是硬件设备还是软件配置,换句话说都需要网卡、网卡驱动、IP/子网掩码/DNS地址的配置~VMware虚拟机是通过软件对电脑系统的模拟,同样也遵循相应的架构~

2015-05-10 16:36:34 3468

原创 虚拟地址到物理地址的地址变换过程

与其说虚拟地址,倒不如说内核给程序(代码段、数据段)提供了统一的访问模式(抽象出统一的访问模式)基址加偏移量(这也是内存的分层次的断页管理模式)。所以所有程序的编码你可以从假设的“0”基址开始开始编程,具体基址操作系统设定并由MMU完成地址转化~

2015-05-09 19:21:19 9144

原创 关于C语言取地址运算符”&“

额,个人感觉C语言是门很”硬“的语言,因为它相对其他高级语言更接近硬件底层,而相对于机器指令汇编又跳出了繁琐的底层处理器指令编程。无法理解”&“或者说”地址“、”取地址“,是因为你站在高级(自然语言)语言的层面,而不是机器本身。任何变量都是数据,数据就会在硬件机器上有他的存储空间,存储空间有对应的位置,来方便我们操作这个存储空间,比如内存,内存地址。

2015-04-14 10:58:45 24827 4

原创 代码移植性与高效性的折衷——linux舍高效率而取移植性

任何高级语言编写的软件代码最终都会转化为硬件门电路的空间组合逻辑和时间的时序逻辑,同样所有的硬件门电路的空间组合逻辑和时间时序逻辑都可以用高级语言来描述 、设计~软件的开发过程中或者说代码的编写过程中,每个选择意味着妥协。程序员总是要在一大堆方案中做出取舍,尽量满足那那些往往自相矛盾的目标。其中程序员面对的一个艰难的选择就是:高效率和可移植性。Makefile为什么可以具有可移植性、通用性?

2015-03-26 10:02:15 1389

原创 Makefile之变量赋值

因为,makefile关系到了整个工程的编译规则。一个工程中的源文件比较多,其按类型、功能、模块分别放在若干个目录中,当我们修改,添加,删除某些源文件时,要修改相应的Makefile,如果该源文件在Makefile中多处被依赖使用,那么我们要修改Makefile多处地方,这样会带来诸多不便,为了使makefile的更容易维护,在makefile中我们可以使用变量。makefile的变量也就是一个字符串,理解成C语言中的宏可能会更好。

2015-02-05 16:30:38 1164

原创 linuxRC的含义

比如我们用busybox制作linux根文件文件系统时,根文件系统目录下有linuxrc作为内核运行起来的第一个init程序,再比如做某个脚本开机时自动运行,需要和/etc/rc.d/rc.local这个文件打交道,那么rc到底是什么意思呢?

2015-01-27 11:13:53 2999

原创 ARM汇编之合法立即数的快速判断方法

在讨论什么是立即数,为什么有立即数,如何快速判断立即数之前,我们先来弄明白一个问题:什么不是立即数。汇编指令是对数据(指令、数据)对象的操作,很关键的一个问题我们如何寻找我们的操作对象?汇编指令是一门关于寻址的艺术。而opcode2只有12位,也就是说opcode2所表示的立即数有一定限制0-4095,为了进一步扩大12bit数据所能表示数的范围,ARM规定了数据的格式。

2014-11-30 11:07:33 16370 15

原创 ARM七种异常源和异常处理流程(四大步三小步)

ARM七种异常源和异常处理流程。ARM异常处理(处理器对特定的异常事件进行的处理)的进入过程(硬件自动完成):四大步(两备份两修改)三小步。

2014-11-30 09:56:54 6130

转载 sqrt函数分析,sqrt()如何实现的?

我们平时经常会有一些数据运算的操作,需要调用sqrt,exp,abs等函数,那么时候你有没有想过:这个些函数系统是如何实现的?就拿最常用的sqrt函数来说吧,系统怎么来实现这个经常调用的函数呢?虽然有可能你平时没有想过这个问题,不过正所谓是“临阵磨枪,不快也光”,你“眉头一皱,计上心来”,这个不是太简单了嘛,用二分的方法,在一个区间中,每次拿中间数的平方来试验,如果大了,就再试左区间的中间

2014-11-25 18:13:33 1306 1

原创 KEIL编程时遇到的常见错误

1.warning: #1-D: last line of file ends without a newline 为什么 C 语言源程序最后一行要是一个空行?否则的话编译器会报warning: #1-D: last line of file ends without a newline这种错误,虽然这个warning没啥影响,但既然要设计这么一个warning总得有点原因吧。

2014-11-20 10:19:28 3959

原创 TFTP 服务器的配置

一、TFTP(Trivial File Transfer Protocol,简单文件传输协议或称小型文件传输协议)是一种简化的文件传输协议。二、tftp服务器的配置过程

2014-10-31 21:15:08 1228

原创 NFS 服务的配置

一、NFS,即网络文件系统(Network File System,NFS),一种使用于分散式文件系统的协议。二、nfs服务的配置流程

2014-10-31 21:03:30 688 1

Vim用户手册中文版72

Vim用户手册中文版72 看完这篇用户手册你就成为VI编辑器大牛了!

2014-07-26

空空如也

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

TA关注的人

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