自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (17)
  • 收藏
  • 关注

原创 ZYNQ AMP双核linux+裸机同时运行

得到的u-boot文件重命名为u-boot.elf,然后将其拷贝到Windows系统的某个目录下,制作BOOT.BIN文件,制作方法跟以前是一样的,在SDK软件中右键单击FSBL工程,选择Create Boot Image菜单,在弹出来的界面当中进行配置。BOOT.BIN文件替换完成之后,将SD卡插入开发板启动,在启动内核之前,我们需要简单地修改 uboot的环境变量,目的是为了让Linux系统只能使用一个CPU,也就是CPU0,不要使用CPU1,把CPU1独立出来运行一个裸机程序;

2021-06-30 00:50:04 4148 2

原创 makefile语法步骤总结

# $(wildcard 指定文件类型) 用于查找指定目录下指定类型的文件# 这条规则表示,找到目录./src下所有后缀为.c的文件,并赋值给变量SRC。命令执行完,SRC变量的值:./src/ask.c ./src/100.cSRC = $(wildcard ./src/*.c)# $(patsubst 原模式, 目标模式, 文件列表) 用于匹配替换# 这条规则表示,把变量 SRC 中所有后缀为.c的文件替换为.o。 命令执行完,OBJ变量的值:./src/ask.o ./src/100.

2021-06-30 00:07:41 4476 3

原创 DSP SRIO接口收发配置

5,6位用于选择Doorbell中断状态寄存器,对于TI DSP的srio包含了四个中断状态寄存器,即DOORBELL[0-3]_ICSR,每个寄存器仅有16位有效,即每个寄存器可以支持16个中断源,所以四个寄存器可以支持64个中断源,在TI Nyquist的4 core DSP中,我们在使用中可以为每个core分别配置一个ICSR寄存器,这样当对应的寄存器的某位置位了,相应core会相应该中断。另一端FPGA或DSP检测到DSP的数据后,进行缓存,检测收到门铃后延迟一段时间并回发收到的数据。

2021-06-15 01:04:49 3469

原创 DSP6748 IIC读写使用

函数对C6748的IIC0模块所在复用引脚的功能配置为IIC引脚。设置SYSCFG0模块的PINMUX4寄存器的PINMUX4_15_12和PINMUX4_11_8字段都为2,则设置了引脚功能为I2C0_SDA和I2C0_SCL。

2021-06-15 00:02:55 1315

原创 DSP6678使用NDK网口通信

1,导入工程,project->import existing CCS eclipse project

2021-06-14 18:16:26 3662 3

原创 DSP UART配置和使用

一,初始化1,给UART模块上电2,执行必要的设备pin多路复用设置(请参阅设备特定的数据手册)。,3通过将适当的时钟除数值写入除数锁存寄存器(DLL和DLH)来设置所需的波特率

2021-06-14 14:10:28 3261

原创 OMAPL138 DSP程序固化

用CCS5 import “NANDWriter_DSPproject”,NANDWriter_DSPproject文件下载网址: https://sourceforge.net/projects/dvflashutils/files/OMAP-L138/v2.40/

2021-06-10 00:20:04 1111

原创 ZYNQ移植RTthread到Microblaze和sdk和vitis

(1)添加src文件夹,include文件夹到rt-thread文件夹下,然后添加libcpu下Microblaze部分内容到rt-thread文件夹下。(2)添加对 Microblaze cpu 的 bsp 文件,该文件在 bsp 路径下的 Microblaze路径下,我们拷贝该路径下的所有.c 和.h 文件到工程中, main 函数所在文件application.c是整个系统的应用部分,所以将该文件从 rt-thread 文件夹中移出到软件工程的根目录(拖动即可)。

2021-06-06 19:41:23 1736 6

原创 ZYNQ ad9226 块设备读取数据

内核分离思想本质:将原先驱动中的硬件和软件撤离分开, 软件一旦写好,将来硬件发生变化,无需改动软件,要改只改硬件部分即可!提高驱动的可移植性!这样驱动开发者的重心放在硬件部分即可,软件一旦写好需要改动! platform_driver_unregister ( &软件节点对象 ); 注册字符设备驱动或者混杂设备驱动,关键是为了给用户提供访问硬件的操作接口采用platform机制实现驱动,也就是将原先驱动中的入口函数所做的事情现在统统移到probe函数中完成(因为probe函数调用)

2021-06-06 11:00:27 3850 1

原创 linux SPI驱动开发

SPI中断的步骤:linux内核分离思想的实现基于platform机制原理第一步:向内核注册SPI总线以及SPI主机控制器;第二步:向内核申请一个SPI主机控制器的空间,注册我们要用的主机控制器;第三步:向内核注册SPI设备,以及构造file_operation结构体;重点关注struct platform_device和struct platform_driver这两个结构体。底层简历连接以后用户空间就可以通过open、write、read、ioctl函数来操作字符设备spidev了。

2021-06-06 01:32:45 1755

原创 ZYNQ petalinux系统使用axi_bram进行PL与PS数据交互

可以用BRAM,在PS和PL之间进行数据的交换。C, 最终sys_mmap调用底层驱动的mmap接口,并且内核将第2步创建这个对象的首地址传递给底层驱动的mmap接口,将来底层驱动的mmap接口可以通过这个对象的指针来获取到用户空闲虚拟内存的属性 (PROT_READ|PROT_WRITE,起始地址,大小,偏移量等等)本质:与其说是将一个文件映射到用户的虚拟地址上不如说是将这个文件对应的硬件的物理地址,映射用户的虚拟地址上,将来用户访问这个用户虚拟地址就是在访问对应的外设的物理地址。

2021-06-05 23:06:24 2060

原创 ZYNQ microblaze boot.bin固化步骤

一,ZYNQ移植软核的原理FPGA规模巨大而且功能复杂,因此设计的每一个部分都从头开始是不切实际的。一种解决的办法是:对于较为通用的部分可以重用现有的功能模块,而把主要的时间和资源用在设计中的那些全新的、独特的部分。这就像是你在开发应用程序的时候就不用直接去写驱动物理硬件的代码,而是直接调用Windows提供的API就行了。

2021-06-05 19:21:25 2026

原创 ZYNQ axi4-full-master和slave总线搭建

AXI4:面向高性能地址映射通信需求,是面向地址映射的接口,最大允许256次的数据突发传输;AXI4-Lite:是一个轻量级的地址映射单次传输接口,占用很少的逻辑单元。AXI4-Stream:面向高速流数据传输;去掉了地址项,允许无限制的数据突发传输规模。axi-full-slave的axi_awready,当满足条件(~axi_awready&&S_AXI_AWVALID &&~axi_awv_awr_flag && ~axi_arv_arr_flag)=1 的时候表示可以进行一次AXI-FULL的 ..

2021-06-05 10:59:19 1740

原创 ZYNQ OCM和DDR核间数据共享速度测试

核间CPU0和CPU1数据共享有两种方式,一是使用DDR的方式,二是使用OCM的方式,然后使用软中断通知彼此。要是CPU处理任务过于繁重,需要启动双核进行任务分配,核间交互的速度决定了ZYNQ处理性能能否够, 核间数据传输的速度是多少资料很少,这里我们用板子测试一下。CPU0同时验证CPU1发送的反馈数据,若反馈数据正确则结束计时,计算处理器数据交互速率;若反馈数据有误,则结束流程并提示数据异常。为保证核间交互速率验证的口靠性, a,b,c中分别都使用SMP架构,AMP架构,openAMP架构,进行速度测试

2021-06-04 23:23:07 2907 2

首次使用HS3内置JTAG,需要用批处理一下,最好在cmd下去运行

首次使用HS3内置JTAG,需要用批处理一下,最好在cmd下去运行

2023-11-28

decode-video-h264-h265

能解H264和H265视频格式

2023-03-31

subomb programFlash-tcl

subomb programFlash_tcl,一键式固化程序

2023-03-31

OMAPL138中DSP的UPP接口代码

OMAPL138中DSP的UPP接口代码

2022-10-18

串口在线升级代码,PS操作的

update,uart

2022-10-18

C语言指针原理用法和代码

一级二级指针,各种字符串函数用指针实现,传参,指针函数相关

2022-10-18

线程加锁程序,pthread-mutex-t

pthread_mutex_t mutex; pthread_mutex_init(&mutex,NULL); pthread_mutex_lock(&mutex); pthread_mutex_unlock(&mutex); pthread_mutex_destroy(&mutex);

2022-10-18

基于udp协议的通信模型udpServer.c和udpClient.c

服务器: (1)创建socket (2)通信地址 (3)绑定socket和通信地址,使用bind函数 (4)监听,使用listen函数 (5)响应客户端的连接请求,使用accept函数 (6)进行通信 (7)关闭socket

2022-10-18

阻塞IO驱动代码和makefile

//向系统注册一个字符设备 cdev_add(&bio_dev.cdev, bio_dev.devno, 1); //MIO_PIN_50申请GPIO口 ret = gpio_request(MIO_PIN_50, "key"); //将原子变量置0,相当于初始化 atomic64_set(&bio_dev.state, 0);

2022-10-16

AsynchronousIO,异步IO驱动代码和makefile

//指定信号SIGIO,并绑定处理函数 signal(SIGIO,aio_async_func); //把当前线程指定为将接收信号的进程 fcntl(fd,F_SETOWN,getpid()); //获取当前线程状态 fcntl(fd, F_GETFD); //设置当前线程为 FASYNC 状态

2022-10-16

非阻塞IO驱动和makefile

在linux中常见IO复用的方法有select、poll和epoll。可以使用selectpoll和epoll中的任何一种,对于高并发的场合只使用epoll这一种。另外有别于阻塞IO,非阻塞IO的查询与读取是分开的,即先查询再读取,只有查询阶段是非阻塞的

2022-10-16

PL-PS的中断驱动程序,带makefile

#已经编译过的内核源码路径 KERNEL_DIR = /home/kernel export ARCH=arm export CROSS_COMPILE=arm-linux-gnueabihf- #当前路径 CURRENT_DIR = $(shell pwd) MODULE = interrupt

2022-10-16

vivado2017.4 扩展多网口多串口

vivado2017.4 扩展多网口axi_ethernet+DMA 和 多串口axi_uartlittle

2022-10-16

88E151X 芯片手册,phy配置

phy配置,88E151X 芯片手册

2022-10-16

vivado(2014+2016+2017+2018+2019+2020都能使用) SRIO licence

vivado licence with SRIO function+ISE licence; ISE,Vivado2016 2017 2018 2019 2020都能使用。

2022-10-16

ZYNQ AD9361的裸机SDK配置代码

ad9361_get_en_state_machine_mode(ad9361_phy, &ensm_mode); ad9361_get_en_state_machine_mode(ad9361_phy, &ensm_mode); ad9361_get_en_state_machine_mode(ad9361_phy, &ensm_mode);

2022-10-15

QPSK调制解调代码MATLAB仿真

[~,bo]=max(cor_abs(1:length(cor_abs)/2)); index_s=bo-N+1; index_e=index_s+len_frame-1; out_signal=signal(index_s:index_e);

2022-10-15

BPSK调制解调MATLAB代码

m=length(connections);%移位寄存器的级数 %其他位等于前边的寄存器值加上连接值乘寄存器最后一位 end registers=new_reg_cont; seq(i)=registers(m);%经过一次循环寄存器输出一位得到m序列的其他位

2022-10-15

16QAM 是正交移幅键控调制

16QAM 是正交移幅键控的一种调制方式,有很高的频道利用率。正交移幅键控信号 是一种载波键控信号,它有同相和正交两路载波,以幅度键控方式独立地传送数字信息。

2022-10-15

单载波频域均衡(SC-FDE) 的设计

多载波调制本质上是一种频分复用技术。频分复用(FDM)技术早在 19 世纪以前就已 经被提出,它把可用带宽分成若干相互隔离的子频带,同时分别传送一路低速信号,从而 达到信号复用的目的。

2022-10-15

全数字QAM调制解调收发代码

1. 理解 QAM 调制的一般原理 2. 掌握数字调制的一般流程 3. 掌握全数字接收机的设计方法 4. 理解同步的概念

2022-10-15

2PSK调制解调原理,MATLAB代码

相移键控是利用载波的相位变化来传递数字信息,而振幅和频率保持不变。在 2PSK 中,通常用初始相位为 0 和π分别表示二进制‘1’和‘0’。

2022-10-15

2FSK调制解调实验,MATLAB代码

2FSK 信号常用的解调方法是采用相干解调和非相干解调。其解调原理是将2FSK信号 分解为上下两路 2ASK 信号分别进行解调,然后进行判决。

2022-10-15

2ASK调制解调实验,数字信号的键控调制

2ASK又称为二进制启闭键控(On-Off Keying),它是以单极性不归零码来控制载波的开启和关闭,而其频率和初始相位保持不变。

2022-10-15

极速PDF阅读器reader

极速PDF阅读器,fast PDF reader

2022-09-28

.vimrc,对ubuntu中格式进行配置

在虚拟机中对ubuntu中格式进行配置的.vimrc,五颜六色的。

2022-09-28

网口速度测试,数据保存软件

网口速度测试,和数据按不同端口保存软件

2022-05-04

串口助手和网口助手下载

串口网口助手自己选择,常用的版本

2022-05-04

windows 64位向日葵服务端2022版下载

电脑远程协助,远程开机,远程控制,windows 64位向日葵服务端2022版下载

2022-05-04

windows 64位向日葵客户端2022版

电脑远程协助,远程开机,远程控制,windows 64位向日葵客户端2022版下载

2022-05-04

xilinx_axidma.zip

AXI_DMA petalinux官方驱动配置文件

2021-08-09

insert_imaginary_data.v

中间传输模块

2021-08-02

ad7606.v模块verilog代码

FPGA AD7606 300K 8路采集,AXI传输数据

2021-08-02

PL_ad7606_vivado.zip

vivado2017.4工程,ZYNQ PL采集AD7606,做FFT

2021-04-07

mqtt_client.exe

mqtt_client.exe 上位机,GO语言写的

2021-03-10

emqx-windows-4.2.7.zip

emqx-windows-4.2.7.zip,mqtt服务器

2021-03-10

mqtt-demo-linux-embed.tar.gz

mqtt 应用程序交叉编译

2021-03-10

paho.mqtt.-master.tar.gz

编译mqtt使用的库

2021-03-10

logger.zip

logger_->info logger_->error logger_->warn 在linux C++中logger日志的用法

2020-04-28

axidma.zip

AXI_DMA在传输数字,图片的测试程序和驱动程序,在petalinux下编译,然后拷贝到sd卡insmod axidma.ko

2020-03-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除