自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (24)
  • 收藏
  • 关注

原创 C语言构建环形缓冲区

它逻辑上是一个首尾相连的FIFO结构,具体实现上采用简单的线性数组。通过额外的辅助标志(head、tail)能很快知道队列的使用情况(是满还是为空)。正因为其简单高效的原因,甚至在硬件都实现了环形队列。环形队列广泛用于网络数据收发、程序间的大量数据交换(比如内核与应用程)、硬件接收大量数据。1、环形缓冲区原理环列队列逻辑上将数组元素array[0]与array[LEN-1]连接起来,形成一个存放队列的环形空间。实际操作中为了方便读写,采用head和tail分别指向可以读的位置和可以写的位置。环形

2021-08-29 00:02:10 6582 5

原创 一文搞懂getchar()和putchar()的奇怪现象

​1、首先来看一个例子:#include <stdio.h>int main( ){ int c; c = getchar(); while (c != EOF){ putchar(); c= getchar(); } return 0;}这里主要解释下为什么要用int型来接受getchar函数。很多时候,我们会写这样的两行代码:char c;c = getchar();这样就很有可能出现问题。因为getchar函数除了返回终端输入的字符外,在遇到Ct

2021-08-28 21:08:50 2847

原创 如何根据栈信息确定函数调用过程

ARM架构下函数调用时的栈空间使用ARM架构下的寄存器用途:r0-r3 :用来传入函数参数或传出函数返回值。在子程序调用之间,可以将 r0-r3 用于任何用途。被调用函数在返回之前不必恢复 r0-r3。如果调用函数需要再次使用 r0-r3 的内容,则它必须保留这些内容。r4-r11 :被用来存放函数的局部变量。如果被调用函数使用了这些寄存器,它在返回之前必须恢复这些寄存器的值。r11 是栈帧指针 fp,指向调用函数的栈帧栈底。r12(ip) :内部过程调用寄存器 ,在过程调用之间,可以将它用于任

2021-08-27 23:55:45 769

原创 如何通过oops信息调试用户应用程序

参考文献:韦东山视频要解决的问题:在开发板上运行程序时,如果遇到段错误,提示信息仅仅如下提示:# ./test_fileSegmentation fault并没有像之前我们在调试内核驱动程序时那样,完整显示oops信息:Unable to handle kernel paging request at virtual address 56000050      //无法处理内核页面请求的虚拟地址56000050pgd = c3850000[56000050] *pgd=00000000

2021-08-27 00:04:52 310

原创 gdb+gdbserver调试详解

1、gdb+gdbserver总体介绍远程调试环境由宿主机GDB和目标机调试stub共同构成,两者通过串口或TCP连接。使用 GDB标准串行协议协同工作,实现对目标机上的系统内核和上层应用的监控和调试功能。调试stub是嵌入式系统中的一段代码,作为宿主机GDB和目标机调试程序间的一个媒介而存在。就目前而言,嵌入式Linux系统中,主要有三种远程调试方法,分别适用于不同场合的调试工作:普通项目用ROM Monitor调试目标机程序用KGDB调试系统内核用gdbserver调试用户空间程序这三种

2021-08-26 00:16:14 5916

原创 rmmod:chdir(/lib/modules):No such file or directory

问题描述:当我们在使用较新的busybox版本(v1.17之后)时,发现在卸载模块的时候出现如下提示:解决办法:在根文件系统中建立相关目录:cd /libmkdir modulescd modulesmkdir 3.4.2 //此处根据你内核版本号确定目录名称好了,建立完以上两个目录后,再次执行模块卸载命令就能成功卸载了。...

2021-08-25 21:14:59 166

原创 rtc驱动分析

参考资料:韦东山第二期经典视频教程开发环境:JZ2440V3开发板+Linux3.4.2内核+gcc4.3.21、rtc内核驱动分析linux内核中的rtc驱动位于drivers/rtc下,里面有许多开发平台的RTC驱动,我们这里是以S3C24xx为主,所以它的RTC驱动为rtc-s3c.c1.1 ./drivers/rtc/rtc-s3c.c首先进入入口函数,里面注册了一个s3c24...

2021-08-15 10:28:21 338

原创 Linux内核rtc驱动分析

参考资料:韦东山第二期经典视频教程1、rtc内核驱动分析linux内核中的rtc驱动位于drivers/rtc下,里面有许多开发平台的RTC驱动,我们这里是以S3C24xx为主,所以它的RTC驱动为rtc-s3c.c1.1 ./drivers/rtc/rtc-s3c.c首先进入入口函数,里面注册了一个s3c2410-rtc的平台设备驱动,当内核匹配到s3c2410-rtc平台设备,就会调用.probe函数s3c_rtc+probe:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直

2021-08-15 10:23:13 746

原创 最全的IIC介绍及其设备驱动编写

参考资料:Linux2.6之IIC驱动_月月鸟呀的博客-CSDN博客Linux3.4.2之IIC驱动_月月鸟呀的博客-CSDN博客1、IIC介绍IIC是通信协议中的一种,为一主多从的结构,对于主从,所有的数据都是从主机这边发起,从机只能接受,不能主动引起数据传输,只有两条总线线路:一条串行数据线(SDA),一条串行时钟线(SCL),IIC有硬件IIC和软件IIC,这里简单解释,硬件IIC为硬件构成的IIC,一般只需要操作相关寄存器即可,对于软件IIC,可以由IO口来模拟IIC总线进行对IIC设备的通

2021-08-14 17:20:21 2705

原创 关于“字符设备注册函数”的总结

1、早期注册字符设备使用的函数int register_chrdev(unsigned int major, const char *name,const struct file_operations *fops);这个函数是linux版本2.4之前的注册方式,它的原理是:(1)确定一个主设备号(2)构造一个file_operations结构体, 然后放到chrdevs数组中(3)注册:register_chrdev然后当读写字符设备的时候,就会根据主设备号从chrdevs数组中取出相应的

2021-08-14 17:18:15 603

原创 C语言常见错误和技巧一文打尽

1、技巧类1.1 宏利用宏的替换,编写任意类型的交换函数#include <stdio.h> #define SWAP(t, a, b) \do \{ \ t c = a; \ a = b; \ b = c; \}while(0)int main( ){ int

2021-08-07 21:05:07 624

原创 LCD液晶屏驱动详解

开发环境:开发板:JZ2440V3CPU:samsunS3C2440内核:Linux3.4.2编译工具:arm-linux-gcc 4.3.2LCD:4.3存液晶屏AT043TN24参考文献:LCD驱动程序详细讲解(一)_weixin_33935505的博客-CSDN博客LCD驱动详解 - Lilto - 博客园 (cnblogs.com)主题:s3c2440移植l...

2021-08-02 21:49:44 15101

原创 Linux3.4.2的触摸屏驱动分析与编写

开发环境:开发板:JZ2440V3CPU:samsunS3C2440内核:Linux3.4.2编译工具:arm-linux-gcc 4.3.2LCD:4.3存液晶屏AT043TN24参考文献:2_触摸屏驱动程序之编写驱动 (100ask.net)触摸屏使用过程:触摸屏某点被按下,产生INT_TC中断;在中断处理程序中,打开定时器定时器时间到,启动ADC转...

2021-08-02 20:38:53 742

原创 USB原理及驱动框架介绍、编写

本文环境:JZ2440V3开发板Linux3.4.2内核arm-linux-gcc4.3.2编译器参考资料:2_USB驱动程序之USB总线驱动程序 (100ask.net)19.Linux-USB总线驱动分析 - 诺谦 - 博客园 (cnblogs.com)1、几个常见疑惑?为什么一插上就会有提示信息?是因为windows自带了USB总线驱动程序;那USB总线驱动程序是干嘛用的?识别USB设备;给USB设备找到并安装对应的驱动程序;提供USB的读写函数。.

2021-08-02 20:29:09 5683 1

先中后层序遍历算法图解及C实现代码,区分递归和非递归两种写法

先序遍历中序遍历后序遍历图解

2024-03-09

实现邻接矩阵存储图的深度优先遍历

C语言实现邻接矩阵存储图的深度优先遍历。

2023-02-09

该程序能求解n皇后问题,即在n*n方格棋盘上放置n个皇后,要求每个皇后不同行、不同列、不同左右对角线

编写一个程序,求解n皇后问题,即在n*n方格棋盘上放置n个皇后,要求每个皇后不同行、不同列、不同左右对角线。其中: 1. 皇后个数n由用户输入,其值不能超过20,输出所有的解。 2.采用类似于栈求解迷宫问题的方法

2023-02-09

ctags-5.8源码包

最新ctags-5.8源码包,用于和vim搭配使用,实现在vim中通过点击函数名迅速查找函数的定义。

2022-09-05

计算机3级中关于嵌入式知识的详尽总结

计算机3级中关于嵌入式知识的详尽总结

2022-03-06

信息系统项目管理师考试论文范文集

软考高级中的大头就是论文了,必须得有大量项目经验,否则只能依靠背记常考方向的论文范文,有的放矢的去准备下午的论文。此资源提供了历年来的论文方向和范文供大家背记和准备。

2022-03-04

软考高项考前必须要会做的百题精讲

软考高项考前必须要做的近200道题,大数据分析自软考开考以来历年真题中出现频次最高的知识点,并精准预测2022年可能要考察的知识点集合,是您备考的重要参考资料。

2022-03-04

sscom_v5.13.1.rar

串口调试助手

2021-09-30

vspd_6.9.zip

虚拟串口工具VSPD

2021-09-30

华为官网精选案例(案例和论文参考学习).pdf

华为公司针对各个场景下的解决方案,是案例分析和论文写作的重要参考资料,特别适合无工作经验,论文写作缺少素材的同学。

2021-08-02

网络规划设计师历年真题09-19年.zip

关于软考网络规划师的历年真题,考试必须有的放矢,而历年真题是备考的绝佳资料。绝对的经验总结,亲历很多次考试,发现软考的真题重复率还是蛮高的。

2021-08-02

某赛网论文写作培训课件.zip

关于软考架构师的论文写作方法和技巧,涵盖架构师各个主题,备考论文必备。

2021-08-02

一百篇架构师论文范例(备考必备,备考必背!).rar

关于软考架构师的100篇论文范例,涵盖架构师各个主题,是备考架构师论文的不二选择,挑选几篇近两年热门的主题熟背熟写,方能在考试中2小时内完成论文,因为根本没时间现场考虑构思,只有行文流水才能完成2500字大关。血的教训!!!

2021-08-02

系统架构师历年真题(2009-2018)解析.zip

2009年到2018年软考高级系统架构师的真题和详细解析。考试必须有的放矢,而历年真题是绝佳的备考资料,没有之一!

2021-08-02

架构师考试考前模拟卷20套.zip

适合备考软考高级系统架构师的同学,用于检测或熟悉自己复习程度的。考卷为2020年某赛培训机构内部试题,具有一定的参考性和实用价值。

2021-08-02

2021年系统架构复习笔记(按章节).docx

复习笔记涵盖了近10年架构师考试历年真题所有知识点,并补充了XS培训班辅导资料内容,适合有一定基础但没有太多时间去翻阅教材、总结归纳的同学,帮你快速获得通过考试所需的知识储备。

2021-03-18

系统分析师核心考点归纳.pdf

主要总结了近10年来软考高级系统分析师和架构师历年真题和XS培训视频包含的所有知识点,适合有一定基础但没有太多时间阅读教程和总结背记历年真题的同学快速达到参加考试所需的知识储备。

2021-03-18

软考学习笔记(重要).docx

主要总结了近10年来软考嵌入式系统设计师历年真题所有考点,免去自己购买真题和总结背记的时间花销,适合有一定嵌入式基础,又没有太多时间完整看完教程和真题的同学。

2021-03-18

操作系统知识.pdf

计算机软件能力和技术测试考试中的操作系统知识,软考高级中系统分析师和架构师的必备知识点,需要的同学赶紧下载吧!!!!

2020-08-12

自写嵌入式系统设计师考试笔记.doc

我是去年考过的计算机技术与软件专业技术资格(水平)考试中的中级嵌入式系统设计师,成绩也不错,这是我看书,培训中总结的笔记,很重要,现在供大家下载。

2020-07-28

历年真题12-18.zip

计算机技术与软件专业技术资格(水平)考试2012年至2018年的下午考题,有需要的同学可以下载下来看看。做真题真的很重要的,重要的事情说3遍:做真题真的很重要的。做真题真的很重要的。做真题真的很重要的!

2020-07-28

RIO包-用于网络编程的健壮读写函数.md

它会自动处理你上下文中所述的不足值,提供了方便/健壮和高效的IO。 本代码分别提供了无缓冲和带缓冲的输入输出函数: 无缓冲:rio_readn和rio_writen 带缓冲:rio_readinitb、rio_readlineb、rio_readnb

2020-03-26

picgo_typora.zip

内含2个安装包,一个是Picgo-2.2.0 一个是typora。二者加起来可以方便的在利用typora编写markdown语法的文章时插入图片,便于多平台传递、查看markdown文章。

2020-03-25

一文教你如何构建静态链接库.md

主要描述如何构建自己的静态库。话说ISOC99有自己的一系列标准C函数库,例如我们熟悉的libc.a(包含标准I/O函数、字符串操作函数和整数数学函数)和libm.a(浮点数数学函数),可供我们在使用gcc编译工具编译程序时调用。那么,如果我们在日常学习或项目开发中积累了许多好的函数,希望日后在其他项目中能够复用时,我们又该如何去保存他们呢?今天我就告诉大家怎么办?

2020-03-19

空空如也

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

TA关注的人

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