在windows7下编译speex的详细过程
网上有很多speex的开发资料,在windows7下编译有时出现错误,本文全面详述了编译speex过程中产生错误时的详细解决方法。
在Zedboard上测试Adau1761录放音
在Zedboard上测试Adau1761录放音
郑郁正
1. 这个项目来自网上:Zedboard_dsp_base_project。
2. 项目不是vivado工程,而是ise工程。
3. 项目的功能是将PC机播放的声音从Zedboard的Line In声音口输入,从耳机口输出。
4. 不支持话筒输入,也就是Micphone不起作用。
5. 不支持LineOut喇叭口输出。
6. 输出音量可以通过sw0、sw1选择,组合支持四级音量。
测试上工程时,要制作一条音频导线,给测试工作带来一些麻烦,本案只想测试Adau1761的播放是否正常,所以修改成以下功能。
1. 耳机、喇叭同时播放。
2. SW7实现打开/关闭放音。(向板内方向是打开)
3. SW2选择锯齿波音频输出/转放PC音频。(向板内方向是锯齿波发生器)
4. SW6、SW5、SW4组合选择锯齿波频率。
有关Adau1761的配置脚本i3c2描述:
通过I3c2_assemble.c(用VS编译成win32控制台程序,这里我提供了64位的版本)将脚本i3c2转为VHD文档。本案命令在windows的cmd下为
I3c2_assemble adau1761_configuraiton_data.i3c2
生成adau1761_configuraiton_data.vhd。
Zedboard+Vivado2015.2中基于SOC的流水灯项目
Zedboard中基于SOC的流水灯项目
郑郁正(百度)
本项目完全参巧官网教程。为了方便验证,此处提供了全部代码。项目中提供的官网入门方案:ug940-vivado-tutorial-embedded-design.pdf。
ZedBoard平台的出现,加速了SOC的发展,但是由于之前的计算机内存容量、运算速度极大限制了工作速度,很长一段时间内才难以上手。近来计算机的CPU上升到i7,内存达到8GB,Vivado的运算时间减少了很多。
Vivado的版本不断升级,网上(包含官网上)的案例在高版本上运行,多少出现一些简单的问题,但对于初学者来说,在网上难上找到解决方案。
使用vivado的版本为2015.2。
该方案中的信号探测部分(即内部逻辑分析仪)可以跳过不做,这样可以减小很多工作量。
另外该项目不用连接串口,不影响流水灯的工作。
为了看到流水灯的效果,我在主程序中加了一个死循环。
在做SDK项目时,选用模板“Peripheral Test”创建工程即可直接运行。
Zedboard板基于SOC的Adau1761测试项目
Zedboard板基于SOC的Adau1761测试项目
郑郁正(百度)
项目模板来自:Lab4
1、 在vivado下执行TCL脚本可以生成SOC模型。
2、 直接创建SDK项目。
3、 将Line In输入的音频处理后送Line Out。
4、 通过SW0可以选择是否滤波处理音频,还是直通。
主要问题是提供的TCL脚本与vivado2015.2不兼容,按网上“ vivado + zedboard之audio驱动”的步骤运行TCL失败。其二是adau1761.h adau1761.c、iic.h、iic.c没用(实际上模板中也没有)。其三是testapp.c中的xfir_hw.h不存在(实际上不做滤波处理时可以删除)。
说明一下如何修改TCL脚本。
1、 解压labsoure.rar后将 ..\labsource\sources\lab4 拷贝到 d:\ 下。
2、 启动vivado后点主菜单中的window中的Tcl Console打开Tcl Console命令窗口。
3、 在Tcl Console窗口下面的命令框中输入cd d:/lab4
4、 用windows的“记事本”打开该目录中的audio_project_create.tcl 文档(用其它文本编辑器打开也可以)。
5、 首先将第2行create_project audio C:/xup/hls/labs/lab4/audio -part xc7z020clg484-1路径改为create_project audio d:/lab4/audio -part xc7z020clg484-1
6、 第15行set_property ip_repo_paths C:/xup/hls/sources/lab4 [current_fileset]路径改为set_property ip_repo_paths d:/lab4 [current_fileset]
7、 将audio_project_create.tcl 的每一行拷贝入 Tcl Console 命令框中执行。
8、 执行第7行“create_bd_cell -type ip -vlnv xilinx.com:ip:processing_system7:5.3 processing_system7_0”产生错误:
ERROR: [BD 5-216] VLNV <xilinx.com:ip:processing_system7:5.3> is not supported for this version of the tools.The latest version is:5.5
ERROR: [Common 17-39] 'create_bd_cell' failed due to earlier errors.
9、 在右上Diagram窗口右击鼠标选“Add IP…”,选择倒数第2个IPcore:“ZYNQ7 Processing System”,将出现在Tcl Console窗口中的“create_bd_cell -type ip -vlnv xilinx.com:ip:processing_system7:5.5 processing_system7_0”拷贝代替第7行。实际上是vivado版本兼容问题,将5.3改为了5.5。
10、 注消25行、26行。因为
执行第25行
delete_bd_objs [get_bd_nets processing_system7_0_fclk_clk1]
产生警告:
WARNING: [BD 5-234] No nets matched 'get_bd_nets processing_system7_0_fclk_clk1'
执行第26行
connect_bd_net -net [get_bd_nets processing_system7_0_fclk_clk0] [get_bd_pins proc_sys_reset/slowest_sync_clk] [get_bd_pins processing_system7_0/FCLK_CLK0]
产生错误:
WARNING: [BD 5-235] No pins matched 'get_bd_pins proc_sys_reset/slowest_sync_clk'
WARNING: [BD 41-395] Exec TCL: all ports/pins are already connected to '/processing_system7_0_FCLK_CLK0'
ERROR: [BD 5-4] Error: running connect_bd_net.
ERROR: [Common 17-39] 'connect_bd_net' failed due to earlier errors.”
11、 注销59行。因为执行第59行
connect_bd_net [get_bd_pins processing_system7_0/FCLK_RESET0_N] [get_bd_pins proc_sys_reset/ext_reset_in]
产生错识
WARNING: [BD 5-235] No pins matched 'get_bd_pins proc_sys_reset/ext_reset_in'
ERROR: [BD 41-701] connect_bd_net requires at least two pins/ports, or one pin/port and a net
ERROR: [BD 5-4] Error: running connect_bd_net.
ERROR: [Common 17-39] 'connect_bd_net' failed due to earlier errors.
12、 回到vivado主菜单file中close project,不保存任何内容。关闭vivado,删除d:/lab4/audio目录。
重新启动vivado后点主菜单中的Tools中的Run Tcl Script…,选中d:/lab4/audio_project_create.tcl,即可自动完成硬件SOC系统的创建,工程项目位于d:/lab4/audio中。
1. 在右上窗口Diagram中右击鼠标选“Validate Design”验证。
2. 进入主菜单File选“Save Block Design”保存创建的系统结构图。
3. 点击左上窗口Design的左下选项Sources,显示项目顶层结构,右击其中的顶层“system(system.bd)(6)”选“Create HDL Wrapper”OK
4. 点击左上窗口Sources中“Constraints”右边的“+”展开,右击constrs_1 Add Sources Next 点中间的“+”,添加管脚文件d:/lab4/zed_audio_constraints.xdc。(由于新版本的vivado区分大小写字母,所以必须将该文件中的IIC、GPIO换成小写字母iic、gpio)
5. 进入主菜单Flow选Generate BitStream。运行过程中都点OK。
6. 进入主菜单File选Export Export Hardware… 将“Include Bitstream”左加的框打勾 OK
7. 进入主菜单File选Launch SDK。
在SDK中
1、 进入主菜单File选New Application Project,在Project Name输入框中输入一个项目命zyzAudio,然后Next进到下一级选空白项目模板Empty Project。
2、 点开左边项目管理窗口中的zyzAudio,右击src后import,选General中的File System,找到d:/lab4目录,将audio.h和testapp.c选中加入项目中。
3、 注销testapp.c包含的头文件 #include “xfir_hw.h
4、 修改滤波器函数filter_or_bypass_input(),注销if(sw_check & 01){…}语句全体,将其后的两条输出语句
Xil_Out32(I2S_DATA_TX_L_REG, u32DataL);
Xil_Out32(I2S_DATA_TX_R_REG, u32DataR);
改为
if(sw_check & 01){
Xil_Out32(I2S_DATA_TX_L_REG, u32DataL);
Xil_Out32(I2S_DATA_TX_R_REG, u32DataR);
}else{
static u32 zyzTest=0;
zyzTest += 0x0800;
Xil_Out32(I2S_DATA_TX_L_REG, zyzTest<<8);
Xil_Out32(I2S_DATA_TX_R_REG, zyzTest<<8);
}
5、 进入主菜单Xilinx Tools选Program FPGA,将BitStream.bit下载到板上。
6、 进入主菜单Run选Run Configuration…,然后用GDB运行程序。
7、 运行时,拨动板上的SW0,耳机插入Line Out即可听到声音。如果有音频从Line In输入,也可以听到。
Quartus与Modelsim联调环境构建
原项目是在ISE与modelsim中联调的,后来改为Quartus,在完成ISE移植到Quartus后,需要实现Quartus与modelsim联调,下面就构建Quartus与modelsim的联调环境的过程进行简单说明。
stm u-disk
应用stmCube,基于stm32f2生成的一个32K ram u-disk,要求将heap的size增加10kB, 否则alloc不成功导至u盘无效。在storage-if中直接定义一个32K字符空间做U盘即可,同时修改其read和write。
用VB编写最简单的打洞测试源程序,在单台PC上可用
用VB编写最简单的打洞测试源程序,在单台PC上可用
家庭多个PC机共享互联网络,简单容用,完全免费,也称Nat服务器
主要用于解决虚拟机中构造网络测试环境.家庭多个PC机共享互联网络,简单容用,完全免费,也称Nat服务器