自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 python基础语法学习记录之数据结构和算法(2)

参考cookbook的学习笔记1. 查找两字典的相同点a = {'x' : 1,'y' : 2,'z' : 3} b= {'w' : 10,'x' : 11,'y' : 2}Python3支持如下操作:# Find keys in commona.keys() & b.keys() # { 'x', 'y' }# Find keys in a that are not i

2017-09-06 22:44:42 310

原创 python基础语法学习记录之数据结构和算法(1)

参考cookbook的学习笔记

2017-08-20 22:09:31 324

原创 Python学习——物之始

背景: 欲测试转开发目标: 1、熟悉python基本语法的C实现 2、熟悉flask框架源码,了解Django基本功能使用 3、熟悉Redis、MySQL使用,及其基本原理阶段: 1、学习python基本语法,以及常用库 2、参考《Flask Web开发:基于Python的Web应用开发实战》

2017-08-12 16:38:23 329

翻译 试一下

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-08-12 15:33:34 321

原创 Linux子系统

一.内存管理 1.管理模型 (1)一方面是虚拟地址到物理地址的映射 (2)另一方面是物理内存的分配 以上就是内存管理子系统的职能2.地址引射管理 (0)程序中用虚拟地址,实际访问硬件必须用物理地址,所以存在映射关系。 (1)CPU和内存重要却有限 (2)虚拟地址空间分布(空间大小由硬件决定) ==》用户空间0-3GB ==》内核空间3GB-4GB ==》直

2015-06-21 21:21:50 746

原创 内核模块编译

一.Linux内核介绍 1.Linux 内核很庞大,相应的包含的组件也非常多。Linux文件就是常说的zImage和bzImage,在内核启动期间会被解压到内存。2.新的使用组件的思路:动态加载和卸载。也就是需要这个组件的时候才去加载,不需要的时候,就卸载。即内核模块机制。3.关于内核模块。有以下特征: (1)不被编译进内核文件 (2)可以动态加载和卸载4.关于内核模块的操作 (1)加载in

2015-06-19 16:39:32 1879

原创 制作根文件系统

1.创建目录#mkdir rootfs#cd rootfs#mkdir bin dev etc lib proc sbin sys usr mnt tmp var#mkdir usr/bin usr/lib usr/sbin lib/modules2.创建设备文件 (1)在Linux中设备都以文件的形式存在和操作。 (2)这些文件都在dev目录 (3)在启动Linux系统的时候必须要使用

2015-06-19 16:08:00 414

原创 Linux内核配置编译

一.内核简介: 1.系统架构 (1)Linux是由用户空间和内核空间构成的 (2)用户空间主要是用户应用程序以及一些C库文件,配置文件。一般是看得见的。 (3)内核空间主要是系统调用接口,狭义上的内核,处理器架构相关的代码。 (4)划分两个空间的理由:处理器有不同的工作模式,不同的模式权限不一样,可以运行的指令不一样。两个空间对应不同的工作模式(操作级别),程序执行的两种不同的状态。可以起

2015-06-18 20:27:53 469

原创 DM9000裸机驱动及ARP实现

一、DM9000物理结构 1、原理图 工作实质就是MAC通过MII控制PHY的过程。2、网卡和网络模型的映射关系 MAC对应的是数据链路层,PHY对应的是物理层3、MAC的工作原理 当网络协议栈的IP包送到网卡的时候,先要到达MAC,MAC就根据数据链路层的协议对接收到的数据进行封装,将IP包封装成以太网包,完成数据帧的构建。当然它还具备数据纠错以及传送控制等功能。4、关于PHY

2015-06-04 12:47:45 993

原创 LCD裸机驱动

一、原理分析 1、ARM系统中LCD体系架构 其中LCD驱动芯片和LCD显示器是连接在LCD模块上的,而LCD控制器则是在ARM处理器上的。 2、液晶工作原理 LCD控制器:为LCD驱动芯片提供必要的数据和控制信号。这是相当于大脑,LCD显示器就相当于器官。REGBANK里有寄存器组,调色板内存。LCDCDMA则是用来控制帧缓存(内存)里的数据到LCD显示器,不需要CPU干预。VIDPR

2015-06-03 16:58:58 493

原创 DMA解析

一、DMA原理解析 Demand模式:如果DMA完成一次请求后Request仍然有效,那么DMA就认为这是下一次DMA请求,并立即开始下一次的传输。 Handshake模式:DMA完成一次请求后等待Request信号无效,如果Request无效,DMA会无效ACK两个时钟周期,再等待下一次Request。 二、S3C2440芯片手册与原理图解析 1、

2015-06-03 16:07:03 1645

原创 裸机串口操作

一、相关参数 (1)波特率:衡量传输速率的快慢,每秒钟传输数据的位数(bit) (2)数据位:有效数据 (3)起始位:线路空闲的时候是高电平,当检测到低电平认为有数据传输开始,所以是低电平。 (4)奇偶校检位:检测数据传输是否正确 (5)停止位:表明一帧数据传输结束 二、初始化 1、设置引脚工作模式;设置数据格式(ULCON);设置工作模式(DMA,轮询,中断),(UCON);设置波特

2015-05-21 18:03:30 504

原创 MMU初始化

一、MMU作用 不同的进程访问相同的地址,可能得到不同的值,因为使用的是MMU进行地址转换;复杂程序中一般使用的是虚拟地址,裸机中才会使用绝对地址,虚拟地址和绝对地址是通过MMU进行转换的,当MMU不工作的时候,程序使用的就是绝对地址;除了地址转换的作用,MMU还可以控制内存单元的访问权限。 二、MMU转换流程简述 1.从虚拟地址取出前面的31-20位,作为索引。 2.根据索引在transl

2015-05-21 17:39:36 2881

原创 C语言环境初始化

一、栈 1.简介: 一个程序对应一个进程,一个进程对应一个栈空间,然后一个程序对应多个函数,每个函数都会在该栈空间分配到一个完全属于自己的子空间,该子空间就是栈帧。栈帧有边界,上边界是FP(r11),下边界是SP(r13),每一个主调函数的边界都会存放在她的被调函数的栈帧中。 2.作用: (1)保存局部变量 (2)当参数大于四个时候可以传递参数 (3)可以保存寄存器的值 3.初始化栈

2015-05-21 17:25:29 1744

原创 其他初始化(时钟、内存)

一、时钟初始化1.概念解析:(1)时钟脉冲信号:由特定的电压幅度以及特定的时间间隔产生的脉冲信号(2)时钟脉冲频率:单位时间内产生的脉冲个数(3)信号产生:A.晶体振荡器:石英晶体经过打磨,加电极,通电,会产生稳定的时钟脉冲。但是如果需要高频率的信号,虽然结构简单,噪声低,但是成本倍增,交货周期长,而且难 以获得非标准频率。B.PLL电路:也需要外部晶振,可改变外部晶体频率

2015-05-18 15:28:11 581

原创 bootloader核心初始化

一、异常向量表1.所谓异常,即:处理器在执行某项特定任务,突然发生另一事件导致处理器必须停下手里工作去处理该事件。ARM上电也属于一种异常,reset。2.S3C2440异常类型及其地址:虽然有两套入口地址,但是默认情况下,选择Normal address 作为异常向量,只有当设置了协处理器CP15的相关寄存器以后,才会启用High vector address,此时则忽略Norm

2015-05-17 16:48:30 900

原创 Bootloader架构介绍

一、arm处理器启动流程参考出处http://m.blog.csdn.net/blog/weicao1990/38150183:1、S3C2440支持从norflash和nandflash启动。Nandflash不参与统一编址,CPU总是从编址的0地址处取指令执行,为了实现从nandflash启动,S3C2440芯片从在CPU启动的时候,首先将nandflash前面4kB的内容复制

2015-05-17 14:18:27 1047

原创 简单的Makefile文件批处理

笔者同广大的初学者一样,很羡慕能一个make就干需要敲很多命令的事情。虽然没有系统的学过Linux,对shell和Makefile只了解皮毛中的皮毛,但是在我看来东西只有在用的时候再去学习,才爱得真切。本文将简单介绍最简单的且能满足需求的Makefile。1、make命令依赖于Makefile文件,文件名就叫做Makefile或者makefile,没有后缀名。2、Makefile文件集成了

2015-05-17 10:56:02 2660

空空如也

空空如也

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

TA关注的人

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