最近笔者在调试一个DSP程序时,发现在ad外设初始化时无法正常执行,单步检查,发现当执行到调用 DELAY_US(1000);语句时,就跳入非法. 进一步追查,DELAY_US()是宏定义函数,在笔者的程序中实际调用的是F28x_usDelay(),而这个函数是TI提供的库函数,因为笔者使用了基于FLASH的CMD文件,所以这个函数被分配在FLASH中,但需要复制到RAM中运行. 仔细检查了笔者的程序,发现复制相关函数到ram区的代码部分,即 memcpy(&RamfuncsRunStart,…
北京太速科技有限公司 大数据智能计算,是未来的一个发展趋势,大数据计算系统主要完成数据的存储和管理:数据的检索与智能计算. 特别是在智能城市领域,由于人口聚集给城市带来了交通.医疗.建筑等各方面的压力,需要城市能够更合理地进行资源布局和调配,智慧城市是通过物与物.物与人.人与人的互联互通能力.全面感知能力和信息利用能力,通过物联网.移动互联网.云计算等新一代信息技术,实现城市高效的政府管理.便捷的民生服务.可持续的产业发展.引入了大数据处理技术.大数据是智慧城市的核心智慧引擎.智慧安防.智慧交通…
http://www.ti.com/tool/tina-ti http://focus.ti.com/en/download/aap/DesignEnv/FilterPro-DT/FilterProDTSetup.exe   TI公司英文网站下的WEBENCH Design Center(对应网址:http://www.ti.com/lsds/ti/analog/webench/overview.page)内有很多软件工具,包括电源,滤波器,放大器等设计和仿真.…
在Eclipse中,有时候需要跨工程调用其他工程中的方法.如下面有两个Java Project : 如果要在A工程中调用B工程中的类,可以将B工程添加到A工程中: A---- >Build Path---- >Configure Build Path---- >Java Build Path 选择Projects 这样在项目A中的类就可以直接import B项目中的类啦.…
CPU訪问corePac内部资源(L1.L2)时的内存保护(通过设置内存的訪问权限实现)等问题请參考以下两个blog.已经叙述的非常具体. "TI C66x DSP 系统events及其应用 - 2","TI C66x DSP 系统events及其应用 - 3".…
目的: 实现使用C++编写代码供Android工程调用.C++代码中可以使用STL库,也可以使用常用的由源码编译生成的库,如PBC.因为PBC是基于GMP库的,所以这里只记录了GMP和PBC库的编译安装方法,其它库的方法类似. 特点: 不使用集成的ndk-build功能,不需要在jni目录下写c文件和mk文件,而是从NDK中提取出交叉编译toolchain,这样可以在CodeBlocks等环境中建立独立工程进行C++代码的开发,然后编译生成动态库交给Android工程来加载. 准备工作: 一个搭…
系统event 0~127(包含了eventCombiner的输出event 0~3)与CPU支持的12个可屏蔽中断是通过INTMUX寄存器进行映射的(不包含NMI.RESET).能够选择将系统event 0~127中的event通过INTMUX映射到某一个可屏蔽中断(INT4~15). TI C66x DSP每一个CPU有3个INTMUX寄存器(INTMUX 1~3),下图中的Interrupt selector的功能就是通过INTMUX寄存器实现的. watermark/2/text/aHR…
外设訪问corePac内部资源(L1,L2)时的内存保护等问题请參考以下两个blog.已经叙述的非常具体. "TI C66x DSP 系统events及其应用 - 2","TI C66x DSP 系统events及其应用 - 3".…
公司的代码中sql语句,可能会被多个方法进行调用,但是有的方法会关联到别的表,这样的话,如果修改不当,那么同样调用该sql语句的方法,会出现报错. 最近做的公司的一个功能,就出现这样一个问题,虽然本功能完成,但是调用该sql的其他方法,出现严重错误,虽然可以不同的方法些不同的sql语句,就可以解决该方法,但是公司的代码这样,痛另外一种方法解决. 该问题出现需求背景:这个需求是在做物流系统,这次要在前台页面显示的信息中增加一个字段,而要显示这个字段,就得在关联两张新表,所以在前台页面中增加一个in…
调用System.gc没有立即执行的解决方法 查看源码 当我们调用System.gc()的时候,其实并不会马上进行垃圾回收,甚至不一定会执行垃圾回收,查看系统源码可以看到 /** * Indicates to the VM that it would be a good time to run the * garbage collector. Note that this is a hint only. There is no guarantee * that the garbage colle…
调用libpci库出现的问题和解决方法   本方案以pciutils-3.5.1为例.   1. 从以下地址下载pciutils-3.5.1.tar.xz https://www.kernel.org/pub/software/utils/pciutils/ 2. 然后 [root@localhost terry]# xz –d pciutils-3.5.1.tar.xz [root@localhost terry]tar xvf pciutils-3.5.1.tar [root@localho…
文章转载自:关于调用notifyDataSetChanged刷新PullToRefreshListView列表无反应解决办法 | TeachCourse…
美国德州仪器(Texas Instruments)公司,简称TI,是全球领先的半导体公司,成立于1930 年,成立之初是一家使用地震信号处理技术勘探原油的地质勘探公司,1951年更名为德州仪器公司,1954年进入半导体市场,推出首款商用硅晶体管.世界第一块集成电路,就是德州仪器的工程师杰克·基尔比(Jack Kilby,1923年11月8日-2005年6月20日)于1958年发明的.下面右图中的老人即为基尔比.        目前,德州仪器为信号处理领域提供创新的数字信号处理(DSP)及模拟器件…
说明:公司里的工程中,使用VS_UCOS来调试应用程序.业务逻辑.方法是嵌入式和VS分别建一个工程,把底层驱动部分分别添加各自需要的源文件,头文件使用同一个.也就是嵌入式的驱动函数名和参数和VS的函数名和参数是一致的,只是用自己的方式来实现.这样需要调底层驱动时可以嵌入式仿真器来调试,而调应用时,可以直接在VS里修改.但需要注意的是如果修改驱动时,可能VS工程的文件也需要相应的修改:还有PC和嵌入式的差别,如响应速度等.在实际的项目中也可以通过VS工程来查找问题和数据的正确性.嵌入式平时运行的数…
1. 问题的提出 工程a是一个soft core,用VHDL写的,综合的时候去掉了"Add I/O buffers" ,并将-iob(Pack I/O Registers into IOBs)置为否.综合最后生成了a.ngc文件供其他工程使用.在生成完ngc后,还可以在 "Design Utilities" -> "View HDL Instantiation Template" 中生成相应的调用文件. 工程b调用的a.ngc,但是工程b使…
在代码维护中遇到过这种问题,CPU訪问了corePac的外部内存空间0x75510C55地址,即CPU向corePac的L2内存控制器发起了对该内存的訪问,然后L2内存控制器将该请求发给corePac的XMC模块,XMC模块依据配置好的寄存器(即32bit虚拟地址到36位物理地址的映射与内存权限寄存器,每一个大小为16M的内存段用一个寄存器设置,每一个CPU均有相同的多个此种寄存器)检查该地址是否合法.发现该地址没有在不论什么一个这种寄存器中设置,即XMC将该内存视为非法地址.然会会通过L2内存…
遇到个诡异的问题,28335的DSP,之前程序调试一切正常,但是烧写FLASH后,拔掉仿真器却始终部工作. 解决思路: 1) 检查配置文件貌似没什么问题,复制到其他工程,在开发板上拔掉仿真器启动正常.这部分应该没问题. 2) 检查DSP 启动选择部分 XA12~XA15,看起来没问题. 3) 检查DSP上电部分,使用示波器测试,TPS3305工作正常,/RESET信号正常. 正当不知所措的时候,用示波器看了下有源晶振输出,结果DSP启动了.下电,再测,DSP不启动的时候,晶振输出呈锯齿波,不同于…
本实例代码在lz的资源中有上传,有需要的可以参考(下载后的文件解压后有两个,一个直接导入myeclipse工程,另外的jar放在hadoop的lib下面,只需修改Utils中的ip即可运行该程序): 这里主要讲下设计思路: 首先进入页面后是一个frame框,上面是固定页面,下面是一个输入页面.输入页面输入要运行hadoop word count程序的输入和输出路径,然后提交路径到servlet A,servlet A中new一个Thread来启动wordcount程序(并初始化Job,这个Job…
1.建一个OC工程命名为SwiftOC.如图所示: 2.新建一个swfit文件命名为Test.swift,会弹出提示,选择Create Bridging Header建立桥接文件,系统会建立“工程名-Bridging-Header.h”,如图所示: 3.配置工程设置Defines Module 为Yes 设置Product Module Name 为当前工程名 此时系统会为工程创建一个“工程名-Swift.h”的文件,此文件不可手动创建,必须使用系统创建的. 4.创建一个Test2.swift…
swift语言简洁,上手之后感觉还不错,今天在使用swift调用cocoapods的AFNetworking时候总是提示“'AFNetworking/AFNetworking.h' file not found”,stackOverflow上面查了查没有发现最终解决办法,最后吃午饭回来,想是不是不应该在Project层次修改Bridging的路径,于是选中Objective-C Bridging Header然后Delete,再选中下面一行的Traget里的Objective-C Bridgin…
C66x DSP运行中断的简要流程: 1.使能了全局中断和子中断.假设硬件检測到中断发生,那么CPU就要跳转. 2.软件把CPU内部的A,B类寄存器的值等推入堆栈保存,把当前PC寄存器的值放入IRP寄存器中以备中断返回能找到当前被打断的位置. 3.CPU的PC指针读出中断向量表的地址,也就是把"ISTP寄存器的ISTB值+子中断向量偏移量"装入PC寄存器,这样就运行跳转. 4.在中断向量表里一般有就用跳转指令,这样就能够跳转到我们用C语言编写的中断服务子程序中.因为我们在一般的中断服务…
//to do 原       因:  发现 自身demo的程序的shaders更新了  但是公司程序却没有更新 解决办法:更新公司程序的shaders 为最新版本 吸取的教训: 不仅仅要更新公司程序 so  如果改动了shader  还要同步更新shader   xml  等等 ...…
废话不多说,直接上源代码,最后有使用方法,当然,也可以作为普通公用类使用,只是封装成JAR更方便使用. package db.util; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.sql.CallableStatement; import java.sql.Connection;…
本文主要介绍如何将一个依赖 Makefile 项目(MIDG)移植到 CMake 上. 首先介绍项目文件结构,文件主要由三个目录组成 3rdParty include src 其中,3rdParty 中包含两个外部函数库,即 Metis 与 ParMetis,生成两个静态链接库 libmetis.a 与 libparmetis.a. src 包含项目所有源程序, include 则包含了全部头文件. 因此,我们在根目录下 cmake 配置文件内容如下 cmake_minimum_required…
估计没什么价值,单纯地记录下时间,以便以后查看.   TMS320F28335 STM32f030 i3 4170 i3 4170 主频 150MHz 48MHz 3.7GHZ 3.7GHZ IDE CCS6.0 Eclipse VS2015社区版 VS2015社区版 加速技术 rts2800_fpu32.lib rts2800_fpu32_fast_supplement.lib 无 c++ c++@omp并行加速 1000次浮点计算所用微秒数 加法 133 2459 2 4 减法 133 懒得…
ISFP是服务中断的指令包,创建ISR的三种情况: 1.一个ISFP包的8条指令就能够满足ISR watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWl5ZWd1emhvdTEwMA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center"> 2,ISR能够占用多个连续的ISFP(前提是以下的中断没有使用) watermark/2/text/aHR0cDov…
以下解说在详细应用中,event与中断ISR的设置.以对QM的queue监控产生中断(不是EXCEP)为例,主要包含配置QM accumulator(用于监控QM queue)与配置ISR(ISR与event配置). 首先介绍QM accumulator的配置,QM模块中QMSS(包括QMSS Tx queue 800:831,Tx/Rx channel 0:31,RxChan,TxChan,Tx queue是一一相应的,如Tx queue是806,那么相应的TxChan与RxChan编号都是6…
中断服务表指针ISTP(Interrupt Service Table Pointer)位置寄存器用于定位的中断服务例程,那ISTP去哪里找要运行的程序,ISTP(当中的ISTB字段)就是指向IST表的寄存器.ISTP中的一个字段ISTB确定IST的地址基数部分.还有一个字段HPEINT确定特定的中断并定位特定的取指包在IST中的位置.图6-4所看到的为ISTP的各字段.表6-2描写叙述了各字段及其怎样使用. 下图为ISTP寄存器,bit 0~4必须设置为0,即IST表的起始地址或者说获取包必须…
当CPU開始处理一个中断(INT4~15)时,它将引用中断服务表(IST).IST是一个获取包括中断服务代码的包的表. IST包括16个连续的获取包.每个中断服务获取包(ISFP)包括最多14条指令(8个32bit nonheader-based 指令或者14个header-based 指令). 一个简单的中断服务程序能够放入一个独立的获取包中(也就是不用另外跳转到ISR了,14条指令足够了),若是一个ISFP不足以容纳ISR,须要再ISFP中设置跳转指令.使之跳转到ISR. 下图指示了IST的…
RESET中断的获取包必须位于0地址处,然后其它中断的获取包能够位于不论什么256字(1k字节边界)对齐的程序空间.IST的位置由ISTP寄存器中的ISTB字段决定. IST又一次定位举例: 1,将IST又一次定位到800h: 将地址0h~200h的源IST复制到800h~A00h中. 将800h写到ISTP寄存器中: MVK 800h,B2 MVC B2,ISTP 则ISTP = 800h = 1000 0000 0000b 2,ISTP引导CPU又一次定位的IST中去顶对应的ISFP(指令获…