Blackfin DSP(八):BF533的DMA
- #include <cdefBF533.h>
- #include <sys\exception.h>
- #define POLC 0x00004000
- #define PORT_CFG_2_3_EXT_FS 0x00000020
- #define XFR_TYPE_NON_ITU656 0x0000000C
- #define SLEN_32 0x001f
- #define FLOW_1 0x1000
- unsigned char iTxBuffer[];
- unsigned char iRxBuffer[];
- EX_INTERRUPT_HANDLER(Sport0_RX_ISR);
- EX_INTERRUPT_HANDLER(Sport0_TX_ISR);
- void Init_Sport1_TX(int TCLKDIV,int TFSDIV)
- {
- *pSPORT0_TCLKDIV = TCLKDIV;
- *pSPORT0_TFSDIV = TFSDIV;
- *pSPORT0_TCR1 = ITFS|TFSR|ITCLK;
- *pSPORT0_TCR2 = ;
- }
- void Init_Sport1_RX(int RCLKDIV,int RFSDIV)
- {
- *pSPORT0_RCLKDIV = RCLKDIV;
- *pSPORT0_RFSDIV = RFSDIV;
- *pSPORT0_RCR1 = IRFS|RFSR|IRCLK;
- *pSPORT0_RCR2 = ;
- }
- void Init_DMA(void)
- {
- *pDMA1_PERIPHERAL_MAP = 0x1000;
- *pDMA1_CONFIG = WNR | WDSIZE_32 | DI_EN | FLOW_1;
- *pDMA1_START_ADDR = (void *)iRxBuffer;
- *pDMA1_X_COUNT = ;
- *pDMA1_X_MODIFY = ;
- *pDMA2_PERIPHERAL_MAP = 0x2000;
- *pDMA2_CONFIG = WDSIZE_32 | DI_EN |FLOW_1;
- *pDMA2_START_ADDR = (void *)iTxBuffer;
- *pDMA2_X_COUNT = ;
- *pDMA2_X_MODIFY = ;
- }
- void Enable_DMA_Sport0_TX(void)
- {
- *pDMA2_CONFIG = (*pDMA2_CONFIG | DMAEN);
- *pSPORT0_TCR1 = (*pSPORT0_TCR1 | TSPEN);
- }
- void Enable_DMA_Sport0_RX(void)
- {
- *pDMA1_CONFIG = (*pDMA1_CONFIG | DMAEN);
- *pSPORT0_RCR1 = (*pSPORT0_RCR1 | RSPEN);;
- }
- void Init_Interrupts(void)
- {
- *pSIC_IAR0 = 0xffffffff;
- *pSIC_IAR1 = 0xfffff32f;
- *pSIC_IAR2 = 0xffffffff;
- register_handler(ik_ivg9, Sport0_RX_ISR);
- register_handler(ik_ivg10, Sport0_TX_ISR);
- *pSIC_IMASK = 0x00000600;
- }
- EX_INTERRUPT_HANDLER(Sport0_RX_ISR)
- {
- *pDMA1_IRQ_STATUS = 0x0001;
- printf("SPORT RX DMA Done!\n");
- *pSIC_IMASK &= ~0x00000200;
- }
- EX_INTERRUPT_HANDLER(Sport0_TX_ISR)
- {
- *pDMA2_IRQ_STATUS = 0x0001;
- printf("SPORT TX DMA Done!\n");
- *pSIC_IMASK &= ~0x00000400;
- }
- main()
- {
- int i;
- Set_PLL(,);
- Init_EBIU();
- Init_SDRAM();
- for(i=;i<;i++)
- iTxBuffer[i]=i;
- Init_Sport1_TX(,);
- Init_Sport1_RX(,);
- Init_Interrupts();
- Init_DMA();
- Enable_DMA_Sport0_TX();
- Enable_DMA_Sport0_RX();
- while();
- }
Blackfin DSP(八):BF533的DMA的更多相关文章
- Blackfin DSP(八):1D DMA与音频处理模板
1.DMA产生的背景 在许多需要使用DSP 的场合,一般都需要大量的数据搬移工作,而如果每次数据搬移都由DSP 内核来参与完成,将大大占用DSP 内核的处理时间,从而严重影响其信号处理能力.因此,Bl ...
- Blackfin DSP(二):寄存器操作与GPIO
BlackfinDSP的寄存器是通过指针操作的,与51.ARM等MCU一样,通过“或”操作来置1,通过“与”操作清零. 在DSP上最简单的外设非IO口莫属,但是由于其功能强大,远非一般IO口可比,因此 ...
- Blackfin DSP(五):BF533的SPI接口
533SPI的特性 最高速度可达SCLK/4: 支持主模式和从模式: 可使用8个GPIO口作为从选择线: 1 slave select input pins 7 slave select output ...
- Blackfin DSP(三):BF533 的EBIU接口之flash
上一节谈了GPIO问题,是用BF561 ezkit进行说明的,这是因为561 ezkit上的GPIO是与LED直连的,讲解GPIO时不会涉及到其它问题,降低了复杂性.对于533,也采取同样的操作即可. ...
- Blackfin DSP(四):BF533 EBIU之SDRAM
BF533的SDRAM控制器最大支持128M bytes的SDRAM空间:总线宽度可以配置为4位.8位.16位.处理器与SDRAM的连线包括数据总线D[0:15].地址总线A[1:19].SDRAM刷 ...
- Blackfin DSP(六):BF533的SPORT接口
1.特性 bf533有两个SPORT口(synchronous serial Port),即同步串行接口.完全独立的接收和发送通道,且每个通道都具有缓冲,最高速度可达SCLK/2.最大支持32bit字 ...
- Blackfin DSP(七):用SPORT口模拟SPI
1.问题的提出 当系统从SPI device启动时,若SCLK = 133M,则SPI的最大速度为33M.然而,有一些串行的flash设备能更快的运行,因此,如果我们使用SPORT口,它的最大速度为S ...
- WS2812B彩灯详细讲解篇(STM32 PWM+DMA控制 STM32 HAL库编程 循环延时控制多种控制方式)
一.效果展示 观看演示效果:https://www.bilibili.com/video/BV1JT4y1P72Q 二. 基础认识 (一) 小理论 WS2812B是一种智能控制LED光源,将控制电路 ...
- Android原生(Native)C开发之四:SDL移植笔记
http://www.apkbus.com/forum.php?mod=viewthread&tid=1989 SDL(Simple DirectMedia Layer)是一套开放源码的跨平台 ...
随机推荐
- cocos2d-x 的两大基类
cocos2d-x 有两个重要的基类,一个管理引用计数的 Ref,别一个则定义许多基本属性的 Node. 在 cocos2d-x 中的基本概念 说到 create 函数的时候提到 cocos2d-x ...
- 使用python 提取网页的特定数据转
http://blog.csdn.net/nwpulei/article/details/7272832
- 64位Win7系统下vs2010调试无法连接oracle
64位win7系统的Program Files (x86)路径中有括号,oracle不认识这样的路径,所以就出现不能连接数据库的问题.所以我们可以将vs2010的内部调试web服务器WebDev.We ...
- Android SQLiteOpenHelper(二)
上一篇我们已经了解了SQLiteOpenHelper 和 构造函数. 现在我们就来掌握一下:onCreate( ) onUpgrade( ) onDowngrade( ) public void ...
- 2016 - 1 - 23 xml解析 -- 语法简介
一: XML的概念 1. 一种可拓展标记语言 2. 与json一样,也是一种常用的数据交互格式 3. 一般也叫XML文档---XML Document 二: XML语法 1.一个完整的XML文档一 ...
- SQL Analysis Services MDX 查询超时 解决办法
当页面有很多MDX语句查询的时候,会发生超时的情况. 解决办法: SQL Analysis Services所在的服务器(OLAP的文件夹下) 找到: msmdpump.ini 将: <Conf ...
- cocos2dx 3.0 之 lua 创建类
利用3.0里面封装好的模板类来写,不罗嗦,直接上例子(消除星星小游戏中 星星类) require "extern" StarSprite = class("StarSpr ...
- 使用OpenXML操作Office文档
使用OpenXML类库, 以编程的方式来访问PowerPoint, Word, Excel等文档, 有时能够为我们批量编辑文档提供方便. 最近项目中遇到的两个任务是: 1. 替换文档中的图片的Alt ...
- Largest Number
Given a list of non negative integers, arrange them such that they form the largest number. For exam ...
- ArrayBlockingQueue-我们到底能走多远系列(42)
我们到底能走多远系列(42) 扯淡: 乘着有空,读些juc的源码学习下.后续把juc大致走一边,反正以后肯定要再来. 主题: BlockingQueue 是什么 A java.util.Queue t ...