首页
游戏
影视
直播
广播
听书
音乐
图片
更多
看书
微视
主播
统计
友链
留言
关于
论坛
邮件
推荐
我的硬盘
我的搜索
我的记录
我的文件
我的图书
我的笔记
我的书签
我的微博
Search
1
在IC617中进行xa+vcs数模混仿
81 阅读
2
科普:Memory Compiler生成的Register file和SRAM有何区别?
73 阅读
3
virtuoso和empyrean alps模拟仿真和混仿教程
73 阅读
4
后仿中$setup,$hold与$setuphold
44 阅读
5
文档内容搜索哪家强? 15款文件搜索软件横向评测
35 阅读
默认分类
芯片市场
数字电路
芯片后端
模拟电路
芯片验证
原型与样片验证
算法与架构
DFX与量产封装
PC&Server OS设置
移动OS设置
软件方案
新浪备份
有道备份
登录
Search
标签搜索
python
Docker
vscode
linux
systemverilog
vcs
STM32
PyQT
EDA
FPGA
gvim
cadence
Alist
xilinx
UVM
uos
macos
package
MCU
risc-v
bennyhe
累计撰写
378
篇文章
累计收到
31
条评论
首页
栏目
默认分类
芯片市场
数字电路
芯片后端
模拟电路
芯片验证
原型与样片验证
算法与架构
DFX与量产封装
PC&Server OS设置
移动OS设置
软件方案
新浪备份
有道备份
页面
游戏
影视
直播
广播
听书
音乐
图片
看书
微视
主播
统计
友链
留言
关于
论坛
邮件
推荐
我的硬盘
我的搜索
我的记录
我的文件
我的图书
我的笔记
我的书签
我的微博
搜索到
14
篇与
的结果
2026-01-07
ZYNQ-Linux学习笔记(2)-在Xilinx SDK中建立Linux应用程序
写在前面:注意:在前篇中所用的工具都是2015.2,从这篇开始将使用2017.4进行操作。安装环境:win7,win10,Xilinx SDK 2017.4,Xilinx Vivado 2017.4虚拟机:Ubuntu16.04,petalinux 2017.4建立Petalinux工程在安装好petalinux2017.4的Ubuntu中(具体安装方法请参考上一篇),新建一个工程petalinux-create -t project -n microzedproject –template zynq我新建的工程名字是microzedproject,进入到工程目录中将HDF文件导入工程中petalinux-config --get-hw-description=/home/在出现的config界面中吧fsbl的编译去掉,如果不去之后编译可能会出现错误Linux Components Selection --->[ ] First Stage BootloaderAuto Config Settings --->[ ] fsbl autoconfig对工程进行编译生成petalinux-build建立Xilinx SDK工程通过vivado设计microzed工程然后导出到Xilinx SDK中在Xilinx SDK中新建工程linux app,然后点击Finish完成Project name:my_linuxOS Platform:linuxLanguage:C然后编译成功后并生成 my_linux.elf 可执行文件生成boot.bin将prtalinux中生成的image.ub u-boot.elf 拷贝到windows下新建文件夹sdcard。通过Xilinx SDK生成fsbl.elf(参考上一篇)将fsbl.elf hdf.bit u-boot.elf三个文件按照顺序排列并且生成boot.bin(参考上一篇)测试将boot.bin image.ub my_linux.elf三个文件拷贝到SD卡中microzed通过SD卡启动,并且连接电脑串口登录到microzed,用户名密码都是root将SD卡挂载到/boot文件夹或者其他地方,随意最后运行可执行文件my_linux.elf,出现helloworld就成功了到此结束。后续相关的文件可以再这里下载:链接:https://pan.baidu.com/s/1JcE04vAl6fB-19SWrd9ioA有问题可以留言或者发邮件到839089604@qq.com————————————————版权声明:本文为CSDN博主「网布」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/wangbuu/article/details/81189016
2026年01月07日
1 阅读
0 评论
0 点赞
2026-01-07
Zynq7000开发系列-4(新:Xilinx交叉编译环境搭建)
https://www.cnblogs.com/wmxfd/p/zynq7000_development_4_new_xilinx_cross_compiler_environment_establishment.html一、前言 本来上一篇文章已经讲了Xilinx交叉编译环境的搭建,但是我在后续的使用中发现:使用2011年版本的交叉编译链编译OpenCV 3.1.0时出现错误:网络搜索一番,查明是交叉编译链的问题,只要升级为2013年版本的即可,参考链接:https://stackoverflow.com/questions/38369379/opencv-3-1-0-cross-compile-error-under-codesourcery-arm-toolchain。但是,Xilinx除了公布过2011年版本的交叉编译链后,以后的版本均集成在了其SDK集成开发环境中,原来2011年版本的下载链接亦失效,参考链接:https://www.xilinx.com/support/answers/59279.html。二、软件安装1、Xilinx SDK安装(包含交叉编译链:arm-xilinx-linux-gnueabi-gcc)既然高版本的交叉编译链集成到了SDK中,那直接安装Xilinx SDK即可,此处选用2015.4版本。下载链接:https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded-design-tools/archive.html,下载的是网络安装包,在安装的过程中会提示输入个人Xilinx账户及密码,安装方式有在线安装和下载完整镜像后安装2种,均可,不过后一种在安装后需要加载license文件(无妨,网络中搜索即可)。下载版本:安装命令:./Xilinx_SDK_2015.4_1118_2_Lin64.bin安装后需进行环境变量配置:gedit /etc/bash.bashrc在文件底部添加:export CROSS_COMPILE=arm-xilinx-linux-gnueabi-gccsource /opt/Xilinx/SDK/2015.4/settings64.sh验证:终端输入命令:arm-xilinx-linux-gnueabi-gcc -v,若能看到交叉编译链的版本信息(2015)即说明安装成功。但在ubuntu14.04 LTS 64bit系统上,会提示“没有那个文件或目录”,这个错误的原因是64位系统没有安装32位库,根据链接:http://xilinx.wikidot.com/zynq-tools,应执行安装命令:sudo apt-get install ia32-libs,不过终端会提示错误:按照提示安装相应的替代软件即可:sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0重新输入验证命令得到结果:至此,新版本的交叉编译链安装成功。
2026年01月07日
3 阅读
0 评论
0 点赞
2026-01-07
Linux下搭建STM32开发环境
方案STM32开发一般使用官方的固件库,将MDK作为集成开发环境。MDK将代码编辑和工程构建全包了,这固然很方便,但是代码编辑功能较弱,而且MDK还是收费软件。于是便萌生了使用其他开发环境的想法。果然,有免费的高质量方案:GNU Toolchain + STM32CubeMX + VSCode:GNU Toolchain:包括编译器、链接器、调试器和C语言标准库在内的一整套工具链STM32CubeMX:图形化的软件配置工具,用来生成STM32初始化代码工程。ST官方已经停止更新固件库,STM32CubeMX是推荐的开发方式VSCode:牛逼哄哄的代码编辑器,搭配强大的插件,从此忘记Vim和Emacs上述的三个工具都是跨平台的,在Linux和Windows下都可以搭建,在Linux下搭建更方便。本文以Manjaro Linux为例,其他Linux发行版和Windows的搭建方法类似。GNU ToolchainGNU Arm Embedded Toolchain是目标平台为ARM嵌入式处理器的工具链软件。一般要安装编译器、调试器和函数库三个组件:sudo pacman -S arm-none-eabi-gcc arm-none-eabi-gdb arm-none-eabi-newlibarm-none-eabi-newlib是嵌入式平台下的C语言标准函数库,如果不安装可能会产生编译错误。Windows用户可以通过下载软件包来安装这套工具链,安装完后还需配置环境变量。STM32CubeMXST官方的固件库已经停止更新,官方推荐用STM32CubeMX生成项目的初始化代码。STM32CubeMX是图形化界面,点击鼠标就能配置,比固件库方便很多。STM32CubeMX依赖Java运行环境,要安装JRE 1.8:sudo pacman -S jdk8-openjdk在ST的官方网站上下载安装文件,我下载的是5.3.0版本。解压后有三个文件,Windows通过运行exe文件安装,Linux通过运行.linux后缀的文件安装:sudo ./SetupSTM32CubeMX-5.3.0.linux会跳出一个图形化安装界面,不停地点下一步就行。安装完成后,启动软件,点击File - New Project新建一个工程。此时会看到选择芯片型号的界面,可以通过勾选筛选条件过滤出目标芯片,我的芯片型号是STM32F103RCT6,ARM Cortex-M3架构。芯片型号选择好之后,点击Start Project,会有配置引脚的界面。在我的开发板上,PA8和PD2两个GPIO口驱动两个LED灯,点击对应的引脚,将它们配置为GPIO_Output。 GPIO配置 接下来是时钟配置,暂时先保持默认的配置吧。 时钟配置 再接下来是项目配置,比较重要是的Toolchain/IDE那一项的选择。我选择的是Makefile,使用make来管理项目。点击右上方的GENERATE CODE按钮生成项目的代码。Windows用户还可以选择MDK-ARM,最后会生成代码以及MDK的项目文件,可以用MDK打开、编辑和构建工程。 项目配置 这里再插一句,上图最下方可以看到有个Firmware目录的设置,默认配置在用户的home目录下。如果嫌碍眼,可以打开Help - Updater Settings,修改成其它的目录。工程的目录下生成了如下文件:$ ls -FDrivers/ Inc/ LedTest.ioc Makefile Src/ startup_stm32f103xe.s STM32F103RCTx_FLASH.ld可以看到有个Makefile文件;startup_stm32f103xe.s是芯片的启动代码,是汇编语言;Drivers/文件夹中是自动生成的芯片底层代码,和固件库的组织很类似;Src/目录下有包括main.c在内的需要用户修改的源码文件。VSCode如果用VSCode做C/C++开发,推荐安装C/C++ Intelligence这个插件。用VSCode打开项目文件夹和Src/目录下的main.c文件,并在main函数的while循环中加入控制流水灯的代码:生成的代码都以HAL开头,函数名和固件库中的也很类似。可以看到,STM32CubeMX在main函数中自动添加了初始化的代码。打开MX_GPIO_Init函数还能看到将PA8和PD2两个GPIO口设置为输出的配置代码。上图中有些宏定义下方有波浪线,将鼠标移动到附近还会提示「标识符未定义」。这时候按F1键,搜索Edit Configuration,打开json配置文件,添加一些信息帮助插件做代码检查和自动补全的工作。将Makefile中C_INCLUDES和C_DEFS的内容添加到includePath和defines中。编译器的头文件目录也要添加到includePath中。修改后的配置文件如下:{ "configurations": [ { "name": "Linux", "includePath": [ "${workspaceFolder}/**", "Inc", "Drivers/STM32F1xx_HAL_Driver/Inc", "Drivers/STM32F1xx_HAL_Driver/Inc/Legacy", "Drivers/CMSIS/Device/ST/STM32F1xx/Include", "Drivers/CMSIS/Include", "/usr/arm-none-eabi/include", "/usr/arm-none-eabi/include/c++/9.1.0", "/usr/arm-none-eabi/include/c++/9.1.0/backward", "/usr/lib/gcc/arm-none-eabi/9.1.0/include", "/usr/lib/gcc/arm-none-eabi/9.1.0/include-fixed" ], "defines": [ "USE_HAL_DRIVER", "STM32F103xE" ], "compilerPath": "/usr/bin/arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb", "cStandard": "c99", "cppStandard": "c++11", "intelliSenseMode": "clang-x64" } ], "version": 4 } 现在就可以构建工程了,在项目的根目录下直接运行make命令,编译链接完成后,工程根目录下会多出一个build/目录,里面有我们需要的LedTest.bin文件。stm32flash最后将二进制文件烧写到芯片中。一般来说,用JLink是最方便的,不仅可以烧写软件还能够进行硬件调试。我没有JLink,手头只有一根可以供电和烧写软件的USB转串口线,所以我介绍另一款名为stm32flash的烧写软件。stm32flash需要自己下载源码后编译安装:git clone https://github.com/stm32duino/stm32flashcd stm32flash/makesudo make install用跳线帽将板子的BOOT0引脚接3.3V,BOOT1引脚接地,用USB转串口线将板子和电脑连接,然后上电。我的Linux系统默认就有CH340芯片的驱动,上电后多了一个名为/dev/ttyUSB0的设备。可以用stm32flash查看串口的信息:$ sudo stm32flash /dev/ttyUSB0一切正常,然后用下面的命令将编译生成的二进制文件烧写入芯片中:$ sudo stm32flash -w LedTest.bin -v -g 0x00 /dev/ttyUSB0烧写完后就可以在板子上看到LED闪烁的效果。该软件更多的功能可以通过运行stm32flash -h命令查看。参考使用VSCode打造STM32开发环境https://panqiincs.me/2019/07/26/develop-stm32-on-linux/
2026年01月07日
9 阅读
0 评论
0 点赞
2025-12-31
tri0 GSR = glbl.GSR; Error-[XMRE] Cross-module reference resolution error
编译 vviado 的lib 出现 Error-[XMRE] Cross-module reference resolution error././././././././././unisims_ver_source.v, 9907 Error found while trying to resolve cross-module reference. token 'glbl'. Originating module 'DCM_ADV'. Source info: assign GSR = glbl.GSR;方法一:首先将 $VIVADO_PATH/data/verilog/src/glbl.v 放入文件列表,然后设置top, vcs -top top -top glbl 或者 xrun -top top -top glbl第一个-top 是设计本身的top ,第二个-top 是添加 glbl方法二:没有试过,仅供参考在vlogan里面添加glbl.v,将glbl.v编译到xil_defaultlib库中compile: vlogan \ +v2k \ -full64 \ -work xil_defaultlib \ "/opt/vivado/glbl.v" \ 然后我们需要再vcs命令添加glblelaborate: vcs \ -full64 \ -cpp g++-4.8 -cc gcc-4.8 -LDFLAGS -Wl,--no-as-needed \ -Mdir=./vcs_lib/xil_defaultlib \ -sverilog \ -debug_acc+all -debug_region+cell+encrypt \ $(verdi_opts) \ xil_defaultlib.${tc} xil_defaultlib.glbl\ -o simv \ 2>&1 | tee -a vlogan.log
2025年12月31日
4 阅读
0 评论
0 点赞
2025-12-31
vivado与vscode完美结合
vivado虽然非常优秀,但是也有一个缺点就是vivado的编辑器很难用1、没有高亮(不完整的)2、不能自动补全3、背景白色很伤眼4、没有自动跳转到定义功能5、没有括号定位功能这篇文章,我将把这几个全部解决,同时也不是完全使用vscode编写verilog工程,因为ip核的部分必须用vivado才方便,所以我推荐编写代码用vscode,其余功能还在vivado实现,这样就需要把vivado的代码文件用vscode打开,同时跟我在vscode中进行一些设置,让vscode成为vivado的专属编辑软件,提升编写代码效率。废话不多说直接上干货!!!!1、下载安装vscode(安装过的可以忽略)下载地址:vscode官方下载地址感觉官方下载速度慢的,也给大家准备好了安装包 :vscode安装包安装教程:傻瓜式安装,一路点下一步即可安装成功。2、插件安装(1)中文语言包 Language Pack for Visual Studio Code(2)代码高亮 Code formatter(3)verilog 支持包 Verilog-HDL/SystemVerilog/Bluespec SystemVerilog其余还有很多插件,我认为安装这三个足够了,其余用到的时候再安装,这三个已经完全够用!3、实现自动纠错在其他编辑器,编写verilog最大的问题就是不能自动纠错,下面介绍一个最简单的方法(1)提前你的PC需要安装vivado,并把下面的路径复制(我的为例)D:\Xilinx\Vivado\2018.3\bin(2)并把这个地址添加到系统环境变量的Path中:(3)在PC的cmd窗口输入:xvlog --version 查看是否生效,如果没有打印出未找到该命令,那么你可能需要重启您的电脑。(4)接下来我们在vscode设置里,搜索Linter,将verilog的Linter更换成xvlog。设置完成之后,就能实现语法的纠错,在平常的工程编写中非常舒服。4、自动跳转到定义变量的位置在编写verilog有一个跟头疼的问题,就是不能像C那样直接跳转到定义变量的位置,有时候定义的变量多了,就不知道位宽和这个变量的意义了,还有从头去找,很是麻烦,下面介绍一种非常简单的就能跳转到定义位置的方法。(1)下载插件ctags.exe文件下载地址:ctags.exe下载并把他复制到vivado安装目录下:(2)复制ctags.exe文件位置D:\Xilinx\ctags-p6.1.20240114.0-x64(3)把ctags.exe地址添加到系统环境变量Path中(4)打开vscode搜索ctags,并把地址添进去D:\Xilinx\ctags-p6.1.20240114.0-x64||ctags.exe(5)重新打开vscode即可实现变量快速跳转5、括号自动匹配(1)打开设置搜索,然后把这两个都勾选上即可@id:editor.bracketPairColorization.enabled @id:editor.guides.bracketPairs(2)重新打开vscode即可实现括号自动匹配(也包括begin end)6、代码里面中文乱码换一个编辑器打开代码,里面的中文注释全部变成不认识的符号,这种问题大家是不是经常遇到,今天教大家一次性解决这个的问题vivado中代码形式默认为GB2312模式,所以我们只需要把vscode中默认代码形式改为GB2312即可打开vscode设置界面,搜索 encoding,把这个改为GB2312即可这样代码里的注释,都能显示出来了这样一个只属于vivado的vscode已经设置完成了,就可以很轻松愉快的在vscode和vivado中间穿梭,非常的丝滑,后续如果有更好的插件或者设置,还是会在这个文章上面继续更新!!如果感觉文章对您有用,麻烦三连支持一下,方便下次用到的时候,就可以快速找到我,非常感谢您的支持!!!————————————————版权声明:本文为CSDN博主「FPGAmaster创新者」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/w18864443115/article/details/135604467
2025年12月31日
2 阅读
0 评论
0 点赞
1
2
3