TMS320C6455的EMIF与FPGA通讯

一、EMIF简述 64x的EMIF是用于片外存储器扩展和外部数据接口的一种并行数据传输片上外设。使用过程需要通过软件编写配置程序,使片上外设的的硬件电路实现特定的时序逻辑功能,构成与外部存储器或外设设备之间的无缝高速数据传输通道,因此,EMIF工作需要软硬件相互配合,属于混合基体。 EMIF可以通过EDMA与存储空间直接关联,整个数据传输可以与CPU工作并行,增加了算法执行的时间效率。 图为EMIF基本结构及接口信号图。EMIF基本结构包括与64x内部存储空间链接的EDMA控制器,用以直接将外
分类: 其他 发布时间: 01-30 22:00 阅读次数: 0

FPGA学习笔记(一)——FPGA学习入门

之前一直都是自己看书学习FPGA,例如:云创工作室《Verilog HDL 硬件描述语言程序设计与实践教程》,该书主要讲了如何使用ISE和Modelsim进行编程,很详细,初学者可以对整个FPGA开发流程有个大概了解。夏宇闻《Verilog 数字系统设计教程》,该书主要讲解了Verilog HDL语法知识,可以作为Verilog HDL语言入门。 但是,我做项目时,还是以c++的思路编程,没有体会到Verilog HDL的精华。所以,我想通过学习小梅哥的视频培训,纠正自己学习过程中的误区。不多
分类: 其他 发布时间: 01-30 22:00 阅读次数: 0

CC3.3编译器优化器选项

参考链接:https://www.cnblogs.com/mfc1207/p/3759771.html 1、首先打开我们自己的工程。工程文件若显示为黄色的,则表示此文件默认优化选项被修改。(默认的是O0) 2、右击文件选择File Specific Options选项,在弹出的对话框中选择Compiler,继续选择Basic,点开Opt Level的下拉菜单,这里我们就可以看到优化五个选项。(None,O0,O1,O2,O3)。如下图: 3、参阅资料后,把Opt Level下的优化选项说明如下
分类: 其他 发布时间: 01-30 22:00 阅读次数: 0

FPGA学习笔记(二)——verilog 语法讲解

Verilog语法介绍: 数字电路中主要有组合逻辑和时序逻辑两种电路。 组合逻辑:多路选择器、译码器、加法器、乘法器等; 时序逻辑:最基本的是计数器。 Verilog文件的基本结构: 一个文件中可以包含多个模块。 ////方法1 //模块声明 模块名 端口列表 module mux2 (a,b,sel,out,io); //端口属性定义 input [7:0] a; input [7:0] b; input sel;//sel = 0,out输出a的值;sel=1,out输出b的值。
分类: 其他 发布时间: 01-30 22:00 阅读次数: 0

FPGA学习笔记(三)——Verilog时序逻辑设计与验证

主要讲解了同步清零和异步清零以及如何编写程序及仿真? //时序逻辑 module counter( clk, en, clr, cnt_value ); input clk;//时钟信号 input en;//复位信号 input clr;//清零信号 output [3:0] cnt_value; reg [3:0] cnt;//计数器 //异步清零 always@ (posedge clk or posedge clr) if(clr) cnt <=
分类: 其他 发布时间: 01-30 22:00 阅读次数: 0

DSP-BIOS使用入门

参考博客:https://github.com/xiahouzuoxin/notes/blob/master/essays/DSP-BIOS%E4%BD%BF%E7%94%A8%E5%85%A5%E9%97%A8.md#从环境说到搭建第一个工程
分类: 其他 发布时间: 01-30 22:00 阅读次数: 0

C6000系列的外置flash的烧写流程

CCS编译生成的out格式文件不能直接用于Flash烧写。在TI公司给出的技术文档中,首先将out文件利用其HEX工具转换为hex格式文件,然后利用Flash烧写工具将hex格式映像文件写入到片外Flash中。 实现在FLASH存储器烧写程序一般有以下三种方法: 一、是通过编程器下载烧写; 使用通用烧写器烧写需要将内存映像转换为二进制或十六进制格式的文件,而且要求Flash器件是可插拔封装的。这将导致器件的体积较大,给用户的设计带来不便。 二、是通过开发商提供的专门软件工具 + 在线仿真器烧写
分类: 其他 发布时间: 01-30 22:00 阅读次数: 0

QT UDP数据传输

(一)计算机网络 通过某种方式将多台计算机进行连接,实现多台计算机彼此之间的互联以及数据的交换。即在不同的计算机上编写一些实现了网络连接的程序,这些程序可以实现位于同一个网络中的计算机之间的数据的交换。 (二)网络通信协议 同一个网络中的计算机进行连接和通信时的规则,目前应用最广泛的是TCP/IP协议(包括,IP协议、TCP协议,UDP协议,ICMP协议等)。在进行数据传输时,要求发送的数据与接收到的数据完全一样,这时,就需要在原有的数据上添加很多信息,以保证数据在传输过程中数据格式完全一致。
分类: 其他 发布时间: 01-30 22:00 阅读次数: 0

TCP网络通讯中connect、socket、listen、accept和setsockopt函数详解

1、TCP编程的核心步骤 2、socket函数 int socket(int domain, int type, int protocol); socket函数类似于open,用来打开一个网络连接,如果成功则返回一个网络文件描述符(int类型),之后我们操作这个网络连接都通过这个网络文件描述符。 参数详解: dimain: 域,网络域,网络地址范围(IPV4或IPV6等),也就是协议簇; AF_INET ip AF_INET6 ipv6 AF_PACKET packet PF_PACKET
分类: 其他 发布时间: 01-30 22:00 阅读次数: 0

UDP传输中sendto和recvfrom函数

int sendto (int s, const void *buf, int len, unsigned int flags, const struct sockaddr *to, int tolen); sendto(),是把UDP数据报发给指定地址; 在无连接的数据报socket方式下,由于本地socket并没有与远端机器建立连接,所以在发送数据时应指明目的地址。 参数详解: s:一个标识套接口的描述字。 buf:包含待发送数据的缓冲区。 len:buf缓冲区中数据的长度。 flags:
分类: 其他 发布时间: 01-30 22:00 阅读次数: 0

DSP C6455与上位机实现UDP数据传输

本文主要实现DSP TMSC6455与上位机(平台:Qt)UDP传输数据。刚开始,尝试将NDK提供的Helloworld例程跑通。需要配置的文件均配置好,可以编译通过,但是将out文件load之后,运行不对,始终接收不到数据。后来我参考链接(http://e2e.ti.com/support/processors/f/791/t/365786)将UDP配置部分加入到自己原来的工程中,可以实现双向通讯了。也见网上有网友讲,Helloworld例程无法正常运行,是缺少TaskSleep(1)。没有
分类: 其他 发布时间: 01-30 22:00 阅读次数: 0

win10操作系统安装ISE14.7

1、运行Xilinx_ISE_DS_Win_14.7_1015_1目录下的xsetup.exe的应用程序; 2、在弹出的Welcom对话框中选择Next; 3、勾上图中的两个勾,接收条款,再点击Next; 4、勾下图中的勾,接收条款,再点击Next; 5、选择ISE Design Suite System Edition(默认),再点击Next; 6、保持默认的安装选项,这里有一项Install Cable Drivers,这是安装下载器的驱动,一定要安装。再点击Next; 7、最好都使用默认
分类: 其他 发布时间: 01-30 22:00 阅读次数: 0

ModelSim_10.1a安装教程

ModelSim_10.1a的安装比较简单,双击“modelsim_win64_10.1a-se.exe”,开始安装。后续一直默认安装即可。安装完成之后,先别着急打开Modelsim,不然打开会出现错误。需要破解。 1、打开“Modelsim 10.1a crack”文件夹,将MentorKG.exe和patch_dll.bat两个文件黏贴到Modelsim的安装目录“C:\modeltech_10.a\win64\win64”文件夹下。 2、双击"patch_dll.bat",会提示是否运行
分类: 其他 发布时间: 01-30 22:00 阅读次数: 0

ISE14.7联合Modelsim10.1a设置

本文介绍ISE工具调用modelsim工具进行仿真,在modelsim工具中调用ISE工具中的仿真库文件。 1、产生ISE仿真库文件,在“Xilinx Design Tools->ISE Design Suite->ISE Design Tools->64-bit Tools->Simulation Library Complication Wizard”选项,点击打开。 2、在“Select Simulation”下面选中Modelsim版本,在这里选择“Modelsim SE”。在“Sim
分类: 其他 发布时间: 01-30 22:00 阅读次数: 0

持续更新——Qt与opencv 图像处理 随笔记录

本博客主要记录自己平时查找的图像处理的方法。 1、读入本地图像,提取单通道图像,截取ROI区域,保存图像 //读入图像 Mat img = imread("./dataset/imgpictures_car1/00497.jpg"); //提取单通道图 vector<Mat> channels; split(img, channels); imgSingle = channels.at(1); //截取ROI区域 //Rect(rect.x, rect.y, rect.width, rect
分类: 其他 发布时间: 01-30 22:00 阅读次数: 0

《算法设计与分析》模拟退火算法解决作业车间调度问题

一、作业车间调度问题描述 作业车间调度问题(Job Shop Scheduling, JSP)是最经典的几个NP-hard问题之一。其应用领域极其广泛,涉及航母调度,机场飞机调度,港口码头货船调度,汽车加工流水线等。 JSP问题描述:一个加工系统有M台机器,要求加工N个作业,其中,作业i包含工序数为Li。令,则L为任务集的总工序数。其中,各工序的加工时间已确定,并且每个作业必须按照工序的先后顺序加工。调度的任务是安排所有作业的加工调度排序,约束条件被满足的同时,使性能指标得到优化。 作业车间调
分类: 其他 发布时间: 01-30 22:00 阅读次数: 0

持续更新——DSP TMSC320C6000 和 CCS3.3 随笔记录

1、DSP CCS工程文件构成 (1) 源文件(*.c *.asm) (2) 头文件(*.h *.inc) (3) cmd文件分为2种。 一种是用来分配RAM空间的,用来将程序下载到RAM内调试,因为开发过程中大部分时间在调试程序,因此多用这类cmd; 一种是分配Flash空间的,当程序调试完毕后,需要将其烧写到Flash中固化。 (4)库文件(*.lib *.dll) 库文件包含了寄存器的地址和对应标示符的定义,还包括了标准C/C++运行支持库函数。 *.lib为静态库文件,在编译时调用,调
分类: 其他 发布时间: 01-30 22:00 阅读次数: 0

caffe实际运行中遇到的问题

https://blog.csdn.net/u010417185/article/details/52649178 1、均值计算是否需要统一图像的尺寸? 在图像计算均值时,应该先统一图像的尺寸,否则会报出错误的。 粘贴一部分官方语言: 均值削减是数据预处理中常见的处理方式,按照之前在学习ufldl教程PCA的一章时,对于图像介绍了两种:第一种常用的方式叫做dimension_mean(个人命名),是依据输入数据的维度,每个维度内进行削减,这个也是常见的做法;第二种叫做per_image_mea
分类: 其他 发布时间: 01-30 21:54 阅读次数: 0

Burpsuite 2.0.11 Beta 破解

1.解包 jar xvf burpsuite_pro_v2.0.11beta.jar 自行定制,删除自带chrome和7zip软件包之后,软件精简至39M。 2.打包 jar cvfm META-INF/MANIFEST.MF burpsuite-new.jar ./ (默认压缩打包) 使用jar cvfm0不压缩。 链接: https://pan.baidu.com/s/1gZ5WKtNU1vy94zWWa14PIg 提取码: 52ph 复制这段内容后打开百度网盘手机App,操作更方便哦
分类: 其他 发布时间: 01-30 21:54 阅读次数: 0

Python3 yield使用总结

最近开始学习爬虫框架Scrapy,看大牛写的博客时,发现有段代码不知道如何理解,对,就是它:关键字yield该怎么理解? 在详细查询了文档说明后,得出以下结论: 一个带有 yield 的函数就是一个 generator,它和普通函数不同,生成一个 generator 看起来像函数调用,但不会执行任何函数代码,直到对其调用 next()(在 for 循环中会自动调用 next())才开始执行。虽然执行流程仍按函数的流程执行,但每执行到一个 yield 语句就会中断,并返回一个迭代值,下次执行时从
分类: 其他 发布时间: 01-30 21:54 阅读次数: 0