自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 GDB的使用

GDB 手动调试1、将gdb-7.5.tar.gz拷贝到/usr/local/目录下(可以拷贝到任何你愿意的Linux目录下)2、解压gdb-7.5.tar.gztar -zxvf gdb-7.5.tar.gz3、编译arm-linux-gdb到目录gdb-7.5: cd gdb-7.5执行: $ ../configure--target=arm-linux--disable-w...

2020-03-22 01:06:13 177

原创 快速排序算法

// 1.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "stdio.h"#include "stdlib.h"#include "string.h"#define MAXSIZE 10#define Sqtype inttypedef struc...

2020-03-21 12:55:31 149

原创 python爬取墨迹天气

from urllib.request import urlopenfrom bs4 import BeautifulSoupfrom xpinyin import Pinyinprov = input("请输入省份:")city = input("请输入城市:")pin = Pinyin()prov_pin = pin.get_pinyin(prov,'')city_pin = pin.get_pinyin(city,'')moji_url = "https://tianqi.moj

2020-06-22 17:41:49 659

原创 二分法求平方根

#include "math.h"#include <stdio.h>double kaiFang(double low, double up){ double x = up; double mid = low + (up - low)/ 2; while (fabs(mid * mid - x) >=1e-6) { if (mid * mid > x)...

2020-05-13 00:57:36 202

原创 自己写的单链表代码

// list.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "stdio.h"#include "stdlib.h"typedef struct Node{ int data; Node *next;}Node,*LinkList;void listReverst(LinkList L){ LinkList pre,curr,next; cur

2020-05-13 00:35:25 147

转载 通过gcc创建静态库.a、动态库.so及其使用

参考博客:https://blog.csdn.net/CSDN_dzh/article/details/85054997

2020-05-07 16:44:11 152

原创 上台阶问题:一个人上台阶,一次可以走1、2、3步,问n个台阶有多少种走法?

递归的思想:走1步则还剩余n-1个台阶,走2步则还剩余n-2个台阶。分别接着去求出n-1和n-2个台阶的走法、#include <iostream>using namespace std;int func(int a){ if (a==1 || a==0) { return 1; } if (a<1) { return 0; } if (a=...

2020-04-23 00:22:49 1973

原创 Uboot中添加命令

u-boot的命令格式U_BOOT_CMD(name,maxargs,repeatable,command,”usage”,“help”)name:命令的名字,不是一个字符串;maxargs:最大的参数个数;repeatable:命令是否可重复的(1重复,0不重复)(即按下Enter键的时候,自动执行上次的命令);command:对应的函数指针第5个参数:帮助信息(short)第6个...

2020-04-21 23:41:17 635

原创 USB设备驱动

现象把USB设备接到PC右下角弹出"发现android phone"跳出一个对话框,提示你安装驱动程序问1. 既然还没有"驱动程序",为何能知道是"android phone"答1. windows里已经有了USB的总线驱动程序,接入USB设备后,是"总线驱动程序"知道你是"android phone"提示你安装的是"设备驱动程序"USB总线驱动程序负责:识别USB设备, 给US...

2020-03-30 00:54:59 138

原创 数据结构(一)链表的基本操作C语言实现

逻辑结构上一个挨一个的数据,在实际存储时,并没有像顺序表那样也相互紧挨着。恰恰相反,数据随机分布在内存中的各个位置,这种存储结构称为线性表的链式存储。由于分散存储,为了能够体现出数据元素之间的逻辑关系,每个数据元素在存储的同时,要配备一个指针,用于指向它的直接后继元素,即每一个数据元素都指向下一个数据元素(最后一个指向NULL(空))。图1 链式存储存放数据如图1所示,当每一个数据元素都和...

2019-12-03 17:32:27 281

原创 ADC触摸屏编程

ADC硬件原理根据图示,我们可知以后程序需要做的事:设置8:1MUX,选择要测量哪个引脚(需要看原理图)设置工作时钟启动读状态,判断ADC成功读数据ADC编程本节中做的事情是:a. 初始化ADCb. 读数据c. 在串口上显示出来根据芯片手册创建adc.c并添加如下内容:#include "../s3c2440_soc.h"void adc_init(void)...

2019-11-28 22:19:37 355

原创 LCD编程

LCD硬件原理LCD基本的显示原理是由一个个像素组成的,而像素可以想象屏幕后面有一个电子枪,一边移动一边向像素发出红绿蓝这些颜色。由此可以提出几个问题:1.如何移动?答:有一挑CLK线连接到LCD,每来一个CLK,移动一个像素。2.颜色怎么确定?答:有很多条线连接LCD,RGB三组线,由RGB确定颜色。3.电子枪如何得知应该跳到下一行?HSYNC(水平同步信号),接收到HSYNC...

2019-11-27 19:16:52 2202

原创 数据结构(一)栈的基本操作C语言实现

概念撤回,即 Ctrl+Z,是我们最常见的操作之一,大多数应用都会支持这个功能。你知道它是怎么实现的吗?答案是这样的:把之前的应用状态(限制个数)保存到内存中,最近的状态放到第一个。这时,我们需要栈(stack)来实现这个功能。栈中的元素采用 LIFO (Last In First Out),即后进先出。下图的栈有 3 个元素,3 在最上面,因此它会被第一个移除:栈的基本操作Push...

2019-11-22 09:38:05 406

原创 linux驱动基础面试题(一)

请问uboot启动过程都做了些什么?1.CPU刚开始初始化的时候,还未设置栈,所以先使用汇编代码,构造异常向量表,然后设置cpu为svc(管理模式),同时关闭FIQ和IRQ(防止突发中断程序跑飞了)。2.对cp15协处理器进行设置,主要是关闭了MMU和cache3.进入板级初始化阶段,对时钟、内存、串口的初始化。最后关闭看门狗。4.接下来是设置栈,为c语言代码准备环境,调用board_in...

2019-11-22 09:33:48 1216

原创 linux驱动基础面试题(二)

linux系统中多线程同步的方法有?互斥锁、条件变量、信号量、读写锁进程间通信的方式及优缺点a、无名管道:无名管道是一种半双工的通信方式,而且只能在具有亲缘关系的进程间使用,进程的亲缘关系通常是指父子进程关系。b、有名管道:有名管道也是一种半双工的方式,但是它允许无亲缘关系进程间的通信 。c、信号量:信号量是一个计时器,可以用来控制多个进程对共享资源的访问,它常作为一种锁机制,防止某进程...

2019-11-21 01:09:07 3129

原创 PS技巧总结

技巧总结图像大小调整图像调整为一下步骤:点击【图像—图像大小】(快捷键:ctrl+alt+I)在出现的【图像大小】菜单中,点击下图红框中显示的部分(使得宽度和高度不关联)。填入宽度和高度(注意单位为像素)。点击【确认】完成图像大小调整如下图所示:颜色调整颜色调整主要分为以下3步骤:1.选择颜色 2.选择区域 3.设置颜色选择颜色点击【拾色器-前景色】在R/G/B参...

2019-11-14 11:55:24 303

原创 字符设备驱动

第001节_字符设备驱动程序之概念介绍uboot的目的是启动内核。内核的目的是启动应用。应用程序涉及到很多文件操作、硬件操作(点灯、获取按键值等)。对于写应用程序的人不应该涉及到硬件操作。在应用层有:open、read、write等操作...

2019-11-14 11:48:40 296

原创 根文件系统

第001节_构建根文件系统之启动第1个程序内核启动第一个应用程序:static int noinline init_post(void){ ... //打开/dev/console这个设备 if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)//这里是第0个文件 printk(KERN_WARNI...

2019-11-10 17:05:53 155

原创 Ubuntu中安装samba服务

安装步骤安装Samba软件包sudo apt-get install samba samba-common修改Samba配置文件: /etc/samba/smb.confsudo gedit /etc/samba/smb.conf #用Ubuntu的gedit打开并编辑该配置文件在文件的结尾加上一段配置:[user] path = /home/book/proj...

2019-11-08 10:07:43 139

原创 2.内核启动流程分析之配置

配置的结果生成.config以CONFIG_DM9000为例讲述配置过程查找一下谁用了这个配置:grep -nR "CONFIG_DM9000"可以看到有几个地方用到了这个配置C源码:CONFIG_DM9000Makefile:driver/net/Makefileinlcude/config/auto.confinclude/linux/autoconf.hautoconf...

2019-11-04 00:02:00 64

原创 内核配置裁剪及启动流程

解压、打补丁内核通过tar -xjf linux-3.4.2.tar.bz2此命命令解压内核。进入到解压后的文件夹,通过patch -p1 <../linux-3.4.2_100ask.patch命令打补丁。配置三种方法配置make menuconfig使用默认配置使用厂家提供的配置文件(.config)厂家提供的config使用命令:cp config_ok .con...

2019-11-03 22:06:09 232

原创 u-boot分析与使用

u-boot分析之编译体验初识ubootuboot是BootLoader的一种,用以启动内核。uboot打补丁、配置与编译uboot官方是有提供源程序的,我们在上面进行修改或者添加代码的话需要打补丁,步骤如下:1 解压缩uboottar xjf u-boot-1.1.6.tar.bz22 进入解压后的文件夹cd u-boot-1.1.6/3 打补丁patch -p1 ...

2019-10-08 00:48:04 185 1

空空如也

空空如也

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

TA关注的人

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