- 博客(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
234

原创 快速排序算法
// 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
184
原创 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
787
原创 二分法求平方根
#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
243
原创 自己写的单链表代码
// 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
186
转载 通过gcc创建静态库.a、动态库.so及其使用
参考博客:https://blog.youkuaiyun.com/优快云_dzh/article/details/85054997
2020-05-07 16:44:11
183
原创 上台阶问题:一个人上台阶,一次可以走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
2682
原创 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
691
原创 USB设备驱动
现象把USB设备接到PC右下角弹出"发现android phone"跳出一个对话框,提示你安装驱动程序问1. 既然还没有"驱动程序",为何能知道是"android phone"答1. windows里已经有了USB的总线驱动程序,接入USB设备后,是"总线驱动程序"知道你是"android phone"提示你安装的是"设备驱动程序"USB总线驱动程序负责:识别USB设备, 给US...
2020-03-30 00:54:59
186
原创 数据结构(一)链表的基本操作C语言实现
逻辑结构上一个挨一个的数据,在实际存储时,并没有像顺序表那样也相互紧挨着。恰恰相反,数据随机分布在内存中的各个位置,这种存储结构称为线性表的链式存储。由于分散存储,为了能够体现出数据元素之间的逻辑关系,每个数据元素在存储的同时,要配备一个指针,用于指向它的直接后继元素,即每一个数据元素都指向下一个数据元素(最后一个指向NULL(空))。图1 链式存储存放数据如图1所示,当每一个数据元素都和...
2019-12-03 17:32:27
331
原创 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
423
原创 LCD编程
LCD硬件原理LCD基本的显示原理是由一个个像素组成的,而像素可以想象屏幕后面有一个电子枪,一边移动一边向像素发出红绿蓝这些颜色。由此可以提出几个问题:1.如何移动?答:有一挑CLK线连接到LCD,每来一个CLK,移动一个像素。2.颜色怎么确定?答:有很多条线连接LCD,RGB三组线,由RGB确定颜色。3.电子枪如何得知应该跳到下一行?HSYNC(水平同步信号),接收到HSYNC...
2019-11-27 19:16:52
2413
原创 数据结构(一)栈的基本操作C语言实现
概念撤回,即 Ctrl+Z,是我们最常见的操作之一,大多数应用都会支持这个功能。你知道它是怎么实现的吗?答案是这样的:把之前的应用状态(限制个数)保存到内存中,最近的状态放到第一个。这时,我们需要栈(stack)来实现这个功能。栈中的元素采用 LIFO (Last In First Out),即后进先出。下图的栈有 3 个元素,3 在最上面,因此它会被第一个移除:栈的基本操作Push...
2019-11-22 09:38:05
443
原创 linux驱动基础面试题(一)
请问uboot启动过程都做了些什么?1.CPU刚开始初始化的时候,还未设置栈,所以先使用汇编代码,构造异常向量表,然后设置cpu为svc(管理模式),同时关闭FIQ和IRQ(防止突发中断程序跑飞了)。2.对cp15协处理器进行设置,主要是关闭了MMU和cache3.进入板级初始化阶段,对时钟、内存、串口的初始化。最后关闭看门狗。4.接下来是设置栈,为c语言代码准备环境,调用board_in...
2019-11-22 09:33:48
1333
原创 linux驱动基础面试题(二)
linux系统中多线程同步的方法有?互斥锁、条件变量、信号量、读写锁进程间通信的方式及优缺点a、无名管道:无名管道是一种半双工的通信方式,而且只能在具有亲缘关系的进程间使用,进程的亲缘关系通常是指父子进程关系。b、有名管道:有名管道也是一种半双工的方式,但是它允许无亲缘关系进程间的通信 。c、信号量:信号量是一个计时器,可以用来控制多个进程对共享资源的访问,它常作为一种锁机制,防止某进程...
2019-11-21 01:09:07
3298
原创 PS技巧总结
技巧总结图像大小调整图像调整为一下步骤:点击【图像—图像大小】(快捷键:ctrl+alt+I)在出现的【图像大小】菜单中,点击下图红框中显示的部分(使得宽度和高度不关联)。填入宽度和高度(注意单位为像素)。点击【确认】完成图像大小调整如下图所示:颜色调整颜色调整主要分为以下3步骤:1.选择颜色 2.选择区域 3.设置颜色选择颜色点击【拾色器-前景色】在R/G/B参...
2019-11-14 11:55:24
345
原创 字符设备驱动
第001节_字符设备驱动程序之概念介绍uboot的目的是启动内核。内核的目的是启动应用。应用程序涉及到很多文件操作、硬件操作(点灯、获取按键值等)。对于写应用程序的人不应该涉及到硬件操作。在应用层有:open、read、write等操作...
2019-11-14 11:48:40
344
原创 根文件系统
第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
207
原创 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
173
原创 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
88
原创 内核配置裁剪及启动流程
解压、打补丁内核通过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
271
原创 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
224
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人