自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(179)
  • 资源 (3)
  • 收藏
  • 关注

原创 重定向fputc函数实现printf串口发送

重定向,就是重写库函数,对原函数进行覆盖,编译时优先调用重定向的用户函数。

2024-03-08 13:49:47 194

原创 关于C语言 const

1.用const修饰函数的参数,如果参数作输出用,不论它是什么数据类型,都不能加const修饰,否则该参数将失去疏忽从功能;

2024-01-19 13:38:19 362

原创 VScode全局搜索屏蔽、显示屏蔽指定文件类型及文件夹

【代码】VScode全局搜索屏蔽、显示屏蔽指定文件类型及文件夹。

2024-01-13 13:09:33 877 1

原创 gitlab环境准备

修改/etc/gitlab/gitlab.rb中的external_url配置访问页面,因为我是本地的虚拟机中安装的,所以可配置虚拟机的IP地址 external_url ‘http://localhost’安装邮件服务的时候会出现邮件配置,使用左右键和回车键选择确定、取消,弹出列表选项的时候,选择Internet Site。gitlab官网下载速度较慢且后续配置较麻烦,所以使用清华大学镜像,网址如下。gitlab只支持linux系统,本人使用Ubuntu作为操作系统,

2023-11-19 18:37:33 866 1

原创 FPGA内部结构、内容及面试题

xx。

2023-06-24 18:25:35 197

原创 KEIL5中头文件路劲包含问题

KEIL5中头文件路劲包含问题

2023-03-08 14:47:14 4110

原创 Libero_SoC_v12.2_win软件及License下载安装教程

Libero_SoC_v12.2_win软件及License下载安装教程

2022-11-17 18:19:10 420

原创 编译VIVADO 错误Spawn failed:No error

Spawn failed:No error

2022-09-02 15:29:22 6616 3

原创 J-Link下载程序时无法连接

Could not establish a connection to target.

2022-08-16 10:09:43 6765

原创 verilog 异步复位、同步释放

verilog 异步复位、同步释放

2022-08-07 16:52:34 1092

原创 同步FIFO设计

同步FIFO

2022-08-07 15:14:49 94

原创 RTX os error问题debug

RTX os error问题debug

2022-08-03 16:10:26 659

原创 DP83848+网线热拔插

DP83848+网线热拔插

2022-06-25 17:23:43 1208

原创 FPGA简单状态机modulesim仿真实例

FPGA简单状态机modulesim仿真实例

2022-06-04 20:54:08 374

原创 STM32H7 emWin用SDRAM做显存时的闪屏问题

屏幕运行一会儿会闪一次的问题这个问题只有在大批量对SDRAM快速操作时才容易出现,特别是仅使用了SDRAM,且将其作为LCD显存的同时,还使用SDRAM狂刷图。解决办法如果在程序中没有使用FMC NE1到NE4这个BANK,而仅使用了SDRAM和NAND(特别是仅使用了SDRAM),将NE1到NE4这4个驱动禁止即可解决。__FMC_NORSRAM_DISABLE(FMC_NORSRAM_DEVICE, FMC_NORSRAM_BANK1);__FMC_NORSRAM_DISABLE

2022-05-23 11:09:06 1027 2

转载 ModelSim 仿真实例

1.在全英文路径下创建如下2个文件源文件:decode38.vmodule decode_38( keyin, led, clk);input clk;input [2:0]keyin;output [7:0]led;reg [2:0]read_key;reg [7:0]led;always@(keyin) begin read_key=keyin; case(read_key) 3'd0: led=8'b1111_1110; 3'd1: led

2022-05-20 23:40:48 643

原创 vscode关闭C/C++红色波浪线

1.打开vscode的设置选项(File -> Preferences -> Settings)2.在搜索栏输入 squiggle3.将出现的 Error Squiggles 选项改为 Disabled

2022-04-18 16:10:59 3906 2

原创 单CPU的ARM原子操作

原子操作就是多线程程序中“最小的且不可并行化的”操作。对于在多个线程间共享的一个资源而言,这意味着同一时刻,多个线程中有且仅有一个线程在对这个资源进行操作,即互斥访问。 单CPU的ARM中要保证资源的原子性,同一资源不能两个及以上的线程有写操作;写操作实际过程(汇编级:1.变量从内从读入内核寄存器;2.修改变量;3.变量写回内存)如果不保证资源的原子性,举例如下全局 int count = 0;C语言级,预期执行一次结果count应该是 2:task1...

2022-03-08 11:07:05 763

原创 STM32 I/O Retargeting

1.半主机模式半主机是用于 ARM 目标的一种机制,可将来自应用程序代码的输入/输出请求传送至运行调试器的主机。 例如,使用此机制可以启用 C 库中的函数,如 printf() 和 scanf(),来使用主机的屏幕和键盘,而不是在目标系统上配备屏幕和键盘。这种机制很有用,因为开发时使用的硬件通常没有最终系统的所有输入和输出设备。 半主机可让主机来提供这些设备。半主机是通过一组定义好的软件指令(如 SVC)来实现的,这些指令通过程序控制生成异常。 应用程序调用相应的半主机调用,然后调试代理处理该异

2022-02-22 13:30:38 786

原创 STM32H7 DMA USART空闲中断接收不定长数据

1.关键设置2.代码2.1 bsp_usart.h/***********************************************************************************bsp_usart.h***********************************************************************************/#ifndef __BSP_USART_H__#define __BSP.

2022-02-11 17:15:42 1963

原创 (6) led驱动--分层设计--总线设备驱动模型

1.具体硬件控制---具体配置//led_opr.h #ifndef _LED_OPR_H#ifndef _LED_OPR_Hstruct led_operations { int (*init)(int which); int (*ctl)(int which,char status);};struct led_operations *get_board_led_opr(void);#endif//led_resource.h#ifndef _LED_RESOURCE_

2022-01-23 22:18:18 316

原创 (5) led驱动--分层设计--具体硬件控制(通用设置、具体配置)

1.具体硬件控制---具体配置//led_resource.h#ifndef _LED_RESOURCE_H#define _LED_RESOURCE_H//bit[31:16] = group//bit[15:00] = which pin#define GROUP(x) (x>>16)#define PIN(x) (x&0xFFFF)#define GROUP_PIN(g,p) ((g<<16)|(p))struct led_resou

2022-01-23 16:13:22 224

原创 (4) led驱动--分层设计-添加具体硬件控制

1.led硬件控制独立层//led_opr.h #ifndef _LED_OPR_H#define _LED_OPR_H struct led_operations{ int (*init)(int which);//初始化LED int (*ctl)(int which, char status);//控制亮(1)灭(0)}; struct led_operations *get_board_led_opr(void); #endif//board_100ask_im

2022-01-23 10:11:30 685

原创 (3) led驱动--分层设计

1.led具体硬件控制部分//led_opr.h#ifndef _LED_OPR_H#define _LED_OPR_Hstruct led_operations{ int (*init)(int which);//初始化LED int (*ctl)(int which, char status);//控制亮(1)灭(0)};struct led_operations *get_board_led_opr(void);#endif#include <linux/.

2022-01-22 22:56:28 387

原创 (2) led驱动--基础版

1.led驱动例程#include <linux/kernel.h>#include <linux/module.h>#include <linux/slab.h>#include <linux/init.h>#include <linux/fs.h>#include <linux/delay.h>#include <linux/poll.h>#include <linux/mutex.h>

2022-01-22 19:05:52 657

原创 (1) hello驱动---不涉及硬件操作

1.linux内核API:register_chrdev函数register_chrdev()调用函数__register_chrdev()实现其功能,函数__register_chrdev()首先调用函数__register_chrdev_region()创建一个字符设备区,此设备区的主设备号相同,由函数register_chrdev()的第一个参数决定,次设备号的变化范围是0~256,设备区的名字为函数register_chrdev()的第二个参数,此函数将更改/proc/devi...

2022-01-22 13:04:06 941

原创 (0) linux开发驱动前环境准备

1.为什么编译驱动程序前要先编译内核:1.由于驱动程序需要用到内核文件。2.编译驱动时用的内核和开发板上用的内核要一致,编译工具链也要一致。3.更换了内核的板子,其他驱动也需要更换为用同一内核编译生成的驱动。2.编译内核镜像...

2022-01-18 23:26:19 907

原创 分布式版本管理工具Git的使用

37651@DESKTOP-UUQ92CT MINGW64 ~/Desktop/GitTest$ git config --global user.name "zxp"37651@DESKTOP-UUQ92CT MINGW64 ~/Desktop/GitTest$ git config --global user.email "[email protected]"37651@DESKTOP-UUQ92CT MINGW64 ~/Desktop/GitTest$ git config --list.

2022-01-15 22:04:26 233

原创 一步一步理解Makefile

1.工程文件内容2.编译过程及运行3.makefile说明.PHONY:all clean #解析阶段执行(此行下边部分)SRCS = $(wildcard *.c) #获取当前目录下的.c文件OBJS = $(SRCS:.c=.o) #把SRCS的所有.c文件改为.o文件存入OBJSDEPS = $(SRCS:.c=.d) #把SRCS的所有.c文件改为.d文件存入OBJSBIN = mp3all: $(BIN) $(DEPS) .

2022-01-08 12:09:03 1754

原创 linux下动态库的生成与调用

1.动态库的生成 libdll.so2. 动态库的调用注意:需要将动态库复制到usr/lib目录下

2022-01-07 18:35:53 711

原创 linux下静态库的生成及调用

1.静态库生成 libmath.a2.静态库调用

2022-01-07 18:11:02 566

转载 一个通用Makefile

本程序的Makefile分为3类:顶层目录的Makefile 顶层目录的Makefile.build 各级子目录的Makefile1.顶层目录的MakefileCROSS_COMPILE = # 交叉编译工具头,如:arm-linux-gnueabihf-AS = $(CROSS_COMPILE)as # 把汇编文件生成目标文件LD = $(CROSS_COMPILE)ld # 链接器,为前面生成的目标代码分配地址空间,将多个目标文件链接成一个库或者一个可执行文件C

2022-01-03 23:29:02 1108

原创 静态环形队列(C语言)

typedef struct //数据内容根据实际可以随意变更{ int a; int b; int c; char str[100];}DataDef#define BUFFER_LEN 20 //环形队列长度static int Read = 0; //读计数static in...

2022-01-03 18:19:26 602

原创 linux下select()函数

1.I/O处理的模型有5种:1>.阻塞I/O模型在这种模型下,若所调用的I/O函数没有完成相关的功能,则会使进程挂起,直到相关数据到达才会返回。如常见的对管道、终端、网络设备进行读写时经常会出现这种情况。2>.非阻塞I/O模型在这种模式下,当请求的I/O操作不能完成时,则不让进程睡眠,而且立即返回。3>.I/O多路转接模型在这种模型下,如果请求的I/O模型阻塞,且它不是真正阻塞I/O,而是让其中的一个函数等待,在此期间,I/O还能进行其他操作;select()、p.

2021-12-31 17:19:16 2771

原创 linux下socket编程

socket编程的基本函数有socket()、bind()、listen()、accept()、send()、sendto()、recv()、recvfrom(),其中根据时客户端还是服务器端,或者根据使用TCP协议还是UDP协议,这些函数的调用流程都有所区别。这里先对每个函数进行说明。socket():该函数用于建立一个套接字,一条通信路线的端点。在建立了socket之后,可对sockaddr或sockaddr_in结构进行初始化,已保存所建立的socket地址信息。bind(...

2021-12-30 18:33:16 1634

原创 Linux下用pthread实现“生产者---消费者”的同步与互斥

#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <pthread.h>#include <errno.h>#include <semaphore.h>#include <sys/ipc.h>#include <string.h>#include <sys/types.h>#include <..

2021-12-29 21:20:26 620

原创 Linux进程间通信

1.无名管道它只能用于具有亲缘关系的进程之间的通信(父子进程或兄弟进程之间);它是一个半双工的通信模式,具有固定的读端和写端。管道也可以看成使一种特殊的文件,对于它的读写也可以使用普通的read()、write()等函数。但是它不是普通的文件,并不属于其他任何文件系统,并且只存在于内存中。代码//pipe#include <unistd.h>#include <sys/types.h>#include <sys/wait.h>#include

2021-12-28 16:00:24 903

原创 10个免费学术论文期刊网站

1.ResearchGate2.SCI-Hub3.Libgen4. Zlibrary5. 小木虫6. x-mol7. 虫部落学术搜索8. idata9. 科研通10. 大木虫学术导航...

2021-12-27 23:53:09 5702

原创 linux守护进程

守护进程,也是通常所说的daemon进程,是linux中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性的执行某些任务或等待处理某些发生的事件。通常在系统引导载入时启动,在系统关闭时终止。同时,守护进程还能完成许多系统任务。由于在linux中,每一个系统与用户交互的界面称为终端,每一个从此终端开始运行的进程都会依附于这个终端,这个终端称为这些进程的控制终端,当控制终端被关闭时,相应的进程都会关闭。但是守护进程却能够突破这种限制,它从被执行开始运转,直到接收到某些信号...

2021-12-27 11:49:39 765

原创 linux多任务编程

1.fork()函数fork()函数用于从已经从在的进程中创建一个新进程。新进程为子进程,原进程为父进程。在父进程中执行fork()函数时,父进程会复制出一个子进程,而且父子进程的代码从fork()函数的返回开始分别在两个地址空间中同时运行,从而使两个进程分别获得其所属fork()函数的返回值,其中在父进程中的返回值是子进程的进程号,而在子进程中返回0。因此,可以通过返回值来判断是父进程还是子进程。使用fork()函数的代价是很大的,它复制了父进程中的代码段、数据段和堆栈段里的大部分内容,使用for

2021-12-26 12:24:42 648

Qt界面跳转

Qt界面跳转

2017-07-30

截图软件FSCapture

截图软件FSCapture

2016-08-25

74ls芯片资料大全

芯片资料大全 74ls01 2输入四与非门 (oc) 74ls02 2输入四或非门 74ls03 2输入四与非门 (oc) 74ls04 六倒相器 74ls05 六倒相器(oc) 74ls06 六高压输出反相缓冲器/驱动器(oc,30v) 74ls07 六高压输出缓冲器/驱动器(oc,30v) 74ls08 2输入四与门 74ls09 2输入四与门(oc) 74ls10 3输入三与非门 74ls11 3输入三与门 74ls12 3输入三与非门 (oc) 74ls13 4输入双与非门 (斯密特触发) 74ls14 六倒相器(斯密特触发) 74ls15 3输入三与门 (oc) 74ls16 六高压输出反相缓冲器/驱动器(oc,15v) 74ls17 六高压输出缓冲器/驱动器(oc,15v) 74ls18 4输入双与非门 (斯密特触发) 74ls19 六倒相器(斯密特触发) 74ls20 4输入双与非门 74ls21 4输入双与门 74ls22 4输入双与非门(oc)

2010-11-06

空空如也

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

TA关注的人

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