自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (12)
  • 问答 (1)
  • 收藏
  • 关注

原创 光栅化算法毕设研究中硬件设计的一些问题

在做硕士毕设的过程中,写Verilog的时候遇到了一些问题,所以开一个记录贴记录一下。1.组合逻辑always@(*)描述中,星号包含了这个程序块中的所有输入信号。举个例子:always@(*) if(a == 1) b = c + 1;这个代码中,因为对a要做判断,所以a也是输入信号,而b = c + 1,c自然也是b的输入信号,所以当a和c的信号变换时,这个程序块就会被执行。因此最好不要出现一下代码块:always@(*) if(b == 2) b = b + 1这种情况相当于

2021-12-13 11:27:47 633

原创 win10系统下EDK2的环境配置

具体操作步骤可以参考这篇博客:https://blog.csdn.net/howwold/article/details/108978815下面介绍一些踩坑的地方:1.环境变量要配好,比如有要配NASM_PREFIX=C:\nasm,在PATH中要配置成NASM_PREFIX=C:\nasm\,不然在编译的时候nmake会报错,出现error 7000: Failed to execute command,编译过程中fatal error会有提示C:\nasmnasm Stop.2.如果出现error

2021-04-08 08:56:32 1996 3

原创 记录如何找到alinx添加的驱动文件

比如最近在找需要添加的ALINX 7511 Encorder Driver那么从Kconfig里入手,找Device Driver,之后在driver文件夹里的Kconfig中发现了Device Driver这个menu然后找Graphics support,在这个Kconfig里面source的文件的文件里找,最后在driver下的video的Kconfig发现然后找ALINX 7511 Encoder Driver这个项,这个应该drm框架里的,所以找source的drm/Kconfig找

2021-03-22 17:34:29 493

原创 嵌入式地址杂谈

最近对嵌入式中的地址有了更深入的认识,简单记录一下。以STM32F103为例,在寄存器模板中我们都知道只要对寄存器简单地进行赋值就可以完成流水灯等操作,那么这些寄存器是怎么封装的呢?首先,先通过一串的宏定义确定了硬件的基地址,以STM32F103中的GPIOB为例:在stm32f10x.h这个头文件中首先定义:#define GPIOB_BASE (APB2PERIPH_BASE + 0x0C00)#define APB2PERIPH_BASE (PERIPH_B

2021-03-16 14:01:35 1081

原创 Vivado高速时钟差分走线布线

最近想把M3的内核移植到一块开发板上,但使用的开发板的时钟是200M的,走线是差分走线,在布线那块发现死活不能把IO设置DIFF_SSTL15,没办法直接把开发板参考的XDC文件拷过来,结果就报错了:[DRC IOSTDTYPE-1] IOStandard Type: I/O port CLK200m is Single-Ended but has an IOStandard of DIFF_SSTL15 which can only support Differential网上搜的答案要么看不懂要么一

2021-03-02 15:28:06 3663

原创 Linux-IIC驱动

详细的分析过程可以看:https://www.cnblogs.com/lifexy/p/7816324.html这里只对IIC的大致框架进行梳理:I2C主机驱动(主要用于输出波形)首先,定义了一个platform_driver类型的驱动s3c2440_i2c_driver,它的名字是s3c2440-i2c。接着,在s3c2440_i2c_probe函数中,定义了一个s3c24xx_i2c类型的结构体,名字是**&s3c24xx_i2c**,这个结构体中还包含了一个i2c_adapter结构体

2021-02-24 14:02:19 141

原创 Linux驱动中设备树相关内容分析

主要是对Linux的驱动中设备树相关属性进行分析:在使用设备树后,驱动需要与.dts中描述的设备节点进行匹配,从而使驱动的probe()函数执行。对于platform_driver而言,需要添加一个OF匹配表,这个东西就是platform_driver中的driver变量的of_match_table属性。对of_match_table属性进行赋值时,需要定义一个of_device_id的结构体,如下图所示:of_device_is_compatible用于判断设备节点的兼容属性是否包含compat

2021-02-24 09:37:57 500

原创 JTAG与SWD连接方式

先上图图中可以看出SWD所需的连接口明显小于JTAG,接下来简要介绍下连接方式。SWD:只需连接SWDIO,SWCLK,GND,VCC(有的时候也不需要连)JTAG:必须连接VCC,GND,TMS、TCLK、TDI、TDO,可选连接TRST、RESET复位信号和RTCK(同步时钟)信号。...

2021-02-17 17:56:43 6697

转载 Linux 硬链接与软链接(符号链接)的区别

https://www.cnblogs.com/hirampeng/p/11627533.html这篇博客讲得好!

2021-02-04 21:17:11 125

转载 《鸟哥的Linux私房菜》学习笔记

以下内容从《鸟哥的Linux私房菜》书中摘录目录第0章第0章0.1.2:CPU的架构世界上常見到的兩種主要 CPU 架構, 分別是:精簡指令集 (RISC) 與複雜指令集 (CISC) 系統RISC:這種 CPU 的設計中,微指令集較為精簡,每個指令的執行時間都很短,完成的動作也很單純,指令的執行效能較佳; 但是若要做複雜的事情,就要由多個指令來完成。常見的 RISC 微指令集 CPU 主要例如甲骨文 (Oracle) 公司的 SPARC 系列、 IBM 公司的 Power Architectur

2021-02-02 18:17:20 290

原创 Linux小要点记录

sudo find / -name *.ko

2021-01-27 15:16:28 76 1

原创 何小龙——DRM 驱动程序开发(VKMS)部分代码修正

原博客地址如下:https://blog.csdn.net/hexiaolong2009/article/details/105180621在驱动例程的示例4当中,有一个函数drm_fb_cma_creat找不到,如下:static const struct drm_mode_config_funcs vkms_mode_funcs = { .fb_create = drm_fb_cma_create,};上网搜了一下,发现这个东西:发现rockchip里有类似的定义,于是开始翻源码,发现:

2021-01-21 11:21:24 1321 2

原创 Linux字符设备注册所用函数

设备节点被创建在/dev下,在Linux中,所有设备都以文件的形式存放在/dev目录下,都是通过文件的方式进行访问,设备节点是Linux内核对设备的抽象,一个设备节点就是一个文件。应用程序通过一组标准化的调用执行访问设备,这些调用独立于任何特定的驱动程序。而驱动程序负责将这些标准调用映射到实际硬件的特有操作。设备节点,驱动,硬件设备是如何关联到一起的呢?这是通过设备号实现的,包括主设备号和次设备号。当我们创建一个设备节点时需要指定主设备号和次设备号。应用程序通过名称访问设备,而设备号指定了对应的驱动程序

2021-01-18 09:51:35 330

原创 Linux驱动学习笔记

记录一些自己以前不知道的点:1.Linux头文件位置是在Linux源码目录下里的。类似#include<linux/module.h>头文件,它是在include/linux/module.h2.

2021-01-13 15:40:38 358

原创 最全的交叉编译Makefile讲解

最近正在搞交叉编译,学习了一下Makefile的编写,记录一下Makefile内代码是什么意思。代码如下:(简单的hello.ko的makefile)ifneq ($(KERNELRELEASE),)obj-m += hello.o elsePWD := $(shell pwd)KDIR := /home/xuejunjie/raspberry_src/linux-rpi-5.4.yall: make -C $(KDIR) M=$(PWD) modules ARCH=arm CROSS

2021-01-08 14:22:20 6287

原创 Booth理解与Booth改进版的由来

Booth的理解可以看这篇文章:https://blog.csdn.net/ZHjiao_1997/article/details/52475498后期的话有时间举个例子Booth改进版的由来:首先,一开始的Booth表如图:PS:关于为什么可以看上述链接博文改进后的Booth表(应该是积4)如图:这个主要是从原先的Booth表得来的:举个例子010可以看作(01)(10)(10)对应的是-B(01)对应的是左移后加自身也就是+B<<1=+2B所以010对应的是2B-B

2020-10-22 00:43:14 726

原创 黑金AX301开发板SPI通信详解

前言:对黑金的AX301开发板的SPI工程进行了波形仿真,写一下自己的理解。背景:项目地址:过程解析:(1)文件夹名:spi_flash_test没有进行按键触发的仿真图波形说明:Spi_flash_test定时3ms以后,进入S_READ状态,flash_read <= 1’d1,flash_read_addr <= 24’d0;Spi_flash_ctrl接收到flahs_read信号后,进入S_READ状态,cmd <= `CMD_READ,cmd_valid &lt

2020-09-21 19:04:13 881

原创 黑金AX301开发板I2C通信详解

前言:最近无聊在用OpenCores寻找IP核练习的时候正好想起黑金AX301开发板中的I2Cdemo用到了OpenCores上的一个I2C的核,所以为了以后好对I2C开发,对这个核进行了一点研究。背景:项目地址:介绍:对黑金的I2C demo进行了一定的删减,去掉了按键部分的触发以及数码管显示,改用在testbench中的addone信号进行一个激励。由于自己写的testbench中没有对I2C器件进行一个仿真,所以本项目中一直处于写失败的状态,所以没有读状态的信号仿真。过程解析:定时3ms以

2020-09-01 11:37:20 1214

原创 FPGA过程中的一些警告解决

本帖用于记录FPGA中的一些警告的解决:编译环境:Quartus II警告1:Warning (12241): 1 hierarchies have connectivity warnings - see the Connectivity Checks report folder原因:出现“hierarchies”这个词基本上是模块例化的问题。一般例化时,要是哪个连线没引出,没接上,或者是位宽不匹配就会出这个警告。解决方法:调出Compilation Report调出方法:1.工具栏上,在

2020-08-15 12:52:10 3111

原创 OpenCores 串口IP核使用记录

IP核来源:https://opencores.org/projects/uart2bus仅使用了这个IP核当中的串口收发模块。波特率计算公式解释:计算公式:baud_freq=16*baud_rate/gcd(global_clock_freq,16 * baud_rate)baud_limit = (global_clock_freq / gcd(global_clock_freq, 16*baud_rate)) - baud_freq注意:baud_limit为计数器计数上限,系统时钟计

2020-08-15 00:20:04 1236 1

原创 单精度浮点数的数学计算

一.将十进制数变为二进制数十进制的小数转换为二进制,主要是小数部分乘以2,取整数部分依次从左往右放在小数点后,直至小数点后为0。例如十进制的0.125,要转换为二进制的小数。举例:0.125(十进制变为二进制)将小数部分0.125乘以2,得0.25,然后取整数部分0再将小数部分0.25乘以2,得0.5,然后取整数部分0再将小数部分0.5乘以2,得1,然后取整数部分1则得到的二进制的结果就是0.001二.把二进制数变为浮点数源先将十进制转换后的二进制数调整尾数,比如:11.1001应该变成1

2020-08-09 01:00:05 7665 2

原创 STM32F103滴答计时器之delay函数

如果使用FreeRTOSvoid delay_us(u32 nus){ u32 ticks; u32 told,tnow,tcnt=0; u32 reload=SysTick->LOAD; ticks=nus*fac_us; tcnt=0; delay_osschedlock(); told=SysTick->VAL; while(1) { tnow=SysTick->VAL;

2020-07-26 23:52:41 2617

原创 FPGA学习回顾之IIC的使用

硬件:黑金AX301教程:黑金附赠教程用途:记录FPGA中IIC的信号走向以及实施过程i2c_master_top的状态机走向:顶层i2c_write_req为1S_IDLE——>S_WR_DEV_ADDR——>S_WR_REG_ADDR(——>S_WR_REG_ADDR1(如果i2c_addr_2byte=1))——>S_WR_DATA——>S_WR_STOP——>S_WR_ACK——>S_WAIT——>S_IDLE顶层i2c_

2020-07-26 23:01:44 448

原创 FPGA学习回顾之SPI的使用

硬件:黑金AX301教程:黑金附赠教程用途:记录FPGA中SPI的信号走向以及实施过程程序顶层(spi_flash_test)状态机走向:S_IDLE——>S_READ——>S_WAIT(等按键按下)——>S_SE——>S_PP——>S_READ——>S_WAIT。**程序模块(spi_flash_top)实施过程:cmd=spi_flash_cmdctrl=spi_flash_ctrlmaster=spi_master以顶层Flash_read=1为例

2020-07-26 11:37:52 815

原创 PCB绘制学习心得

通过学校的培训,补充了一些之前PCB学习中不知道的东西,进行记录。一.PCB设计要素1.各层的含义(1)信号层(Signal Layers): 信号层包括顶层( Top Layer ) 、 底层( Bottom Layer ) 、 中间层( Mid Layer1···N)。这些层都是 具有电气连接的层,也就是实际的铜层,这些层布的是导线。(2)内电层(Internal Plane):该类型的层仅用于多层板,一般连接到地或电源,成为电源层 和地层,也具有电气连接作用, 也是实际的铜层,但该层一般 情况

2020-07-22 11:00:09 4467

原创 AD个人常用快捷键记录

避免以后太长时间没用忘记AD快捷键F2 拉线F3 过孔F4 敷铜F9 矩形排列Alt+F4 重新敷铜Alt+F2 测量距离Alt+· 删除线Alt+5 等间距走线7 割铜2 线选3 框选M 坐标移动Ctrl+M 测量距离N 显示隐藏飞线A 对齐CTRL+点击:高亮Shift+S:只能编辑和显示当前层在选中元器件时,可以通过tabel健对选中的元器件进行命名Ctrl+快捷键:更改快捷键CTRL+SHIFT+选中元器件+方向键:使元器件向指定方向移动拖动器件按L换层A

2020-07-22 10:39:34 762

原创 FPGA学习回顾

最近正在重新学习FPGA开发,把之前忽略的一些点记录下来,以便日后进行查阅。1.Output 和Output reg的区别这个问题的回答具体可以看这篇博客:https://blog.csdn.net/crjmail/article/details/105771612总结来说,如果在一开始module中声明的是Output,那么最终需要用assign对Output进行说明。但是如果是Output reg的话,则不需要用assign对输出端口进行说明,对这个reg进行赋值即可。2.RAM的分类单口与双

2020-07-19 22:43:27 1436

原创 STM32库函数文件结构说明整理

最近深感自己学习STM32过于短浅,趁着有时间补充了一些STM32的基本知识,用博客记录一下,话不多说进入正题。本文可用于刚开始学习STM32的同学更好地进行STM32开发。所用硬件:正点原子STM32F1精英版(芯片型号:STM32F103ZET6)常见问题解答:1.正点原子里标准例程分为寄存器,库函数和HAL库,这些都是什么区别?解答:寄存器的例程中就是直接对硬件的寄存器进行操作,类似51的开发。举个例子:RCC->APB2ENR|=1<<3;RCC->APB2E

2020-07-10 21:29:20 1860 1

原创 探究FPGA串口发送时次次丢失第一个字符

由于当时在STM32的板子也偶尔出现串口发送的时候老是丢第一个字符,这次在FPGA上进行串口发送时也发现了这个问题,好在FPGA更底层点,所以花了点时间找原因。直接进入正题。FPGA:黑金AX301B,芯片型号EP4CE6F17C8N,用的是uart_test的代码,代码结构如下:运行以后:把提供的源码的uart_tx里的tx_reg <= tx_data_latch[bit_cnt]改成tx_reg <= tx_data[bit_cnt];或者把else if(state == S_

2020-05-13 21:18:14 860

原创 基于Matalab的连续信号分析与离散信号分析

最近正在学习数字信号处理,由于后期可能会用到Matalab进行信号分析,所以将Matalab中一些重要的信号分析函数进行记录。绘图函数:进行线性绘图:plot(x,y,‘option’) or plot(x1,y1,‘option1’,x2,y2,‘option2’)进行符号函数绘图:ezplot进行离散序列绘图:stem进行阶梯图绘图:stairs数学运算:微分运算:diff(fu...

2020-05-08 15:56:19 1493

原创 如何将自己写的代码上传到github上

正好今天遇到想把代码上传到Github,网上搜了一会,感觉这个方法最好用,记录一下:具体带图的链接看:https://www.cnblogs.com/gushiren/p/9516319.html总结就是:先建新的仓库:create new repository(如果没有配置过Git Setting的还需配置一下SSH Key,具体过程链接里有,这里只是一般步骤)然后cd到指定文件夹接...

2020-04-18 13:03:01 171

原创 记录帖——项目中出现的某些问题

1.问题:自制的PCB板串口出现某些未知的错误硬件平台:芯片是STM32F103RBT6,引出了3个串口,1个I2C,SWD烧写。USART1接ESP8266,用于输出字符串;USART2接MPU6050(串口输出);USART3接GPS;I2C1接MS5611问题描述:程序就是USART1不断输出字符‘1’,但是读取串口的时候发现仅读到3个字符‘1’。解决方法:把MPU6050断开,串口1...

2020-04-05 09:23:27 191

原创 基于正点原子STM32F103精英板IIC实验的MS5611气压计的使用

基于正点原子STM32F103精英板IIC实验的MS5611气压计的使用MS5611是一款气压计,能够提供高精度的气压值与温度值,这次做项目正好需要用到这款传感器,包括之前也没好好学习用过IIC,所以写下博客记录一下。如果有需要使用的朋友可以去https://download.csdn.net/download/a792544191/12115530下载,我把代码资源放到里面了,如果是STM3...

2020-01-20 16:52:09 1838

转载 DXP,AD完美解决 Unknown Pin 和Failed to add class member 问题-不用新建PCB

看到篇好文章,不用新建PCB就能解决问题:地址如下:http://www.51hei.com/bbs/dpj-39227-1.html亲测有效,用的AD16。简洁来说就是清除网络再清除类,具体见攻略。还有,AD16在解决Unknown Pin的时候,得用下图操作才行剩下的按攻略走即可...

2019-07-24 23:10:29 1182

转载 STM32最小系统板电容的选取

这篇文章解决了我在画STM32F103最小系统板时的很多疑问,比如电容的选取等,希望能帮到大家!https://wenku.baidu.com/view/04337ec0aa00b52acec7ca01.html

2019-07-21 13:10:31 2473

原创 基于STM32F429的STM32 Cube.Ai尝鲜

听说了ST公司新出了人工智能库,网上的教程是基于STM32F767ZI的开发,因为手里只有STM32F429的板子,看介绍F4的板子应该也支持,所以试着用F4的板子进行开发,希望能够帮到大家!关于STM32F767ZI的开发可看:http://bbs.21ic.com/icview-2611188-1-2.htmlhttp://bbs.21ic.com/icview-2612346-1-1....

2019-07-15 16:35:41 5652 8

原创 关于大电容通低频电,小电容通高频电,大电容滤低频,小电容滤高频的问题解释

由于正在学习STM32最小系统板的绘制,在学习设计STM32最小系统板的电源模块时,发现原理图在电源附近往往会并上一个10UF以及0.1UF的电容,于是产生了以上疑问,在查阅了大量解释之后,总结如下:一.关于大电容通低频电,小电容通高频电的问题解释由于容抗Xc=1/(2πfC),当C较小时,如果f也较小,那么容抗就很大,于是对于小电容,低频电是无法通过的,因此小电容更容易通过高频电。那么,我就...

2019-02-10 18:07:38 4775 4

原创 关于Visual Studio 2017 无法登录:我们无法刷新此账户的凭证、我们无法添加此账户发送请求时出错的问题解决

VS30天的评估期过后,虽然我一直在登录自己的账号,但仍无法使用,使用网上各种方法都不可以,无法解决。退出账号后再次登录,怎么样都登录失败,提示:我们无法刷新此账号的凭证。之前看网上说的很多什么用热点,用IE11默认浏览器,重启机子等等,这些方法我都试了一下,最后觉得以下方法比较靠谱:一.在弹出要登录的窗口之前,迅速的点击菜单的帮助—发送反馈----报告问题;在弹出的界面中输入账户和密码。...

2019-02-06 11:33:45 12456 8

原创 关于STM32F103库函数以及HAL函数的一些坑:

关于STM32F103库函数以及HAL函数的一些坑:1.在调试中,STM32F103库函数的main函数不知道为什么会连续执行三次,在调试串口时发现:void main(){usartinit();printf(“1”);}之后上位机接受到3个‘1’,在调试中发现main跑了三次,而HAL库中main只调用一次,虽然不知道原因,但是若想要改正,可这么写:void main(){...

2018-12-19 22:40:31 5127 2

EDK2模拟器源码(亲测可用)

EDK2模拟器的源码,可实现EDK2模拟器+OVMF+QEMU的环境,环境变量可以自己按网上攻略或者看我的博客配好就行了

2021-04-21

rockchip_drm框架介绍

rockchip_drm的框架介绍,里面还有我收集的DRM框架的基础知识以及对rockchip_drm的一系列代码的解释

2021-04-21

Android智慧课堂APP

自己用Android写的一个手机APP,能够完成注册,网页浏览,课表查看等功能

2021-04-21

bishe-5V -DoubleASM1117.rar

自己毕设画的STM32F103的最小系统板,引出了3个串口和一个I2C,希望能起到一个借鉴作用

2021-04-21

AD软件的封装库和原理图库

AD软件的封装库和原理图库,内容比较全,而且有教你怎么找所需要的封装,之前画PCB一直都是用这些库,效果很好

2021-04-21

ARM内核相关参考资料

从ARM官网上搜集的一些关于ARM总线设计和Cortex-M3内核使用相关的资料,之前为集创赛做准备的时候找的。

2021-04-21

EFI SHELL启动文件

把里面的BOOTX64.EFI或者BOOTIA32.EFI文件拷到U盘里,路径应该是\efi\boot,64位系统选X64,32位系统选IA32,然后把U盘设为最先启动模式就可以进入EFI命令行了,之后就可以通过命令行来调试自己写的efi文件了

2021-04-21

黑金AX301SPI仿真波形介绍

对黑金的SPI demo进行了仿真,激励文件主要用的是官方提供的,根据程序对波形图进行了一些解释与分析

2020-09-21

黑金AX301_I2Cdemo仿真与详解

对黑金的I2C demo进行了一定的删减,去掉了按键部分的触发以及数码管显示,改用在testbench中的addone信号进行一个激励。由于自己写的testbench中没有对I2C器件进行一个仿真,所以本项目中一直处于写失败的状态,所以没有读状态的信号仿真。

2020-09-02

i2c_test.rar

对黑金的I2C demo进行了一定的删减,去掉了按键部分的触发以及数码管显示,改用在testbench中的addone信号进行一个激励。由于自己写的testbench中没有对I2C器件进行一个仿真,所以本项目中一直处于写失败的状态,所以没有读状态的信号仿真。

2020-09-02

MS5611.rar

本资源是基于正点原子精英板的IIC实验程序(库函数),在其中修改了部分IIC函数以及新添了MS5611的库函数内容,为了便于用户理解,安装包内含MS5611的数据手册。

2020-01-20

MS5611.rar

本资源是基于正点原子精英板的IIC实验程序(库函数),在其中修改了部分IIC函数以及新添了MS5611的库函数内容,为了便于用户理解,安装包内含MS5611的数据手册。

2020-01-20

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

TA关注的人

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