zynq

How socketcan get send failure status?

可紊 提交于 2021-02-11 14:47:00
问题 As we all know, in the CAN bus communication protocol, sender know whether the data was successfully sent. I send socketcan data as follows. ret = write (socket, frame, sizeof (struct can_frame)); However, even if the CAN communication cable is disconnected, the return value of ret is still 16(=sizeof (struct can_frame)).I queried the information and found that the problem was due to the tx_queue of the network stack used by socketcan. When write is called multiple times, the buffer is full

Utilities Zynq in a PL only configuration

帅比萌擦擦* 提交于 2021-01-14 02:47:52
Is it possible to utilize Zynq in a PL-only configuration? You don’t need to have the ARM instantiated in your design but nevertheless the ARM is always present to take care of the configuration task. The Boot ROM code will always get executed at POR and the hard PS will boot. Remember, Zynq is a standalone processor and does not require PL configuration as is needed for MicroBlaze. Here is what you need to do if you are using PL only: Create an FSBL for the board (FSBL is needed for loading the bitstream). If you already have an SDK project for this board for any reference design (just make

PetaLinux 生成 Zynq 操作系统

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-18 17:19:40
1. 初始化 PetaLinux 运行环境   source PetaLinux 安装目录/settings.sh 2. 创建 PetaLinux 工程   (1) cd 到准备存放工程的目录下;   (2) petalinux-create -t project -n 项目名 --template zynq 3. 导入硬件描述文件(.hdf)   petalinux-config --get-hw-description=hdf文件所在文件夹路径   注:如果要修改 hdf ,则先运行下命令 petalinux-build -x distclean 4. 编译操作系统映像文件   petalinux-build 5. 打包生成 BOOT.BIN   petalinux-package --boot --fsbl zynq_fsbl.elf --fpga system.bit --u-boot --force 来源: https://www.cnblogs.com/dhqy/p/12518480.html

Xilinx Zynq-7000 PL端Kintex-7架构可编程逻辑资源,PS端主频可高达1GHzCPU、FLASH、RAM

风流意气都作罢 提交于 2020-03-16 11:48:13
某厂面试归来,发现自己落伍了!>>> CPU TLZ7xH-EasyEVM 是广州创龙基于 Xilinx Zynq-7000 SoC 设计的高速数据采集处理开发板, 采用核心板+底板的设计方式,尺寸为180mm * 130mm, CPU为 Xilinx Zynq-7000 SOC,兼容XC7Z0 35 /XC7Z0 45 /XC7Z 100 ,平台升级能力强,以下为 Xilinx Zynq-7000 特性参数: FLASH 核心板 采用 QSPI NOR FLASH 和eMMC, 如下图 所示 : QSPI NOR FLASH e MMC RAM 核心板的 RAM采用DDR3,如下图: 来源: oschina 链接: https://my.oschina.net/u/4169033/blog/3195860

linux kernel make构建分析

对着背影说爱祢 提交于 2020-02-23 05:17:10
前言 之前对uboot的构建进行了分析,现在再对linux kernel的构建进行分析。几年前的确也分析过,但是只是停留在笔记层面,没有转为文章,这次下定决定来完善它。 环境 同样,采用的还是zynq平台的linux,从Makefile可以看到版本: VERSION = 3 PATCHLEVEL = 15 SUBLEVEL = 0 EXTRAVERSION = NAME = Shuffling Zombie Juror linux Makefile支持的选项(最常用到的) 选项V,用于开启或者关闭执行make时编译信息的打印 @echo ' make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build' @echo ' make V=2 [targets] 2 => give reason for rebuild of target' ifeq ("$(origin V)", "command line") KBUILD_VERBOSE = $(V) endif ifndef KBUILD_VERBOSE KBUILD_VERBOSE = 0 endif 选项C,用于开启或者关闭静态代码检查 @echo ' make C=1 [targets] Check all c source with $$CHECK

玩转Zynq连载40——[ex59] 基于Zynq的双目视觉图像采集显示实例

久未见 提交于 2020-02-20 17:58:56
特权同学玩转Zynq连载40——[ex59] 基于Zynq的双目视觉图像采集显示实例 1 CMOS摄像头应用背景与驱动原理 CMOS摄像头(CMOS Sensor)是一种采用CMOS图像传感器的摄像头。摄像头主要有两类,CMOS和CCD。CMOS一般应用在普通数码设备中,CCD一般应用在高档数码设备中,它们都是光学成像,但CCD比CMOS单位成像的效果要好。CCD镜头比CMOS的颜色还原更好,并且分辨率更高。 CCD和CMOS在制造上的主要区别是,CCD是集成在半导体单晶材料上,而CMOS是集成在被称做金属氧化物的半导体材料上,但工作原理没有本质的区别。在成像方面,CCD的成像通透性、明锐度都很不错,色彩还原、曝光可以保证基本准确。而CMOS的产品往往通透性一般,对实物的色彩还原能力偏弱,曝光也都不太好。由于CMOS自身的物理特性,其成像质量和CCD还是有一定距离的。CCD制造工艺较复杂,掌握CCD技术的厂商并不多,采用CCD摄像头的价格相对也比较昂贵。但随着制造工艺的不断改进,目前CMOS和CCD的实际成像效果的差异在逐渐减小。加之CMOS的制造成本和功耗都要比CCD低不少,因此很多摄像头生产厂商更趋向于采用CMOS感光元件。正是由于低廉的价格以及高度的整合性,使得CMOS摄像头得到了更广泛的应用。 CCD是目前比较成熟的成像器件,CMOS被看作未来的成像器件

ZYNQ sdk使用 c/c++ 指针记录

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-14 17:13:01
1.简述 像ZYNQ这样的soc fpga期间,开发起来真的太难,能熟练开发fpga已经很难了,现在fpga硬件逻辑需要开发,还要开发arm。现在使用zynq fpga 一年多了,断断续续用zynq做项目,用起来很爽同时也很酸爽。今天专门记一下c/c++ 的指针,这也不难,就是容易迷糊,一周不写c代码,指针就不会用了,没次都要花点时间重新捡起来,为了提高效率,还是总结一下,结合vivado 的sdk开发工具记录。 2.正文 1)准备 vivado搭建一个简单PS 的工程(记得勾选uart),生成bit,导出硬件,启动sdk,新建helloworld的工程就行。然后跑一下,看串口是否能打印helloworld。如果可以,这就成功搭建工程了。 2)开始 (1) 进入debug模式,页面如下,黄框是现在代码运行的位置,我们要点击红框中的按钮进行单步调试(这个对熟悉单片机或者arm开发的来说很熟悉),我们简单在hello world源码上简单添加蓝框中的代码。可以看到粉红框中有变量的信息,现在的值是不对的,因为data那行代码还没运行,点击红框,值就会变成我们代码赋的值。 (2)点击后,可以看到data值变了,这是十进制的数,可以用计算器转成16进制数,是一样的。把鼠标放到data上面会显示data信息,可以知道data地址,如红框中的。在右下角,点击进入memory ,点击加号

【JokerのZYNQ7020】Vxworks 6.9。

坚强是说给别人听的谎言 提交于 2020-02-11 01:31:21
软件环境:vivado 2017.4 硬件平台:XC7Z020 基本全程参考的官方xapp1158-zynq-7000-vxworks-bsp.pdf,但我感觉主要难度不在移植上,因为pdf里面写的已经非常详细了,而在于你是否有license能装vxworks,除了xapp1158之外,xapp1258-vxworks-7-bsp.pdf,也是一个相关的将vxworks移植到zynq的指导手册。接下来以xapp1158为例,简单说下移植过程。 手册一打开刚开始就介绍了zynq启动的一个流程,总共分为3个阶段。 阶段0时候会根据外管脚电平状态来选择启动模式,并将FSBL从外管脚配置的boot设备复制到片上RAM中; 阶段1时候FSBL从片上RAM启动,加载比特流文件将PL部分配置好,然后将UBoot加载到DDR启动; 阶段2时候UBoot启动,进一步引导kernel和ramdisk,最终系统运行。 接下来提到了,安装workbench时候不要忘记勾选zynq-7000的BSP。 一切装好之后,file---new---project,选择vxworks image project。 填写工程名后,下一步,不要忘记勾选Enable WDB Target Agent。 下一步之后,选择PROFILE_DEVELOPMENT。 finish之后,在左侧工程下方有个kernel

玩转Zynq连载22——[ex03] 基于Zynq PL的PLL配置实例

大城市里の小女人 提交于 2020-01-29 03:24:34
特权同学玩转Zynq连载22——[ex03] 基于Zynq PL的PLL配置实例 1 概述 本实例通过PLL产生的不同频率的时钟,分别驱动3个LED指示灯闪烁一样的频率。本实例的重点其实不是LED,而是IP核的应用,当然,仅以PLL IP核为例。 2 模块化设计 参考文档《玩转Zynq-基础篇:基于FPGA的模块化设计.pdf》。 3 PLL IP核添加配置 3.1Vivado标准IP核概述 我们常说的IP核,也就是知识产权(Intellectual Property),是那些己验证的、可重利用的、具有某种确定功能的设计功能模块。IP核一般分为软IP(soft IP core)、固IP(firm IP core)和硬IP(hard IP core)。软IP是用某种高级语言来描述功能块的行为,但是并不涉及用什么电路和电路元件实现这些行为。固IP除了完成软IP所有的设计外,还完成了门电路级综合和时序仿真等设计环节,一般以门电路级网表形式提交用户使用。硬IP则是完成了综合的功能块,已有固定的拓扑布局和具体工艺,并己经经过工艺验证,具有可保证的性能。设计深度愈深,后续工序所需要做的事情就越少,但是灵活性也就越小。 在Xilinx的FPGA器件中,IP核设计是非常重要并且必不可少的一部分,应该说,前述的软IP、固IP和硬IP,在我们Zstar板载的Zynq上都能够找到踪影

Xilinx Zynq ZC-702 开发(02)—— 通过 Xilinx SDK 调试 Linux

…衆ロ難τιáo~ 提交于 2020-01-26 00:03:42
远程调试环境由 PC 上运行的 System Debugger(集成在 Xilinx SDK 中) 和 Zynq 板上运行的 Linux TCF Agent 共同构成, 两者通过 TCP 连接,架构图如下图所示: 注1:TCF -> Target Communication Framework; 注2:TCF 集成在 PetaLinux 中,此功能需配合 PetaLinux 使用。 操作步骤(以调试 Helloworld 程序为例): 1.新建 Linux 应用 File -> New -> Application Project; Project name 输入 Hello -> OS Platform 选择 linux -> Finish。 2.设置 Linux TCF Agent 在 Target Connections 窗口中右键单击 Linux TCF Agent -> 点击 New Target; 注:如果没有 Target Connections 窗口,将视图恢复成默认布局即可(菜单栏点击 Window -> Perspective -> Reset Perspective...) 在弹出的 Target Connection Details 窗口中 Host 输入 Zynq 板 IP 地址 -> 点击 OK 按钮 。 右键 Hello.elf -> Debug As