FT-M6678开发(四)
82fdcffe56fbcc1dd2db551588416a33d54467b7340f2e7ac21428b5aac675e3386f8412c91cd2d22a980252157e819a12e15b6b7ae033dc8cce47b2e11a468b9f67087368679a8f4d3855f8ef233032b25af32848dfcf9d657e6241bedadc75f6bb57ca8d45f2c4a4a8edc5033a84bf93b5f5891844c24f5fc4a60e3fe049c4a296427c83a6d240670b9c44af8cc5f01cd9624417bd584731553a064ab801e09201e853504d62a4a7239aa72127d7058d5bdd16ccb7dc0169a1580a5ca8e620007cb2a53eb92b0cd57749baa33c462068969717bbcb9c07fb1ed08526a362e3d96ff750d55b494e2d67615a357f88c349589498fb327a2ad ...
FT-M6678开发(三)
82fdcffe56fbcc1dd2db551588416a33d54467b7340f2e7ac21428b5aac675e3386f8412c91cd2d22a980252157e819a12e15b6b7ae033dc8cce47b2e11a468b9f67087368679a8f4d3855f8ef233032b25af32848dfcf9d657e6241bedadc75f6bb57ca8d45f2c4a4a8edc5033a84bf93b5f5891844c24f5fc4a60e3fe049c4a296427c83a6d240670b9c44af8cc5f01cd9624417bd584731553a064ab801e09201e853504d62a4a7239aa72127d7058d5bdd16ccb7dc0169a1580a5ca8e620007cb2a53eb92b0cd57749baa33c462068969717bbcb9c07fb1ed08526a362e3d96ff750d55b494e2d67615a357f88c349589498fb327a2ad ...
FT-M6678开发(二)
82fdcffe56fbcc1dd2db551588416a33d54467b7340f2e7ac21428b5aac675e3386f8412c91cd2d22a980252157e819a12e15b6b7ae033dc8cce47b2e11a468b9f67087368679a8f4d3855f8ef233032b25af32848dfcf9d657e6241bedadc75f6bb57ca8d45f2c4a4a8edc5033a84bf93b5f5891844c24f5fc4a60e3fe049c4a296427c83a6d240670b9c44af8cc5f01cd9624417bd584731553a064ab801e09201e853504d62a4a7239aa72127d7058d5bdd16ccb7dc0169a1580a5ca8e620007cb2a53eb92b0cd57749baa33c462068969717bbcb9c07fb1ed08526a362e3d96ff750d55b494e2d67615a357f88c349589498fb327a2ad ...
FT-M6678开发(一)
82fdcffe56fbcc1dd2db551588416a33d54467b7340f2e7ac21428b5aac675e3386f8412c91cd2d22a980252157e819a12e15b6b7ae033dc8cce47b2e11a468b9f67087368679a8f4d3855f8ef233032b25af32848dfcf9d657e6241bedadc75f6bb57ca8d45f2c4a4a8edc5033a84bf93b5f5891844c24f5fc4a60e3fe049c4a296427c83a6d240670b9c44af8cc5f01cd9624417bd584731553a064ab801e09201e853504d62a4a7239aa72127d7058d5bdd16ccb7dc0169a1580a5ca8e620007cb2a53eb92b0cd57749baa33c462068969717bbcb9c07fb1ed08526a362e3d96ff750d55b494e2d67615a357f88c349589498fb327a2ad ...
TMS320C6455调试记录
外设使能
C6455有两个外设配置寄存器,PERCFG0和PERCFG1,大部分外设都由PERCFG0控制;PERCFG1只控制EMIFA和DDR,这个基本上在启动代码中就已经使能了。
PERCFG0中对应的外设的使能需要先往PERLOCK寄存器中写特定的值解锁后才能对PERCFG0的值进行修改,而且是有时间限制的,需要在16个SYSCLK3的周期内完成,也就是一般解锁后都紧跟着对PERCFG0的修改。修改后通过查询PERSTAT0寄存器来确认修改完成。
12345678Bool enable = FALSE;/* Unlock the control register */CSL_FINST(((CSL_DevRegs*)CSL_DEV_REGS)->PERLOCK, DEV_PERLOCK_LOCKVAL, UNLOCK);/* Enable the Powersaver clock for TIMER */CSL_FINST(((CSL_DevRegs*)CSL_DEV_REGS)->PERCFG0, DEV_PERCFG0_TIMER0CTL, ENABLE ...
TMS320C6455二维FFT和IFFT实现
参考资料:
Rafael C. Gonzalez, Richard E. Woods, 数字图像处理(第三版)4.11,配套书内资源
Alan V.Oppenheim, Ronald W.Schafer, 离散时间信号处理(第三版)9.5
SPRUEB8B - TMS320C64x+ DSP Little-Endian DSP Library Programmer’s Reference
CCS Doc, 7.8 Image Analyzer
FFT原理简介
FFT的计算在任意一本《数字信号处理》的书中肯定都有讲,我看的是《离散时间信号处理》这本书。整个第9章对DFT和FFT做了详细的介绍。
最开始讲的Goertzel算法,引入一个数字序列,通过这一序列的递推公式求第N个值,等价于计算相应的DFT的结果。虽然这一算法的计算量仍然正比于N2N^2N2,但也在一定程度上降低了计算复杂度。
而后的按时间抽取和按频率抽取的FFT算法在后面又归结为N为复合数的更为一般的FFT算法。按时间抽取的算法是比较好理解的。一个数字序列,根据标号的奇偶性分为两个序列,分别计算DFT,再由它们 ...
TMS320C6455入门实践(十)
本系列文章链接
TMS320C6455入门实践(一)——编译CSL静态库
TMS320C6455入门实践(二)——中断相关
TMS320C6455入门实践(三)——PLL相关
TMS320C6455入门实践(四)——GPIO与定时器
TMS320C6455入门实践(五)——cmd链接脚本
TMS320C6455入门实践(六)——编写boot程序
TMS320C6455入门实践(七)——生成启动镜像
TMS320C6455入门实践(八)——Flash驱动与程序固化
TMS320C6455入门实践(九)——DDR上运行代码
TMS320C6455入门实践(十)——EDMA3相关
本文主要介绍TMS320C6455的与EDMA3相关的内容,参考文档为:
SPRU966C - TMS320C645x DSP Enhanced DMA (EDMA3) Controller User’s Guide
整体结构
学习一种外设的使用,最直接的方法就是看例程。基本上只要能够掌握主要寄存器的功能,就可以比较得心应手了。
C6455的EDMA3包括了一个 ...
TMS320C6455入门实践(九)
本系列文章链接
TMS320C6455入门实践(一)——编译CSL静态库
TMS320C6455入门实践(二)——中断相关
TMS320C6455入门实践(三)——PLL相关
TMS320C6455入门实践(四)——GPIO与定时器
TMS320C6455入门实践(五)——cmd链接脚本
TMS320C6455入门实践(六)——编写boot程序
TMS320C6455入门实践(七)——生成启动镜像
TMS320C6455入门实践(八)——Flash驱动与程序固化
TMS320C6455入门实践(九)——DDR上运行代码
TMS320C6455入门实践(十)——EDMA3相关
本文主要介绍将程序放到DDR上运行的方法,参考文档为:
SPRAA74A - Creating Device Initialization GEL Files
SPRU970G - TMS320C6455/C6454 DSP DDR2 Memory Controller User’s Guide
DDR数据手册 - Micron Automotive DDR2 SDR ...
TMS320C6455入门实践(八)
本系列文章链接
TMS320C6455入门实践(一)——编译CSL静态库
TMS320C6455入门实践(二)——中断相关
TMS320C6455入门实践(三)——PLL相关
TMS320C6455入门实践(四)——GPIO与定时器
TMS320C6455入门实践(五)——cmd链接脚本
TMS320C6455入门实践(六)——编写boot程序
TMS320C6455入门实践(七)——生成启动镜像
TMS320C6455入门实践(八)——Flash驱动与程序固化
TMS320C6455入门实践(九)——DDR上运行代码
TMS320C6455入门实践(十)——EDMA3相关
本文主要介绍Flash驱动、C6455的EMIF接口与程序固化,参考文档为:
SPRU971E - TMS320C645x DSP External Memory Interface (EMIF) User’s Guide
S29JL064J 64-Mb (8M × 8-Bit/4M × 16-Bit), 3V, Simultaneous Read/Write Fla ...
TMS320C6455入门实践(七)
本系列文章链接
TMS320C6455入门实践(一)——编译CSL静态库
TMS320C6455入门实践(二)——中断相关
TMS320C6455入门实践(三)——PLL相关
TMS320C6455入门实践(四)——GPIO与定时器
TMS320C6455入门实践(五)——cmd链接脚本
TMS320C6455入门实践(六)——编写boot程序
TMS320C6455入门实践(七)——生成启动镜像
TMS320C6455入门实践(八)——Flash驱动与程序固化
TMS320C6455入门实践(九)——DDR上运行代码
TMS320C6455入门实践(十)——EDMA3相关
本文主要介绍hex6x工具的使用和实现“.out”文件转“.hex”,从而生成启动镜像,参考文档为:
SPRU186W - TMS320C6000 Assembly Language Tools v7.4 User’s Guide
hex6x工具的使用
C6000 Compiler提供了一个“.out”文件转“.hex”文件的工具“hex6x.exe”,在编译器 ...