自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

老刘老牛

学习---永不止步

  • 博客(37)
  • 资源 (1)
  • 收藏
  • 关注

转载 学习 ARM 系列 -- FS2410 开发板上的中断编程

学习 ARM 系列 -- FS2410 开发板上的中断编程一、目的   中断服务程序在操作系统中无疑占有非常重要的地位,编写中断程序不仅要会运用底层的汇编语言,还要了解 ARM 的体系架构。那这一节我们就通过中断编程来响应 FS2410开发板上的 16 个按键,实现依次按下16个键时,D9~D12 四个 Led 从 0~15 进行计数,并通过上个实验实现的 uart_print

2012-03-31 10:30:39 414

转载 DSP/BIOS入门

DSP/BIOS入门 1          DSP/BIOS简介DSP/BIOS是CCS中集成的一个简易的嵌入式实时操作系统,能够大大方便用户编写多任务应用程序。DSP/BIOS拥有很多实时嵌入式操作系统的功能,如任务的调度,任务间的同步和通信,内存管理,实时时钟管理,中断服务管理等。有了它,用户可以编写复杂的多线程程序,并且会占用更少的CPU和内存资源。DSP/BIOS是一个可用于实

2012-03-30 10:17:54 320

转载 堆(Heap)和栈(Stack)的区别

堆(Heap)和栈(Stack)的区别 1、 内存分配方面   堆:一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式是类似于链表。可能用到的关键字如下:new、malloc、delete、free等等。   栈:由编译器(Compiler)自动分配释放,存放函数的参数值,局部变

2012-03-30 01:02:24 409

转载 linux 驱动编程

http://blog.csdn.net/lzgamg/article/details/749777 驱动 目 录驱动I/O端口from smth基本结构驱动程序具体实现PCIloopbackSis 900ISA总线DMA的实现驱动    Linux系统支持三种类型的硬件设备:字符设备、块设

2012-03-21 10:33:19 723

转载 Linux驱动编程 step-by-step (十) Linux 内核链表

终于可以清闲下来打理一下我的blog了,台资企业真的事情很多很烦……前几篇文章对字符设备有个简单介绍,并以简单的一个字符设备驱动作结尾,其实linux上大部分驱动程序都是字符设备程序,Linux源码中也可以看到很多的字符设备驱动,所以供学习的代码还是很多的。这一节本想说一下如何测试设备驱动,但是因为最近看了看内核链标,所以称还记的比较清楚赶紧记录下来。有不到位的地方烦请指正。Lin

2012-03-21 10:31:09 302

转载 Linux驱动编程 step-by-step (九)字符设备模拟pipe的驱动程序

字符设备模拟pipe的驱动程序让我们用一个”pipe“的设备驱动去结束简单字符设备吧(这里所说的pipe并非标准的pipe只是模拟了一个从一端写入从另一端写入的设备)测试代码1      测试代码2设计思路用一个图来说明(可是画了很久哟)简单说来就是一个进程写入缓冲区,另一个进程可以读出,读出后原buffer中的数据被置为无效值,自定义一个结构[cpp]

2012-03-21 10:25:15 390

转载 Linux驱动编程 step-by-step (八) 阻塞型字符设备驱动

阻塞型字符设备驱动前面说到了 如何实现read write 等操作,但如果设备缓冲已满,现在想而用户此时又想写入设备,此请求就无法立即执行,那怎么办呢?第一种情况是:驱动程序想用户返回请求失败的信息。第二种情况是:使调用进程阻塞等待设备可以被操作。而用户更希望自己选择在请求无法满足时候如何操作,所以在用户空间有了O_NONBLOCK标志在打开设备的时候如果用户指定了此标志(

2012-03-21 10:24:02 328

转载 Linux驱动编程 step-by-step (七) 并发 竞态 (信号量与自旋锁)

并发 竞态 (信号量与自旋锁)代码传至并发竞态控制并发进程 导致竞态的一个例子前面所述的字符驱动都是没有考虑并发竟态的情况,想象一下一个进程去读一个字符设备,另一个进程在同一时间向这个设备写入(完全有这种情况)原来设备中存有 A B C D 要想设备写入1 2 3 4 每次读写一个字节t1t2t3t4t5t6t7t8

2012-03-21 10:22:56 384

转载 Linux驱动编程 step-by-step (六) 用户地址检测 简单模块调试 以及一些杂项

说点上节没有讲完的话题用户地址检测 简单模块调试 以及一些杂项检测用户空间地址的有效性上一节中提到在read write时候要检测用户空间传递的参数地址是否是有效地址,有的内核函数会自行检测,但是在调用轻量级的内核函数时候,就可能不去检测用户空间的地址是否有效,如果此时用户无传递一个无效地址,而内核函数去操作了它,这时棘手的问题出现了,轻则内核oops 关机重启就OK了,在特别严重

2012-03-21 10:19:46 331

转载 Linux驱动编程 step-by-step (五)主要的文件操作方法实现

主要的文件操作方法实现文件操作函数有很多的操作接口,驱动编程需要实现这些接口,在用户编程时候系统调用时候会调用到这些操作[cpp] view plaincopyprint?struct file_operations {      ...      loff_t (*llseek) (struct file *, loff_t, int);      ssize

2012-03-21 10:17:13 367

转载 Linux驱动编程 step-by-step (四) 字符设备的注册与设备节点的自动创建

似乎每一章介绍的内容比较少,但学习是一个循序渐进的过程,不在于一天学多少,重要的一天能真正的学懂多少,所以我主张一步一步来,从多个渠道去学习知识,实现互补。本节测试代码传到此处了:char_step1 大家可以下载测试一下。字符设备的注册与设备节点的自动创建cdev 结构内核内部使用struct cdev来表示一个字符设备struct cdev {    struc

2012-03-21 10:15:51 1014

转载 Linux驱动编程 step-by-step (三) 字符设备中 重要的数据结构

字符设备中 重要的数据结构大部分字符驱动设计三个重要的数据结构struct file_operationsstruct filestruct inode 一、文件操作           在之前的一篇文章中已经有介绍了如何去生情字符设备设备号,但是没有做任何的工作,也就只能写一个不能工作的字符设备;struct file_operations 结构域用来

2012-03-21 10:13:19 452

转载 Linux驱动编程 step-by-step (二) 简单字符设备驱动

简单字符设备驱动1、主次设备号主设备号标识设备连接的的驱动,此设备好由内核使用,标识在相应驱动下得对应的设备在linux中设备号是一个32位的dev_t类型typedef __u32    __kernel_dev_t;typedef __kernel_dev_t    dev_t;crw------- 1 root  root  10, 1 Apr 11

2012-03-21 10:12:03 430

转载 Linux驱动编程 step-by-step (一)驱动程序的作用

http://blog.csdn.net/jshazk1989?viewmode=contents第三次看了LDD3了(虽然现在已经是kernel3.0但从这本书商还是能学到很多) 每次都有一些收获 现在终于能够些一些代码了驱动程序的作用:简单来说 驱动程序就是使计算机与设备通信的特殊的代码,在作单片机时候(无OS)我们自己定义接口及自定义的结构来操作相关硬件,而在有OS的

2012-03-21 10:11:02 434

转载 嵌入式Linux学习建议(上中下)

经常在网上看到不少人询问应如何学习嵌入式Linux。这确实是个非常困扰初学者的问题:一个新手面对着琳琅满目的开发板、各种各样的参考书和社会上五花八门的培训机构,照单全收吗?自己的精力和时间是绝对不够分配的。挑一个吧:自己又全无经验,而嵌入式Linux的学习又同时涉及硬件、软件等多方面的知识;万一选择不当,事倍功半还是好的;运气不好的话,搭上大量时间和精力辛辛苦苦学习半天最后还是一无所成,想想也是很

2012-03-20 15:40:13 824

转载 嵌入式Linux学习1——Linux相关命令介绍

嵌入式Linux学习1——Linux相关命令介绍 刚刚 开始研究 嵌入式Linux 感觉 比较难 接下来的日子里 我会与大家 一起分享我的学习成果 也作为我的学习笔记吧“学习贵在坚持,别畏难”首先是 Linux 的基础Linux 的特点:1.免费 开源2.可移植性,设备平台无关性3.强大的网络功能4.POSIX(可移植操作系统接口)标准5.多任务

2012-03-20 15:32:29 544

转载 多线程编程之重点--使用DSP/BIOS时选择线程类型的参考方法

多线程编程之重点--使用DSP/BIOS时选择线程类型的参考方法了解以下这些,对在DSP/BIOS上设计多线程应用程序就是轻而易举的事件。DSP/BIOS支持多种类型线程,每种类型线程且有不同执行及抢先点,下表列出了这些线程的一些特点。线程选择的一些原则对线程选择基于对下面这个问题的回答:在应用程序中,这个线程是否具有实时性(线程必须在严格的时间段内结束,以及不允许被抢

2012-03-20 13:20:55 424

转载 详解FlashBurn的hex文件烧写 seed 642

详解FlashBurn的hex文件烧写  实现在FLASH存储器烧写程序一般有以下三种方法:一是通过编程器下载烧写;二是通过开发商提供的专门软件工具+在线仿真器烧写;三是自己编程通过DSP烧写。个人使用的是合众达电子SEED-VPM642开发板,在最新版本例程中提供了专用的烧写软件SeedConvertTool.exe;但为了实现通用的FLASHBURN烧写,我进行了一些尝试以

2012-03-20 11:48:44 668

转载 DSP学习的三个阶段

DSP学习的三个阶段  研究生期间断断续续做过TI  DSP研究,从一个对嵌入式一点也没有了解的新手到快毕业时完成一个自认为满意的项目,其中走过很多弯路,现在把我对DSP学习的心得和一些参考文献列出来,可能对初学者具有帮助。   实验室用的是一款闻亭的DM642开发板,当时这款开发板还比较新,国内中文资料很少,而且闻亭但是的例子程序均是采用TI的原程序,不像合众达的例子程序容易

2012-03-20 11:47:13 410

转载 关于DSP多线程技术问题的认识

关于DSP多线程技术问题的认识为了让DSP能够同时处理多个任务,DSP/BIOS提供了如下几种类型的线程。HWI(硬件中断),SWI(软件中断),TSK(任务),IDL(空闲线程)。HWI其实就是中断服务。当硬件中断产生之后,DSP/BIOS就会调用相应的HWI函数。如果把HWI设置为Dispatch的话,则会在调用HWI函数的前后自动调用HWI_enter和HWI_exit。在HWI

2012-03-20 11:37:38 897

转载 右移赋值运算符 (>>=)

右移赋值运算符 (>>=)变量值右移表达式值所规定的位数,保持符号不变,并将结果赋给该变量。result >>= expression参数result任何变量。expression任何表达式。说明使用 >>= 运算符和使用下面的语句是等效的: result = result >> expression>>= 运算符把 result 的所有位向右移 exp

2012-03-20 00:49:11 1531

转载 C语言面试题大汇总

C语言面试题大汇总4. static有什么用途?(请至少说明两种)1.限制变量的作用域2.设置变量的存储域7. 引用与指针有什么区别?1) 引用必须被初始化,指针不必。2) 引用初始化以后不能被改变,指针可以改变所指的对象。2) 不存在指向空值的引用,但是存在指向空值的指针。8. 描述实时系统的基本特性在特定时间内完成特定的任务,实时性与可靠性9. 全局

2012-03-19 22:59:45 487

转载 C/C++ 笔试、面试题目大汇总

C/C++ 笔试、面试题目大汇总1.求下面函数的返回值(微软)int func(x) { int countx = 0; while(x) { countx ++; x = x&(x-1); } return countx; } 假定x = 9999。 答案:8思路:将x转化为2进制,看含有的1的个数。2. 什么是“引用”?申明和使用“引用”

2012-03-19 22:58:35 288

转载 C语言嵌入式系统编程修炼之道

C语言嵌入式系统编程修炼之道 C语言嵌入式系统编程修炼之道——背景篇C语言嵌入式系统编程修炼之道——软件架构篇1.模块划分2.多任务还是单任务3.单任务程序典型架构4.中断服务程序5.硬件驱动模块6.C的面向对象化总结C语言嵌入式系统编程修炼之道——内存操作篇1.数据指针2.函数指针3.数组vs.动态申请4.关键字const5.关

2012-03-19 17:06:52 365

转载 对DM6446的评价

对DM6446的评价(大家一定要看完了!) [DSP] 发布时间:2007-11-27 02:14:19   最后说TI,因为它是视频处理领域最强势的企业,中高端的视频处理,几乎是TI一家独大。DM642是一款划时代的东西,就像当年火炮的出现一样,DM642一面世,就注定了是最强者。的确,无论是从前端、后端、还是DSP处理能力,还是技术支持,还是相关推广,TI都倾尽全力,当然,TI

2012-03-15 22:35:18 1071

转载 VPM642学习之串口通信

VPM642采用TL16C752B通用异步收发器UART,其上包含两路相互独立的异步收发器,接受和发送各带64字节FIFO,并且各自带有Modem接口信号,最高传输速率为1.5Mbps        在VPM642中,TL16C752B(以下简称752B)与EMIFA之CE1相连。        752B每个通道包含18个寄存器,通过地址A2~A0以及寄存器位对他们进行寻址。A,B两通道分

2012-03-15 22:29:07 488

转载 如何有效解决C与C++的相互调用问题

在实际工作中可能经常要进行C和C++的混合编程,C++调用C语言的代码通常都比较容易,但也有一些细节需要注意。C要调用C++的代码就略为麻烦一些,因为C不支持面向对象的特征。首先我们来看一下C++调用C语言的代码。要让你的C代码既能被C代码又能被C++调用虽说容易,但是还是有需要注意的地方。现有三个文件分别如下:/* file TestC.h */#ifndef TESTC_H#d

2012-03-15 20:51:44 284

转载 基于TI C6000系列DSP的C/C++程序优化技术

摘 要:在现代DSP的开发中,越来越多地采用C/c++作为开发语言,而C/C++程序的优化成为DSP’软件开发的重要环节。在此介绍TI C6000的软件开发流程,重点讨论C6000系列的C/C++程序优化技术,包括优化流程,C/C++代码优化方法,编写线形汇编代码优化方法等。为DSP的C/C++软件开发提供了全面的程序优化技术和方法,对实际系统的开发具有重要的现实意义。0 引 言

2012-03-14 15:51:00 1407

转载 modbus.c

分类: 通讯接口 2005-08-19 10:11 989人阅读 评论(0)收藏举报#ifdef MODBUS////******************************************************************************//  CRC 16 Data Table//  *****************con

2012-03-14 13:29:44 1236

转载 MODBUS RTU MASTER的C语言代码

[csharp] view plaincopy这是我几年前写的一个关于MODBUS RTU MASTER的C语言代码,用于嵌入式控制器内。另一个触摸屏MCGS_E作为MODBUS RTU SLAVE。  [csharp] view plaincopy下面是相关代码,以前测试过,可以运行。由于目前的代码尚有很多地方值得改进,所以近期想把它改进重写。高手

2012-03-14 13:25:47 5506 4

转载 Visual C++开发工具与调试技巧整理

分类: VC++程序设计 2011-05-19 23:10 44人阅读 评论(0)收藏举报Visual C++开发工具与调试技巧整理自己总是用VC平台来开发东西,但是有时候总是出这样那样的问题,呵呵,总是需要上网查资料来解决,在这里把自己用到上网查的一些技巧摘录如下,希望对大家有用,省去大家再去搜索的烦恼。1.如何在Release状态下进行调试Project->Se

2012-03-14 13:12:00 765

转载 VC 2005 下如何编译安装并开发 QT 4.4.0 应用程序

分类: VC++程序设计 QT2012-01-18 13:44 60人阅读 评论(0)收藏 举报Qt是一个跨平台的C++图形用户界面库,由挪威TrollTech公司出品,Qt支持所有的UNIX系统,包括Linux系统,还支持WinNT/Win2k、Windows 95/98平台。  本文将使用简单的几个步骤说明在VC 2005下如何编译安装并开发QT应用程序:一

2012-03-14 13:09:03 287

转载 CMD文件的编写

CMD文件的编写分类: DM642 学习 2009-08-05 12:14 393人阅读 评论(0)收藏举报CMD文件的编写 TI的代码产生工具产生的目标文件是一种模块化的文件格式—COFF格式,代码和数据在COFF文件中以段的形式组织,一个COFF段是在memory map中占连续空间的一块code或data。COFF文件中包含了段的完备信息,如段的绝对地址,名字,属性以

2012-03-14 13:04:04 643

转载 RGB,YUV的来历及其相互转换

分类: 图像处理 2012-01-13 12:46 77人阅读 评论(0)收藏举报转自:http://www.tichinese.com/Article/DSP/DaVinci/200909/639.html在视频等相关的应用中,YUV是一个经常出现的格式。本文主要以图解的资料的形式详细描述YUV和RGB格式的来由,相互关系以及转换方式,并对C语言实现的YUV转为RGB程序

2012-03-14 13:02:56 248

转载 第一块DSP板设计中的点滴

第一块DSP板设计中的点滴分类: DSP数字信号处理 2011-06-21 20:34 144人阅读 评论(0)收藏举报从2006.8.1开始正式接触DSP到现在也已经一个多月了,从开始的在自己的开发板上调试熟悉DSP到现在要自己设计DSP,真的是很不容易.我想把在设计中遇到的问题和常用的电路芯片选择归纳如下: 1.电源部分  使用了AC-DC5V的变压器,在引入板子的

2012-03-14 13:01:41 363

转载 MODBUS RTU简例--DSP281x

1,此处为程序正文 #include "DSP281x_Device.h"                                  //网上搜索到的头文件,放在后面。#include "DSP281x_Examples.h"                             //网上搜索到头文件,放在后面。#include "ModbusRTU.h"

2012-03-14 11:57:50 2287 1

转载 CRC算法原理及C语言实现

CRC算法原理及C语言实现分类: C/C++ 2008-03-15 11:09 1596人阅读评论(0)收藏举报 CRC原理介绍: CRC的英文全称为Cyclic Redundancy Check(Code),中文名称为循环冗余校验(码)。它是一类重要的线性分组码,编码和解码方法简单,检错和纠错能力强,在通信领域广泛地用于实现差错控制。      CRC计算与普通的

2012-03-13 10:16:30 1693

空空如也

空空如也

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

TA关注的人

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