- 博客(36)
- 资源 (1)
- 收藏
- 关注
原创 冒泡插入选择希尔快排归并排序
1.使用C语言实现字符串倒序。#include <stdio.h>#include &l
2019-07-25 23:51:28
250
翻译 C
1.使用C语言实现字符串、句子的倒序。/*实现字符串的反转*/char *reserve_str(char *a,int len) { int i; char t; for(i=0;i<len/2;i++) { t=a[i]; a[...
2019-06-13 10:43:02
418
翻译 二叉树
// 二叉树.cpp : 定义控制台应用程序的入口点。#include "stdafx.h"#include "stdlib.h"#include <stdio.h>//////typedef struct BINARYNODE { char ch; struct BINARYNODE* lchild; struct BINARYNODE* rchild;}...
2019-06-12 12:44:34
165
原创 嵌入式经典面试
使用C语言实现字符串倒序。#include &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;stdio.h&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;#include &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp
2019-03-13 16:33:30
555
翻译 无线视频监控
虚拟摄像头驱动——vivid摄像头驱动——UVC1.配置内核支持usb驱动、uvc驱动2.移植libjpegtar xzvf libjpeg-turbo-1.2.1.tar.gz cd libjpeg-turbo-1.2.1 mkdir tmp(安装目录) ./configure --prefix=/work/cross_mjpeg/libjpeg-turbo-1.2.1/tmp/ ...
2019-02-16 18:09:58
874
翻译 使用设备树指定lcd参数
zj2440-irq.dtsfb0: fb@4d000000{ compatible = "jz2440,lcd"; reg = &lt;0x4D000000 0x60&gt;; interrupts = &lt;0 0 16 3&gt;; clocks = &lt;&amp;clocks HCLK_LCD&am
2019-02-15 18:04:39
876
翻译 设备树中pinctrl的简单使用
文档:内核 Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt几个概念:Bank: 以引脚名为依据, 这些引脚分为若干组, 每组称为一个Bank比如s3c2440里有GPA、GPB、GPC等Bank,每个Bank中有若干个引脚, 比如GPA0,GPA1, …, GPC0, GPC1,…等引脚Group: 以功能为依据...
2019-02-15 16:32:13
7225
翻译 设备树中时钟的使用
s3c2440.dtsixti: xti_clock { compatible = "fixed-clock"; clock-frequency = <12000000>;//晶振 clock-output-names = "xti"; #clock-cells = <0>; }; clocks: clock-controller@4c000000...
2019-02-15 15:09:51
7832
2
翻译 使用设备树给dm9000网卡、触摸屏指定中断
给dm9000网卡指定中断/*bank4*/srom-cs4@20000000 { compatible = "simple-bus"; #address-cells = &lt;1&gt;; #size-cells = &lt;1&gt;; reg = &lt;0x20000000 0x8000000&gt;;//起始地址 128M ranges
2019-02-15 14:58:53
493
翻译 设备树规范
设备树的规范(dts和dtb)DTS格式(1) 语法:Devicetree node格式:[label:] node-name[@unit-address] {[properties definitions][child nodes]};Property格式1:[label:] property-name = value(属性=值);Property格式2(没有值):[lab...
2019-02-15 13:14:53
561
翻译 设备树——按键中断
#include &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;linux/module.h&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;#include &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;linux/sched.h&a
2019-01-26 13:08:33
828
翻译 u-boot
最简单的bootloader的编写步骤:初始化硬件:关看门狗、设置时钟、初始化SDRAM、初始化NAND FLASH如果bootloader比较大,要把它重定位到SDRAM把内核从NAND FLASH读到SDRAM设置&amp;amp;amp;amp;amp;amp;quot;要传给内核的参数&amp;amp;amp;amp;amp;amp;quot;跳转执行内核start.S#define S3C2440_MPLL_200MHZ (0x5c&
2019-01-19 20:25:06
123
原创 hotplug_uevent机制——实现SD卡自动挂载
转载[device_create详解和实现U盘自动挂载](https://www.cnblogs.com/lifexy/p/7891883.html)添加etc/mdev.conf插入sd卡,查看设备节点在etc/mdev.conf中添加创建mbin/mount-sd.sh脚本...
2019-01-17 15:41:46
616
翻译 制作根文件系统
开发环境ubuntu16.04arm-linux-gcc 4.3.2开发板内核linux-3.4.2zj24401. 交叉编译busybox-1.20.01.1、make menuconfig //进入Busybox Settings —&amp;amp;gt;Build Options —&amp;amp;gt;(arm-linux-) Cross Compiler prefix //制定交叉编译器...
2019-01-16 21:56:07
151
原创 移植linux-3.4.2
开发环境ubuntu16.04arm-linux-gcc 4.3.2zj2440修改makefileARCH?=armCROSS COMPILE?=arm-linux-将kernel/timeconst.pl 文件中 373行的if (!defined(@val)) 改为if (!@val) 。新版本的(Linux) 上编译老版本的内核版本出现的错误修改晶振:arch...
2019-01-16 12:24:11
306
翻译 IIC设备驱动(linux-3.4.2)
转载IIC协议转载IIC驱动(linux-2.6.22.6) 总线(bus)-设备(dev)-驱动(drv)模型一、IIC设备的4种构建方法1、 定义一个i2c_board_info, 里面有:名字, 设备地址 然后i2c_register_board_info(busnum, ...) (把它们放入__i2c_board_list链表) ...
2019-01-14 16:14:34
851
翻译 使用DMA
S3C2440的DMADMA(Direct Memory Access,直接内存存取) ,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。否则,CPU 需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。CPU同一时间只能做一件事,在这个时间中,CPU 对于其他的工作来说就无法使用。DMA驱动实现:把源(src)、目的(dst)、大小(size)告...
2019-01-13 15:48:36
718
翻译 另一种字符设备驱动程序
前一种字符设备驱动程序之前通过register_chrdev(0, “hello”, &amp;amp;hello_fops)注册字符驱动程序,(major,0)—(major,255)都对应hello_fops。另一种字符设备驱动程序实现函数:/自动分配主设备号,只有(major,0)和(major,1)对应hello_fops/alloc_chrdev_region(&amp;amp;devid, ...
2019-01-12 23:16:06
112
翻译 块设备驱动——Nor FLash
转载Nor Flash驱动详解)同nand-flash驱动框架,只需实现底层硬件相关的操作。nor-flash驱动实现:分配map_info结构体;设置map_info结构体:物理基地址(phys)、大小(size)、位宽(bankwidth)、虚拟基地址(virt);使用,调用do_map_probe(“cfi_probe”,s3c_nor_map)识别(cfi_probe/jede...
2019-01-12 20:45:16
322
翻译 块设备驱动——Nand FLash
转载Nand Flash驱动分析转载MTD系统剖析NAND驱动框架nand-flash驱动程序实现:分配/设置nand_chip;提供函数:选中、发命令/地址、判断状态,读/写地址硬件(寄存器)相关的设置;使用,nand_scan,add_mtd_partitions。源码#include &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;linux/module.h&amp;amp;amp;amp
2019-01-12 16:27:16
384
翻译 块设备驱动程序
转载块设备驱动程序详解实现原理:1. 把&amp;quot;读写&amp;quot;放入队列,先不执行;2. 优化后再执行(优化/调顺序/合并)。块设备驱动程序实现:分配gendisk: alloc_disk设置2.1 分配/设置队列: request_queue// 它提供读写能力blk_init_queue2.2 设置gendisk其他信息 // 它提供属性: 比如容量注册: add...
2019-01-12 12:47:09
918
翻译 USB设备驱动
内核里USB总线驱动程序:识别USB设备(分配地址、USB设备(set address)、获取描述符);查找并安装对应的设备驱动程序;提供USB读写函数(不知道数据含义)。USB设备驱动程序:由我们完成,知道数据含义,USB设备驱动程序实现分配/设置usb_driver结构体.id_table.probe.disconnect注册通过鼠标按键实现L、S、回车。#in...
2019-01-11 21:24:21
863
1
翻译 触摸屏驱动
触摸屏工作流程按下,产生中断;在按下中断处理程序中,启动ADC转换XY坐标;ADC转换结束,产生ADC中断;在ADC中断处理函数中,上报数据(input_event),启动定时器;定时时间到,再次启动ADC(处理长按、滑动);松开。源码#include &amp;amp;lt;linux/errno.h&amp;amp;gt;#include &amp;amp;lt;linux/kernel.h&amp;amp;gt;#
2019-01-11 16:03:21
1568
翻译 linux——LCD驱动
实现步骤1、定义、分配fb_infostatic struct fb_info *s3c_lcd;s3c_lcd = framebuffer_alloc(0, NULL);2、设置s3c_lcd3. 硬件相关的操作3.1 配置GPIO用于LCD ;3.2 根据LCD手册设置LCD控制器,LCDCON、LCDADDR;在初始化函数中,配置引脚开启背光。4、注册register_f...
2019-01-10 23:17:49
371
翻译 字符设备驱动程序——定时器按键消抖
实现方式需要设置的结构体struct timer_list {struct list_head entry;unsigned long expires;void (*function)(unsigned long);unsigned long data;struct tvec_base *base;…}1、static struct timer_list buttons_tim...
2019-01-10 15:19:16
279
翻译 字符设备驱动程序——按键中断之互斥阻塞操作
一、互斥操作 在编程中,引入了对象互斥锁的概念,来保证共享数据操作的完整性。每个对象都对应于一个可称为&amp;amp;amp;amp;quot; 互斥锁&amp;amp;amp;amp;quot; 的标记,这个标记用来保证在任一时刻,只能有一个线程访问该对象。实现方式原子操作原子操作指的是在执行过程中不会被别的代码路径所中断的操作。常用原子操作函数举例:atomic_t v = ATOMIC_INIT(0); //定义原子变量v并初始化为0atom
2019-01-10 13:52:30
158
翻译 字符设备驱动程序——按键中断之异步通知
#include &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;linux/module.h&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;#include &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;linux/sched.h&amp;amp;amp;amp;amp;amp;amp;amp;a
2019-01-09 22:08:53
151
翻译 字符设备驱动程序——按键中断poll机制
编译环境ubunt 16.04arm-linux-gcc 4.3.2linux-3.4.2比如一个按键事件:1、查询方法:在while(1)中不断循环调用read(fd, &amp;amp;amp;amp;key_val, 1)查询,不断去查询是否有事件发生,整个过程都是占用CPU资源,消耗CPU资源非常大。2、中断方式:当有事件发生时,就去跳转到相应事件去处理,CPU占用时间少。若没有按键按下,则要一直处于...
2019-01-09 15:37:11
274
翻译 简单的网络编程———TCP/UDP
TCP服务端程序#include &amp;amp;amp;amp;amp;amp;amp;lt;sys/types.h&amp;amp;amp;amp;amp;amp;amp;gt; /* See NOTES */#include &amp;amp;amp;amp;amp;amp;amp;lt;sys/socket.h&amp;amp;amp;amp;amp;amp;amp;gt;#include &a
2019-01-08 23:29:06
205
翻译 通用应用程序makefile
=延时变量;不能在变量后追加内容:=立即变量AS = $(CROSS_COMPILE)asLD = $(CROSS_COMPILE)ldCC = $(CROSS_COMPILE)gccCPP = $(CC) -EAR = $(CROSS_COMPILE)arNM = $(CROSS_COMPILE)nmSTRIP = $(CROSS_COMPILE)stripOB...
2019-01-08 16:14:04
337
翻译 指针、链表操作
typedef struct NAME{ char *name; struct NAME *pre; struct NAME *next;}T_Name, *PT_Name;static PT_Name g_ptNameHead;void add_name(PT_Name ptNew){ PT_Name ptCur; if (g_ptNameHead == NULL)...
2019-01-08 11:25:14
189
翻译 制作内核补丁
linux3.4.2移植zj2440支持lcd、wifi、声卡wm8976补丁cd l 制作补丁cp .config config_a //保存到config_a文件make distcleancd …mv linux-3.4.2 linux-3.4.2_all //更改文件名tar -xvjf linux-3.4.2.tar.bz2 ...
2019-01-05 16:22:04
561
zj2440移植3.4.2补丁
2019-01-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人