自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sky_caicai

叶底藏花一度 梦里踏雪几回

  • 博客(34)
  • 资源 (1)
  • 收藏
  • 关注

原创 python笔记之(安装numpy)

1.使用import numpy发现报错,显示没有这个模块,那对其进行安装 2.去官网下载https://www.lfd.uci.edu/~gohlke/pythonlibs/找到合适的版本以及型号的 numpy 如果是64位机器的话,觉得官网下载太慢可以来这里https://download.csdn.net/download/sky_caicai/10312490 3.将下载的...

2018-03-28 08:00:53 390

原创 IIC总线理解

1.IIC总线传输格式的理解 在写中 首先,主机发送开始命令,然后主机发送7位地址数据和1位R/W到从机中,然后从机到主机发送一个响应信号,主机收到响应信号的时候,主机向从机发送数据,当数据发送完毕,从机向主机发送响应信号,然后主机发送结束信号,特别注意:如果一段时间内没有接收到从机的应答信号,则表示,从机已正确接收数据,所以,在写操作的响应信号和读操作的第一个响应信号,不需要

2016-07-19 17:30:31 2354

原创 U-boot移植——1.时钟

u-boot的作用是 a 硬件初始化:关看门狗,设置时钟,设置SDRAM,设置NAND FLASH. b 如果bootlodar比较大,要把他重定位到SDRAM c 把内核从NAND FLASH读到SDRAM d 设置要传给内核的参数 e 跳转执行内核所以说在一个uboot中所需要完成的事件有 1 set the cpu

2016-07-19 17:03:46 415 1

原创 input_dev结构体设计

input_dev结构体 在输入子系统的设备驱动中,最重要的数据结构是struct input dev。需要完成的大部分工作都是围绕着而来的,是驱动的主体,每个struct input_dev代表一个输入设备。1 如何分配一个input_dev结构体 sturct input_dev * uk_dev uk_dev = input_allocate_device();2

2016-05-18 23:49:16 2314

原创 urb介绍

urb介绍 usb requedt block 简称urb usb总线就像一条高速公路,货物、人流之类的可以看成是系统与设备交互的数据,而urb就可以看成是汽车。 USB的endpoint有四种不同类型,也就是说能在这条高速公路上流动的数据有四种,但是对汽车没有要求,所以可以用urb运载这四种数据 不过首先要告诉运什么,目的地什么

2016-05-18 23:46:52 2601

原创 Allegro各层详解画封装焊盘需要哪些层

Package Geomerty 封装的几何尺寸 Assembly 装配层 表示元器件的实体大小,贴片机焊接时候才用得到Pastemask 钢网层 是正显层 有表示有 无表示无 是针对SMD元件的,该层用来制作钢模片,而钢模上的孔对应着SMD上的焊点。 SMD期间焊接

2016-05-17 14:04:58 17870 2

原创 欢迎使用CSDN-markdown编辑器

去耦电容是电路中装设在元件的电源端的电容,此电容可以提供较稳定的电源,同时也可以降低元件耦合到电源端的噪声,间接可以减少其他元件受此元件噪声的影响。去耦电容和旁路电容都是起到抗干扰的作用,电容所处的位置不同,称呼就不一样了。对于同一个电路来说,旁路(bypass)电容是把输入信号中的高频噪声作为滤除对象,把前级携带的高频杂波滤除,而去耦(decoupling)电容也称退耦电容,是把输出信号的干扰作

2016-05-08 14:40:40 376

原创 Cadence中Quickview中没有预览

情况:        原因说明:  PCB的封装没有加载进去解决办法:          1. 我首先先自己画好了封装,放在我的文件夹里面

2016-04-07 10:59:36 2791

原创 队列的定义

队列:是一种特殊的线性表队列仅在线性表的两端进行操作:队头:取出数据元素的一端队尾:插入数据元素的一端  队列性质:先进先出(FIFO)  队列的实现之顺序存储代码复用线性表的顺序存储 #include "SeqList.h"#include "SeqQueue.h" SeqQueue* SeqQueue_Create(int capac

2015-06-28 00:26:33 1325

原创 递归的应用——八皇后问题

回朔算法的基本思想·从问题的某一种状态出发,搜索可以到达的状态·当某个状态到达后,可向前回退,并继续搜索其他可达状态·当所有状态都到达后,回朔算法结束    程序设计中可以利用函数的活动对象保存回朔算法的状态数据,因此可以利用递归完成回朔算法。 八皇后算法1 初始化I = 12 初始化J = 13 从第i行开始,恢复j的当前值,判断第j个位置A`

2015-06-20 23:10:59 627 1

原创 递归

程序中的函数调用栈是栈数据结构的一种应用函数调用栈一般是从高地址向低地址增长·栈顶为内存的低地址·栈底为内存的高地址函数调用栈中的存储数据为活动记录活动记录:函数调用时一系列相关记录 程序栈空间:           ·本质上是顺序栈           ·程序栈空间访问是通过函数调用进行的           ·程序

2015-06-15 23:18:30 806

原创 栈的应用---后缀运算法则

·对于数字:进栈 ·对于符号:·从栈中弹出右操作数·从栈中弹出左操作数·根据符号进行运算·将运算结果压入栈中 ·遍历结果:栈中唯一的数字为结果  伪算法 int compute (const char * exp){创建栈int i = 0; While (exp[i] != ‘\0’){if(数字)输出Els

2015-06-11 23:05:28 815

原创 栈的应用---中缀变后缀

中缀表达式运算符号在数字中间后缀表达式运算符号在数字之后计算机计算计算的是后缀表达式中缀变后缀举例5 + 3  ->  5 3 +1 + 2 * 3  -> 1 2 3 * +9 + (3 - 1) * 5 -> 9 3 1 - 5 * +中缀变后缀算法···遍历中缀表达式中的数字和符号·········对于数字:直接输出··

2015-06-08 16:27:36 620

原创 栈的应用---编译器的符号匹配

算法1   从第一个字符开始扫描2   当遇见普通字符时候忽略,遇见做字符压入栈。3    当遇见右符号时候从栈中弹出栈顶符号匹配成功,继续读入下一字符匹配失败,立即停止并报错成功:所有字符扫描完毕,且栈为空失败:匹配失败或者所有字符扫描完毕但栈不是空的。伪代码:int scanner(const char* code){    创建栈;

2015-06-08 00:36:44 1098

原创 栈的实现

栈的定义:栈是一种特殊的线性表栈仅能在线性表的一端进行操作栈顶:允许操作的一端栈底:不允许操作的一端栈的性质:LIFO 后进先出原则链式栈linkStack.h#ifndef _LINKSTACK_H_#define _LINKSTACK_H_typedef void LinkStack; //给void 起一

2015-06-07 10:44:17 600

原创 2440串口

串口发送数据的原理CPU-----(数据写入)-----FIFO----(UART自动复制)------发送移位器----(一位一位发送到)------TxDn串口接受数据的原理RxDn-----(一位一位接收到)-----接受移位器-----(复制到)-----FIFO-----(读取数据)------CPU初始化:1.波特率、传输格式(多少个数据,是否使用校验位,是

2015-05-30 16:39:02 621

原创 S3C2440_系统时钟

时钟控制逻辑给时钟提供了三种时钟:FCLK用于CPU 核HCLK用于AHB总线设备,比如CPU核、存储控制器、中断控制器、LCD控制器、DMAPCLK用于APB总线设备,比如WATCHDOG、IIS控制器、PWM定时器、MMC接口、ADC需要通过时钟控制逻辑的PLL提高系统时钟。PLL有两个,MPLL和UPLL。UPLL专用于USB设备,MPLL用于FCLK、HCLK、

2015-05-24 13:02:06 695

原创 ARM9__中断

ARM体系的CPU有7种工作模式用户模式   usr ARM处理器正常的程序执行状态快速中断模式 fiq 用于高速数据传输或通道处理中断模式 irq 用于通用中断处理管理模式 svc 操作系统使用的保护模式数据访问终止模式 abt 虚拟存储及存储保护系统模式 sys 运行具有特权的操作系统任务未定义指令终止模式 und 支持硬件协处理器的软件

2015-05-18 16:55:14 685

原创 字符转换命令

tr删除一段信息的的文字或者进行文字的替换替换删除字符经常使用这条命令,可以进行大小写的切换或者字符变换col将tab换成对等的空格或者保留/后面的字符不过主要总用是将man page的内容转换成文本文档join将两个文本合并:表示每段之间的分隔符-1 第一个文件4 第一个文件里面第4个:的分隔符-2 第二个文

2015-05-13 19:07:04 717

原创 管道选取排序命令

管道管道不同于连续执行命令,只有前一步正确的才可以通过管道传出来,进入下一步的执行,而且管道符后面接的是输入命令。                                 选取命令 cut  cut 起到切除的意思,是将数据从里面选出来cut -d '分隔符' -f 数字将以‘分隔符’的第‘数字’个取出来 如果没有这个分隔符,那就不会取出来这个结果。

2015-05-10 12:33:14 994

原创 数据流重定向

数据流重定向:将数据的输出不在屏幕中显示,而是在一个文档中显示。   标准输出代码1> 将命令的结果输出到一个文件中,并将这个文件里面的内容覆盖。>>将命令的结果输出到指定的文件中,但不将文件中的内容覆盖,而是接着写代码2将错误的结果输出到指定的文件或者设备中在前面加个2表示输出的是错误的,如果>>表示不覆盖,>表示覆盖将正确的显示出来,将错误的

2015-05-10 00:03:49 905

原创 ARM汇编指令——算数和逻辑指令

MOV : 传送(Move) //相当于赋值语句 MOV{条件}{S} , dest = op_1MOV 从另一个寄存器、被移位的寄存器、或一个立即值装载一个值到目的寄存器。你可以指定相同的寄存器来实现 NOP 指令的效果,你还可以专门移位一个寄存器: MOV R0, R0 ; R0 = R0

2015-05-09 18:56:52 2485

原创 ARM汇编程序框架

.section.data.section.bss.section.text.global _start_start:简化书写.text.global _start_start:

2015-05-02 19:28:03 554

原创 ARM寻址方式

ARM寻址方式定义处理器根据指令中给出的信息来找到所需操作数的方式立即数寻址:操作数本身就在指令中给出,只需要取出指令就得到了操作数的方式。(操作数称为立即数)ADD R0, R0, #0X3F;//R0 = R0 +3F第二个数就是操作数,需要用#来作为前缀寄存器寻址:操作数存在寄存器中,利用寄存器中的数值作为操作数ADD R0, R1, R2;

2015-05-02 19:25:06 483

原创 Makefle

Makefile 整个程序编译链接规则规则targets:prerequisitescommandmake 全执行make 目标名 只执行这一个命令变量变量使用前app1:app1.o  func1.ofunc2.ogcc app1.o  func1.o func2.o -o app1app2:app2.o  func1.

2015-04-27 18:57:35 502

原创 内存管理单元MMU

MMU 存储器管理单元CPU通过MMU将虚拟地址转到物理地址,当虚拟地址启动时,CPU看到的只是虚拟地址,CPU只关心发出地址,读取数据,没有虚拟地址物理地址的概念。虚拟地址最终需要转为物理地址才可以存放有效数据ARM使用虚拟地址,可能多块虚拟地址映射到同一个物理地址1 建立表格表格 将内存分成表格1个表格是1M的大小,4096个表格是4G的大小空间2 建立映射

2015-04-26 22:10:44 587

原创 交叉工具链

交叉工具链多个交叉工具的集合交叉开发开发过程中有宿主机和目标机之分,宿主机编译,链接,嵌入式软件计算机,目标机运行嵌入式软件平台。交叉编译器arm-linuc-gccarm-linux-gcc 寻找头文件arm-linux-gcc -print-search-dirsgccgcc寻找头文件 在usr/include中寻找使用arm-linux-gcc

2015-04-26 20:20:02 476

原创 基于SDRAM的存储管理器使用

存储管理器:管理CPU跳到哪个地址CPU运行程序会从0地址开始,通过存储管理器可以让让CPU跳到外设RAM  内存因为存储管理器内部有8个Bank,所以最多可以接8个外设,每个Bank最大可以接128M,因为有27跟线(27*1024*1024)比如读存储管理器的地址0X30000000,CPU通过对0X30000000进行访问MOV R1 #0X30000000l

2015-04-24 17:11:21 546

原创 2440的Nand启动

2440的Nand启动的简略图是这样的4K的SRAM的启动地址是0x0000000启动时硬件强制执行1.强制将Nand Flash前4K的内容拷贝到SRAM中(0地址)2.CPU从0地址开始执行所以说 制定代码块从0开始启动Nand启动软件初始化1.设置栈sp指向某块内存,通常情况下指向SRAM(所以通常不用初始化),如果指向SDRAM需要初始化

2015-04-22 23:56:36 528

原创 shell的变量功能

变量:和C语言中的变量是一样的意思,一般shell中的变量用大写。  变量的显示:echo    echo $变量名  或者echo ${变量名}变量的声明   1.echo $变量名2.变量名=变量内容(等号之间不可以有空格)3.echo $变量名  进行变量内容的显示变量设置规则1.变量名=变量内容(等号之间不可以有空格)2.变量名称可以是字母加数字

2015-04-15 17:03:04 469

原创 Linux中的shell理解

什么是shell,shell俗称壳,是命令解析器(提供使用者使用界面的软件),通过shell可以与内核进行通信,只是提供用户操作系统的一个接口。shell的作用: 1.命令行界面的shell都是一样的,不会被X windows界面的不同而影响操作,不同版本的Linux的X windows界面有不同,而shell都是一样的。 2.远程管理,命令行界面的传输速度比较快,而且不容易出现断线和

2015-04-15 16:39:47 576

转载 ARM9自学笔记_汇编指令1

转自http://blog.csdn.net/yam_killer/article/details/7901363ARM9汇编指令总结1、  LDR指令Arm指令集中,LDR既可以做为加载指令,也可以作为伪指令。1)  LDR pc, =MyHandleIRQ ;表示将MyHandleIRQ符号放入pc寄存器中eg:COUNT EQU      

2015-03-25 00:16:17 845 1

原创 ARM9自学笔记_GPIO设置

#define GPFCON      (*(volatile unsigned long *)0x56000050)#define GPFDAT      (*(volatile unsigned long *)0x56000054)#define GPGCON      (*(volatile unsigned long *)0x56000060)#define GPGDA

2015-03-25 00:11:27 1128

原创 Linux用户组与权限

一用户与用户组和他们的权限        用户:这个文件属于谁,谁拥有这个文件或者目录        用户组:这个用户属于哪个用户组,属于哪个团体         比如:我的笔记本属于我,而我属于我家                          笔记本就相当于文件,我是用户,而我家就是一个用户组      一个用户组里面有许多用户,比如说我家,我家有我,老爹,老妈,我

2015-02-02 20:54:03 459

NumPy+MKL+v1.13.1+cp36+for+Python3.6_认证可以使用

验证可以使用,且积分较少,为了能方便大家,希望大家理解需要积分

2018-03-28

空空如也

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

TA关注的人

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