whik1194
码龄6年
  • 460,370
    被访问
  • 166
    原创
  • 3,528
    排名
  • 12,359
    粉丝
关注
提问 私信

个人简介:电子电路开发爱好者,公众号:mcu149,博客:www.wangchaochao.top

  • 加入CSDN时间: 2016-11-18
博客简介:

whik1194的博客

博客描述:
分享MCU、ARM、RISC-V、FPGA等技术文章,公众号:电子电路开发学习,博客:www.wangchaochao.top
查看详细资料
  • 7
    领奖
    总分 3,221 当月 205
个人成就
  • 获得542次点赞
  • 内容获得286次评论
  • 获得3,817次收藏
  • GitHub 获得212Stars
创作历程
  • 9篇
    2022年
  • 32篇
    2021年
  • 48篇
    2020年
  • 67篇
    2019年
  • 12篇
    2018年
成就勋章
TA的专栏
  • SmartFusion从FPGA到ARM系列教程
    付费
    15篇
  • Microsemi Libero SoC系列教程
    付费
    21篇
  • NXP织女星开发板
    5篇
  • JLink使用技巧系列教程
    1篇
  • Qt
    11篇
TA的推广
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

读取Xilinx FPGA芯片的唯一ID号DNA

用过单片机的朋友都知道,单片机芯片内部都有一串序列号,比如STM32,称之为Unique device ID,是一个96Bit的只读数据。和单片机一样,FPGA芯片内部同样也有ID,以常用的Xilinx和Altera为例,Altera称之为Chip ID,Xilinx FPGA称之为Device DNA,上位机通过编程器先读取出芯片的ID,经过加密算法后生成密钥,下载程序的同时,向Flash中某个地址写入密钥。芯片上电之后,先读取芯片的ID,经过加密算法后,生成本地密钥,和Flash中的密钥相对比,若相同执
原创
发布博客 2022.06.10 ·
221 阅读 ·
1 点赞 ·
2 评论

国产FPGA芯片替代选型需要注意的几点

最近公司在进行FPGA国产化方案的准备工作,正在做市场的调研,也约了国内几家FPGA厂商的市场工程师来交流。关于FPGA,我算是半路出家,毕业后做了一年左右的MCU开发,后来由于项目需要接触到FPGA开发,然后学习了FPGA,之后就一直做FPGA相关的工作,其实我真正使用FPGA的时间也不过短短4年。电子电路开发学习精通STM32、FPGA实现流水灯,程序下载与擦除,IDE安装与卸载。 分享开源项目、板卡评测、学习笔记相关文章。 可能不会经常更新,但每一篇都是精心编写。170篇原创内容公众号本文来聊聊目前国
原创
发布博客 2022.06.10 ·
123 阅读 ·
0 点赞 ·
0 评论

在FPGA上搭建一个ARM Cortex-M3软核

上一篇文章介绍了ARM DesignStart计划,其中提到了Cortex-M1/M3 DesignStart FPGA版本,支持Xilinx和国产Gowin平台,本篇文章将手把手教你如何基于ARM DesignStart计划,在FPGA上搭建一个**Cortex-M3软核处理器**,以Xilinx Artix-7™系列FPGA为例,介绍如何定制一颗ARM Cortex-M3 SoC软核,并添加GPIO和UART外设,使用Keil MDK环境开发应用程序,Jlink下载、调试ARM程序,最终的实现效果是LE
原创
发布博客 2022.03.27 ·
3253 阅读 ·
3 点赞 ·
9 评论

ARM DesignStart计划——私人定制一颗ARM处理器

文章目录什么是ARM DesignStart计划?1.DesignStart Eval版本2.DesignStart FPGA版本3.DesignStart Pro版本4.DesignStart Physical&University版本Cortex-M3 Xilinx FPGA 软核下载什么是ARM DesignStart计划?2010年,ARM推出了ARM DesignStart计划,开放了1000+IP的物理版图,2015年开源Cortex-M0 IP评估版本,2017年开源Cortex.
原创
发布博客 2022.03.18 ·
719 阅读 ·
0 点赞 ·
0 评论

Notepad++配合Finger Text提高Verilog编码效率

文章目录简介安装方法使用方法配置文件的获取简介做FPGA开发的一般都不会选择IDE环境自带的编辑器,一是因为界面不够美观,二是自动补全功能不够完善。而我经常使用的是Notepad++,支持Verilog语法高亮和最基本的关键字补全,但是对于一些经常使用的模块,需要手动重复性的输入还不够完善,最近偶然发现一款插件,可以根据输入的关键字,自动生成一部分代码片段,非常方便。它就是Finger Text,是Notepad++的一款扩展插件。通过创建多个关键字和代码片段,可以大大提高编码效率,节省编码实现时间,
原创
发布博客 2022.03.13 ·
1615 阅读 ·
2 点赞 ·
4 评论

Xilinx Platform Cable USB II Firmware Loader无法识别/驱动安装失败解决办法

现象描述Xilinx Platform Cable USB II无论是官方的DLC10,还是第三方的DLC9均无法 识别,表现为以下几种:Xilinx官方DLC10下载器,插上US线,红灯不亮,或者连接上FPGA芯片后,红灯没有变为绿色。设备管理器里显示为Xilinx Platform Cable USB II Firmware Loader或者带感叹号的Xilinx USB Cable以上几种情况大多都出现在Win10环境下同时安装了ISE和Vivado导致的,都表示驱动没有正确安装。解决办
原创
发布博客 2022.03.08 ·
917 阅读 ·
1 点赞 ·
3 评论

Microsemi Libero免费版License申请教程(2022年)

Microsemi Libero SoC开发环境License申请流程,由原来的Microsemi官网改为了Microchip官网申请。
原创
发布博客 2022.02.27 ·
902 阅读 ·
0 点赞 ·
4 评论

C语言实现的简易日志log库,带颜色显示

log.c文件/**日志打印示例。使用:Log(DEBUG, "This is debug info
");结果:[2018-07-22 23:37:27:172] [DEBUG] [main.cpp:5] This is debug info默认打印当前时间(精确到毫秒)、文件名称、行号。*/#include <stdarg.h>#include <stdio.h>#include <string.h>#include <time.h&.
原创
发布博客 2022.01.10 ·
270 阅读 ·
1 点赞 ·
0 评论

C语言实现获取文件后缀、修改后缀

用于实现读取某个类型的文件,如txt,然后对文件内容进行处理之后,输出到另一个文件csv。需要根据指定的输入文件绝对路径,得到修改后缀之后的文件绝对路径,用于在本地创建。首先是获取文件绝对路径字符串中的后缀(扩展名),实现思路是,右边第一.之后的字符串就是文件扩展名。/* pFilePath:文件的绝对路径 pOutFileExt:文件的后缀名 pOutFileName:不含文件后缀的文件路径 return:0-执行成功, -1-执行失败*/int GetFileE
原创
发布博客 2022.01.09 ·
1017 阅读 ·
1 点赞 ·
0 评论

C语言控制台实现进度条

#include <windows.h>#include <stdio.h>static const char *ponit[]= {"\x20\x20", "\xA8\x87", "\xA8\x86", "\xA8\x84", "\xA8\x83", "\xA8\x80"}; // ▏▎▍▊█//int per 百分比范围(0 ~ 100)void progress_bar(int per){ int i=0; int num0=0; .
原创
发布博客 2021.10.03 ·
316 阅读 ·
1 点赞 ·
1 评论

使用ISE iMPACT实现一键bit转mcs,bit文件下载,mcs文件下载

文章目录目录准备工作一、iMPACT命令行实现bit转mcs二、iMPACT命令行实现bit文件下载三、iMPACT命令行实现mcs文件下载目录命令行实现一键bit转mcs命令行实现一键bit文件下载命令行实现一键mcs文件下载Xilinx FPGA支持bit和mcs格式程序文件,bit文件通常用于调试,会下载到片上RAM,掉电数据丢失,mcs文件会下载到外挂的SPI Flash,掉电数据不丢失,启动时,FPGA芯片先读取SPI Flash数据,然后将数据转移至RAM中运行。bit文件可以转
原创
发布博客 2021.07.25 ·
1113 阅读 ·
0 点赞 ·
0 评论

Xilinx Bit文件格式详解

文章目录Xilinx Bit文件如何生成Xilinx Bit文件格式参考资料Xilinx FPGA支持多种程序文件格式,如.bit/.bin/.rbt/.isc,最常用的为.bit格式,一般用于调试时下载到FPGA片内RAM,掉电会丢失,量产时将.bit文件转换为.mcs格式文件,固化到外部Flash内。比如在一些特定情况下,我们只有一个.bit文件,我们如何获取到以下信息呢?Bit文件所对应的FPGA芯片信息,如型号,封装等Bit文件所对应的FPGA工程的顶层设计名称Bit文件所生成的时间,日
原创
发布博客 2021.07.25 ·
2844 阅读 ·
0 点赞 ·
3 评论

HEX(Xilinx MCS)文件格式详解

文章目录自己定义个文件格式HEX文件格式详解HEX 文件是指以hex为后缀,采用Intel-HEX编码规则的文件,可以直接使用文本编辑工具打开。通常用来对微控制器或ROM进行编程,本质上都是对存储器编程,其中包含了每个地址对应的数据。Xilinx 用于程序固化的MCS文件虽然是以.mcs后缀命名,但其本质是hex文件,把后缀改成.hex后,可以直接使用文件工具打开,符合Intel-HEX文件格式。自己定义个文件格式比如,我们有10个数据,需要存放在10个地址,我们可以自己定义一个文件格式:地址a1
原创
发布博客 2021.07.24 ·
1614 阅读 ·
2 点赞 ·
1 评论

Xilinx FPGA支持的SPI Flash配置芯片型号

文章目录支持的SPI Flash芯片型号7 系列的FPGA支持的SPI Flash芯片型号Virtex和Spartan系列支持的SPI芯片型号支持的BPI Flash芯片7系列支持的BPI Flash芯片型号Virtex和Spartan系列支持的BPI芯片型号ZYNQ支持的QSPI Flash芯片型号ZYNQ系列支持的NOR Flash芯片型号ZYNQ系列支持的NAND Flash芯片型号众所周知,大多数FPGA芯片都会外挂一片Flash芯片,用于存储FPGA的程序文件。FPGA程序下载分为两种,一种是
原创
发布博客 2021.07.24 ·
2777 阅读 ·
3 点赞 ·
9 评论

Modbus驱动库—libmodbus驱动库的使用

文章目录为什么要使用驱动库?libmodbus简介libmodbus常用函数Windows平台libmodbus 使用1.获取源代码2.生成config.h配置文件3.编写测试代码4.编译测试代码Linux平台下libmodbus使用ARM平台下libmodbus使用libmodbus 从机地址限制的问题这篇文章是接上一篇Modbus协议简介,介绍Modbus实际项目应用,断断续续写了近两周时间。为什么要使用驱动库?上一篇文章,我们介绍了Modbus协议物理层和协议层,我们知道了Modbus是一种总线
原创
发布博客 2021.07.22 ·
6380 阅读 ·
3 点赞 ·
1 评论

免费/中文/功能强大的Modbus调试软件:MThings

文章目录什么是Modbus调试软件MThings简介MThings下载与安装MThings使用教程MThings软件界面什么是Modbus调试软件简单来说,Modbus调试软件就是串口助手,或网络调试调试助手,只不过增加了协议分析,CRC计算报文帧拼接的功能。上一篇文章介绍了Modbus协议,物理层和协议层,主要包括3种模式:Modbus-RTU、Modbus-ASCII和Modbus-TCP。前两种是基于串口的,后一种是基于TCP网口的。基于串口的,我们完全可以使用普通的串口助手,如sscom,x
原创
发布博客 2021.07.22 ·
2929 阅读 ·
3 点赞 ·
3 评论

FPGA Verilog实现二进制转BCD码2

Binary to BCD ConverterFrom: Binary to BCD Converter (johnloomis.org)Shift and Add-3 AlgorithmShift the binary number left one bit.If 8 shifts have taken place, the BCD number is in the Hundreds, Tens, and Units column.If the binary value in any of t
原创
发布博客 2021.07.20 ·
330 阅读 ·
0 点赞 ·
0 评论

FPGA Verilog实现二进制转BCD码

文章目录转换原理verilog实现方法1:纯组合逻辑实现方法2:采用状态机实现位宽可变方法3:个人写的基于状态机的BCD码转换转换原理二进制转BCD码可以采用Double_dabble算法,维基百科有详细介绍,简单可称为“移位加3”算法。8位二进制数243,移位加3计算过程:16位二进制65244,移位加3计算过程:verilog实现方法1:纯组合逻辑实现来自维基百科的实现。可以看出,二进制位宽为W,则BCD位宽只需要(W + (W - 4) / 3+1)位。如W=8,只需要10位,范围0
原创
发布博客 2021.07.16 ·
1384 阅读 ·
4 点赞 ·
6 评论

一文看懂Modbus协议

文章目录Modbus是什么?4种数据类型3种传输模式3类功能码数据帧格式Modbus-RTU数据帧Modbus-ASCII数据帧Modbus-TCP数据帧两种请求模式单播模式广播模式Modbus地址规则Modbus扩展版本标准文档下载Modbus是什么?Modbus协议,首先从字面理解它包括Mod和Bus两部分,首先它是一种bus,即总线协议,和I2C、SPI类似,总线就意味着有主机,有从机,这些设备在同一条总线上。Modbus支持单主机,多个从机,最多支持247个从机设备。关于Mod,因为这种协议最
原创
发布博客 2021.07.07 ·
3446 阅读 ·
7 点赞 ·
6 评论

XML文件格式详解及Qt环境下解析

文章目录XML文件简介XML文件格式基本格式注意事项Qt环境下XML解析示例示例1解析示例2解析XML文件简介xml,一般指可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言。早在1998年,W3C就发布了XML1.0规范,使用它来简化Internet的文档信息传输。XML有两个先驱:SGML和HTML,这两个语言都是非常成功的标记语言,但是都有一些与生俱来的缺陷。XML正是为了解决它们的不足而诞生的。简单的说,就是按照一定的格式,把数据表示出来。和JSON格式很像,关于JSON数据格式及
原创
发布博客 2021.06.20 ·
615 阅读 ·
0 点赞 ·
0 评论
加载更多