- 博客(18)
- 资源 (1)
- 收藏
- 关注
原创 利用Intel IPP函数库实现信号频谱计算
Intel IPP(Intel Integrated Performance Primitives)函数库是一套跨平台的软件函数库,它为用户提供了一套高效、实用的函数集,可用于实现通信、图像、语音等多个数字信号处理领域,关于该函数库的介绍,可查询其官方使用手册或以下几篇博客Intel IPP的基本使用方法Intel IPP函数 本文介绍如何利用Intel函数库实现对信号进行频谱计算。...
2018-05-02 20:19:33 7386 1
原创 Verilog读写文件
一.读写文件相关的系统任务 在进行FPGA模块的开发过程中,常常需要对数据的处理过程进行行为仿真,以验证FPGA的功能逻辑是否正确,因此需要将FPGA行为仿真的结果与MATLAB或C/C++的处理结果进行对比验证。但需要对比的数据量比较大时,将输入输出结果数据存入文件进行对比是非常常用的方法。 Verilog中读写文件常用到的系统任务主要有以下几个:1.文件打开、关闭与定位操作:$fo...
2018-04-05 16:36:51 15865 3
原创 C# 将数据存为二进制数据文件
FileStream file = new FileStream(SaveFilePath + "net_data.dat", FileMode.Append);//以追加的形式打开文件file.Write(recvdata, 0, recvdata.Length);//写入byte[]型数据file.Flush();file.Close();
2016-12-11 22:31:19 2865
原创 C#将string字符串存储为.txt文件
下面为某工程的部分代码,代码实现的功能是将二进制数据文件中的数据读取放入到red_buf空间中,然后将red_buf中的数据转成int型整数,将int型数据以十六进制字符的形式写入.txt文本文件中System.Windows.Forms.FolderBrowserDialog folderIQ = new System.Windows.Forms.FolderBrowserDialog();
2016-12-11 22:26:38 7749
原创 C#编写的FFT实现类
using System;using System.Collections.Generic;using System.Linq;using System.Numerics; //需要在工程中引用 Numerics函数集using System.Text;using System.Threading.Tasks;using System.Runtime.InteropServices;
2016-12-10 17:52:49 3762 2
转载 C#调用C++编写的DLL函数各种参数传递问题
C#调用C++编写的DLL函数各种参数传递问题 1. 不返回值的参数 C++ 原型: bool SendNewSms(char *szTel, char *szMessage); C#引用; [DllImport( "CdmaCard.dll",EntryPoint="SendNewSms")]
2016-12-06 15:28:51 2821 1
原创 Zynq通过TFTP进行启动
本文介绍如何通过TFTP进行ZYNQ芯片的启动 开发平台:虚拟机:VirtualBoxUbuntu:14.04Ubuntu中安装Vivado 2015.4和SDK硬件平台:Zedboard开发板 准备工作:1. Ubuntu中正确安装了xilinx的cable driver;cd /opt/Xilinx/Vivado/2015.4/data/xi
2016-11-29 19:09:38 2752
转载 并行计算之OpenMP入门简介
本文转载于:http://www.cnblogs.com/kuliuheng/p/4059133.htmlOpenMp提供了对于并行描述的高层抽象,降低了并行编程的难度和复杂度,这样程序员可以把更多的精力投入到并行算法本身,而非其具体实现细节。对基于数据分集的多线程程序设计,OpenMP是一个很好的选择。同时,使用OpenMP也提供了更强的灵活性,可以较容易的适应不同的并行系统配置。线
2016-11-26 15:50:18 761
原创 C++动态库的编写与类的导出
本文介绍如何在Visual Studio平台中编写C++的动态库程序IDE:Visual Studio 20131)创建动态库工程在VS中创建一个Win32控制台应用程序,在应用程序设置界面中,选择DLL,“附加选项”中选择“空项目”,然后点击“完成”;在新创建的工程中,添加头文件.h和对应的c++文件.cpp(本文名字为mydll.h和mydll.cpp)在.h文件中
2016-11-22 19:16:08 1476
原创 在Zynq 7000平台上使用Linux spidev.c驱动
在上一篇博客中,我介绍了如何配置Vivado下的硬件工程、例化SPI硬件接口和如何使用petalinux加载Xilinx提供的SPI总线驱动,如果要通过SPI控制外部器件,还需要添加SPI的设备驱动以实现SPI的对外控制逻辑。在Linux内核的driver/spi目录下有许多外设的设备驱动可以参考,这篇博客主要介绍如何使用其中的spidev,c这个设备驱动来实现对外设的控制。spidev是
2016-10-20 20:44:19 5657 2
原创 ZYNQ7000 芯片Linux下的SPI接口与驱动配置
本文将介绍如何利用Vivado和petalinux开发Zynq7000系列芯片的SPI外设接口。 开发环境:Vivado 2015.4Petalinux 2015.4 一、 硬件工程的搭建1. 打开vivado开发环境,新建工程,并选择你所使用的芯片型号(本文使用xc7z045ffg900-2这款芯片);2. 点击“Create
2016-09-23 16:10:09 8907
转载 [转]linux下利用socket获取本地mac
MAC地址是唯一的,可以用来 识别不同的硬件机。下面讲述如何在linux下获取自身的MAC地址。在Linux下编写获取本机网卡地址的程序,比较简单的方法是利用套接口(socket)和IO接口(ioctl)函数来获取网卡信息,需要引用如下文件:#include #include #include #include #include socket函数的原
2016-08-20 13:29:46 1187
原创 Linux多进程——利用fork()函数进行多进程编程
fork()函数是Linux系统中唯一可以创建一个新进程的方法。其新创建的进程称为子进程,原进程称为父进程。子进程将从父进程处继承了整个父进程的地址空间(包括进程上下文、代码段、进程堆栈、内存信息、打开的文件描述符、进程优先级、进程组号等)。由于fork()函数所产生的子进程是完全复制的父进程,因此它们会运行同一个程序,父进程的代码从fork()函数的返回值开始分别在两个地址空间中同时运行,从
2016-05-24 21:54:47 2179
原创 linux下利用dd命令测试磁盘读写速度
在Linux中,dd命令用于读取、转换和输出数据,它可从标准输入或文件中读取数据并输出到指定文件或标准输出中。该命令使用参数如下:其中”=“后面的为设置的参数If = :输入文件名,指定源文件;Of= :输出文件名,指定输出的目的文件;ibs=:一次读入bytes个字节,即指定一个块大小为bytes个字节。obs=:一次输出bytes个字节,即指定一个块大小为bytes个
2016-05-24 12:26:12 1242
转载 C语言常用程序(1):计算某日是该年的第几天
程序功能:输入某个日期的年、月、日,程序计算出该日期为该年的第几天。 #include /* 函数leap用于判断该年是否为闰年 */int leap(int a){ if (a%4 == 0 && a%100 != 0 || a%400 ==0) { return 1; } else { return 0; }}/* 函数number用
2016-05-24 12:22:43 1211
原创 在VisualStudio2008和2010中添加ipp函数库的方法
Intel的ipp函数库包含的常用的信号处理函数,是一款十分好用的函数包软件,在安装完相应的函数库后,还需在开发工具中对其进行配置,本文以VS2008和VS2010为例,讲述如何添加ipp函数库。(一)VS20081. 在电脑系统中添加环境变量计算机——属性——高级系统设置——环境变量在‘系统变量’的‘Path’变量中添加C:\Program Files (x86)\Inte
2016-05-24 12:21:40 3608
原创 ZYNQ-7000 QSPI Flash和SD卡启动Linux的方式
在ZYNQ-7000系列Soc上启动Linux操作系统需要两个文件,一个为BOOT.mcs(QSPI启动所需,SD卡启动为BOOT.bin)和image.ub。其中image.ub为Linux系统镜像文件,由petalinux工具编译而成,BOOT文件由三个文件合成,分别是系统第一阶段引导文件fsbl.elf,FPGA配置文件design.bit,Linux系统的启动文件u-boot.elf。
2016-05-24 12:20:44 6889
原创 (*(volatile unsigned char *)0x20)用法
在嵌入式的C程序中,我们经常看到类似如下的定义:#define AAA (*(volatile unsigned char *)0x20)#define BBB (*(volatile unsigned char *)0x4B000020)......那么如何对这条语句进行理解呢?首先,我们来分析define语句后面的内容: (*(volatile unsigned char
2016-05-24 12:19:04 2057 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人