- 博客(52)
- 资源 (18)
- 收藏
- 关注
原创 Linux 下将sd格式化成ext2格式并挂载
sd卡在windows下格式化,只能格式化为FAT文件系统格式的,但是FAT文件系统在linux下不支持软链接。所以又必要将其格式化成linux下的文件系统格式,例如EXT2。使用嵌入式linux中自带的工具命令mkfs.ext2。root@target:~# mkfs.ext2 /dev/mmcblk0 mke2fs 1.41.5 (23-Apr-2009)Filesystem
2012-12-01 17:23:47
9098
原创 dispc_reg_in ,dispc_reg_out , dispc_reg_merge函数功能的分析
u32 dispc_reg_in(u32 offset){ return (inl(offset)); //从端口读取4个连续的字节}该函数读取寄存器的值u32 dispc_reg_out(u32 offset, u32 val){ outl(val, offset); //向端口写入4个连续的字节 return (va
2012-08-27 17:06:30
1360
原创 Linux驱动模块编译进内核中
BQ27501驱动编译进内核一、 驱动程序编译进内核的步骤在 linux 内核中增加程序需要完成以下三项工作: 1. 将编写的源代码复制到 Linux 内核源代码的相应目录;2. 在目录的 Kconfig 文件中增加新源代码对应项目的编译配置选项; 3. 在目录的 Makefile 文件中增加对新源代码的编译条目。 bq27501驱动编译到内核中
2012-05-16 13:28:35
22829
原创 I2C 驱动开发 实例
I2C 驱动开发 文档一、 开发背景开发环境:DM355开发板内核版本:2.6.10二、 BQ27501驱动开发的需求BQ27501是一个锂电池管理的芯片,可以向外提供锂电池的有关的信息。在用户空间用户不能直接访问bq27501的寄存器,所以要为其编写驱动,该驱动能够根据用户空间的命令,返回对应的电池信息。三、 I2C 驱动
2012-04-19 20:35:28
10201
1
原创 BQ27501驱动和用户空间交互数据
内核中的数据与用户空间数据交互常用的函数有copy_to_user,copy_from_user,和宏定义put_user,get_user,__put_user,__get_user。copy_from_user和copy_to_user函数复制块数据,如数组,结构体;put_user,get_user,__put_user,__get_user复制的内存是简单类型,如char,int,long
2012-04-10 19:22:14
1564
转载 Linux内核空间和用户空间传递数据
通常情况下,应用程序通过内核接口访问驱动程序,因此,驱动程序需要和应用程序交换数据。Linux将存储器分为“内核空间”和“用户空间”。操作系统和驱动程序在内核空间运行,应用程序在用户空间运行,两者不能简单地使用指针传递数据。因为Linux系统使用了虚拟内存机制,用户空间的内存可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。Linux内核提供了多个函数和宏用于内核空间和用户空间传
2012-04-09 10:26:50
7136
原创 linux环境下 hello 模块的交叉编译
为嵌入式系统写驱动时,不可能在嵌入式设备上对驱动模块进行编译,通常是在交叉编译环境下编译好,然后再下载到嵌入式系统中。这里以最简单的hello模块为例,介绍交叉编译的过程。hellomod.c的内容与之前一偏文章《linux 模块编程的简单示例 helloworld》相同。不同是Makefile文件。Makefile文件如下:--------------------------------
2012-03-03 11:55:11
5593
原创 linux 模块编程的简单示例 helloworld
以Helloworld这个简单的程序的演示,达到对linux内核模块编程的编译,加载和卸载这个过程有初步认识目的。hellomod.c源文件--------------------------------------------------------#include #include MODULE_LICENSE("Dual BSD/GPL");static int
2012-03-03 11:48:51
1600
原创 dos命令窗口打开时命令提路径怎么样定位到指定文件夹
最近在捣鼓NASM,要使用NASM来编译汇编代码,下载的NASM的编译器没有界面,所以只能通过DOS命令编译。而每次通过CMD命令打开DOS窗口都要重新设置工作目录,设置为NASM所在的文件夹。修改文件夹的右击菜单选项,增加一个“在此处打开命令提示符”,这样每次在此文件夹右击打开DOS窗口,工作目录自动定位在当前目录。修改文件夹的右击菜单选项的方法有很多。这里根据我自己的使用提供一种较为简单的方法
2012-01-17 23:04:42
11169
原创 uboot 下脚本的开发
在Uboot下能否将很多命令放在一个脚本文件中,然后一起执行,类似于批处理文件。答案是可以的。首先在Linux环境创建一个文本文件,在该文件中写好要一起执行的命令,编写的格式和uboot命令行模式下的输入的命令一样。编写完成之后命名成.script文件,例如example.script。然后将脚本制作成映像文件。使用uboot/tools/下的mkimage命令制作映像。例如mkimage
2012-01-15 19:04:21
5091
原创 function declaration isn't a prototype 是什么原因
今天编译修改后的uboot,发现自己添加的函数int loadSystem();在编译发现出现function declaration isn't a prototype 的警告。网上查到,少了void,即应该这样声明和引用:int loadSystem(void)。至于什么原因
2011-10-17 17:05:58
17975
2
原创 CCS中如何生成LIB文件,并在另外CCS项目中引用LIB文件
CCS项目建立时,默认是生成.OUT可执行文件。当想把一个实现的代码较多的功能加入到一个项目中,把这个功能做成一个LIB文件,然后引入到项目中直接调用,是最方便和简洁的。图1 编译之前要设置编译选项,设置的依据是要引入的项目编译选项。下图
2011-08-23 20:38:37
19948
原创 DSP DM355 如何加载运行bin文件
背景及问题: 在DM355板子上通过UBL启动测试模式,因为没有操作系统在裸板上运行测试程序,所以不能使用CCS直接生成的.OUT可执行文件,要将.OUT文件格式转成没有操作系统能直接运行的.BIN文件。要能运行.BIN文件必须将其加载到正确的内存位置,并找到
2011-08-22 14:56:21
5629
1
原创 CCS 项目编译 出现 expected an identifier 错误
CCS 项目编译 出现 expected an identifier 错误"../include/dm355_evm.h", line 67: error: expected an identifier"../include/dm355_evm.h", line 67
2011-08-18 15:00:16
28047
转载 CCS头文件路径的添加
在工程中加入头文件时,有时运行CCS时却无法找到头文件,其中是因为加入的头文件路径与CCS默认路径不一致,导致工程无法找到所需的头文件。 解决方法是添加头文件路径到工程中去:菜单选择“project”->“build options”,弹出“build opt
2011-08-16 15:57:27
36592
3
原创 CCS无法打开项目的问题
打开CCS之后,想打开一个现有的砺项目,但是找到pjt文件之后,点打开,却提示“***”does not exist. Create one ? 为什么不存在,很奇怪? Google之后,发现原来是CCS项目路径中不能包含中文字符,把项目放在纯英文路径下,问题解决了
2011-08-15 21:56:08
13096
原创 vc中用SendMessage自定义消息传递
SendMessage的函数原型为LRESULT SendMessage(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);第一个参数hWnd,是消息传递的目标窗口或线程的句柄第二个参数Msg,是消息的类别,可以是一些系统消
2011-07-24 17:08:38
7420
原创 基于TCP的Socket 编程
基于TCP(面向连接)的socket编程,分为客户端和服务器端。客户端的流程如下:(1)创建套接字(socket)(2)向服务器发出连接请求(connect)(3)和服务器端进行通信(send/recv)(4)关闭套接字服务器端的流程如下:(1)创建套接字(socket)(2)将
2011-07-22 17:42:17
90387
1
原创 MFC list control 的使用
1.从Controls中将List Control 拖到对话框中。List control有四种风格:LVS_ICON , LVS_SMALLICON , LVS_LIST, LVS_REPORT 分别对应:大图标显示,小图标显示,列表显示,详细报表显示。这四种风格决定控件的外观,同时只可以选择其中一种。可以右击控件,选择属性,在“Styles”选项中可以设置。2.添加该list control的成员变量m_list,右击控件,选择“建立类向导”,点开“Member Variables”,找到list co
2011-03-24 14:36:00
4819
1
转载 setsockopt 设置socket
<br /><br />1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:<br />BOOL bReuseaddr=TRUE;<br />setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));<br /><br />2. 如果要已经处于连接状态的soket在调用closesocket后强制关闭,不经历<br />TIME_WAIT的过程:<br />BO
2011-03-03 13:48:00
721
原创 Source Insight中添加自定义的源文件类型(如*.hh)
<br />在文档的主窗口中右击选择“Document Options...”,然后出现对话框,在File filter中添加自己的源文件的后缀,如"*.hh”。如下图所示<br /> <br />最后就可以添加自定义的源文件了。
2010-12-22 20:17:00
6869
1
原创 Silverlight Bing Maps 学习系列(一) 开发前的准备工作
<br /> 最近学习微软的Bing Maps 地图引擎,主要参考 http://www.cnblogs.com/beniao/archive/2009/11/22/1608232.html 博客,再加上自己实践总结,和大家分享一下。<br /> 开发前的准备工作,包括开发环境的准备和申请一个开发Key。<br /> 开发环境以个人之见最简单的是安装一个VS2010和Bing Maps Silverlight Control 就OK了。不需要安装什么Visual Studio
2010-08-15 22:18:00
611
原创 建议养成的工作好习惯
<br /> 一个好的习惯往往能决定一个人一生的成败,作为IT行业的工作人员,我们应该养成一个怎么样的工作习惯,特别是对刚毕业的学生。有经验的前辈给了我们一些建议,在此与大家分享一下。<br />一、多翻看项目文档,不仅仅局限在自己负责的模块<br />二、和团队成员多接触,不仅仅局限在工作方面 <br />三、报Bug前把问题想得更深入些 <br />四、重复的工作尽量使用脚本或者小程序解决 <br />五、多浏览专业网站,了解业界动态 <br />http://www.uml.org.cn/in
2010-07-27 21:29:00
778
转载 修复被木马或病毒隐藏的文件夹
<br />最近文件夹邮递员木马和病毒肆行,在优盘上到处传播,虽然最新的杀毒软件能杀灭该病毒,但杀毒软件却不知道去恢复被隐藏的文件夹,导致杀毒后目录全看不到了,更有不少人以为是优盘坏了。<br />被该木马感染的优盘,会自动生成和文件夹同名的 .exe 文件,再把文件夹添加系统属性进行隐藏,同时还自动隐藏文件名后缀显示,而且图标也是文件夹的样子,很有欺骗性,一旦在未感染木马的电脑上双击了和文件夹同名的 .exe ,木马立即就会感染目标电脑。<br /><br />其实处理起来很简单的,在未感染木马的电脑上插
2010-07-07 13:17:00
14003
原创 用C#实现的文件监视
<br />using System;using System.Collections.Generic;using System.Text;using System.IO;namespace 文件监视{ class Program { static void Main(string[] args) { FileSystemWatcher watcher = new FileS
2010-06-29 21:55:00
1142
原创 飞弹
飞弹时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte描述 飞弹能够沿固定方向摧毁高度递减的目标。现在已知一直线上从左到右各个目标的高度。需要你求出飞弹最多能够摧毁多少目标。飞弹自最左端发射,起始高度任意,从左至右摧毁目标。 输入第一行是一个正整数n(1代表直线上目标的个数。接下来是n行,每行一个整数hi(1),代表
2010-05-16 13:38:00
775
原创 奇偶求值 南邮ACM OJ 1162
奇偶求值时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte描述给出N个整数X1,X2,X3,……,XN,将这N个数从小到大排序为A1,A2,A3,……,AN,记数列A1,A2,A3,……,AN的奇数项之和为P,偶数项之和为Q,令T=|P-Q|,求出T的值。 输入 第一行为整数N(1)。接下来的N行每行有一个整数,按顺
2010-05-16 13:23:00
1344
原创 繁杂的道路 南邮ACM OJ 1160
繁杂的道路时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte描述A城是由许多小城镇组成的,在A城的各个小城镇间建了许多道路(道路是双向的)。这些道路是A城便利交通的基础。游客通过这些道路可以在任意两个城镇之间往返。最近市长对这座城市错综复杂的交通感到厌烦,决定重新规划A城的道路。所以他派给你一个任务:留下尽可能少的道路,保证
2010-05-16 12:55:00
1379
原创 建筑群最长坡值 南邮OJ 1031
建筑群最长坡值时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte描述建筑群所有建筑高度分别为h1、h2…hN,可以得到一些单调递减的序列hi1、hi2…hiK,其长度称为建筑群的坡值,这里1≤i1≤N。你的任务:对于给定的建筑群所有建筑高度,求出建筑群最长坡值。 输入第一行是建筑群中的建筑数N(1
2010-05-16 12:33:00
1470
原创 三角形数 南邮OJ 1032
三角形数时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte描述一定数目的点或圆在等距离的排列下可以形成一个等边三角形,这样的数被称为三角形数。比如10个点可以组成一个等边三角形,因此10是一个三角形数: x x x x x x x x x x开始18个三角形数是1、3、6、10、15、21
2010-05-16 12:28:00
1571
原创 短语搜索
南邮 OJ 1029 短语搜索时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte总提交:120 测试通过:35描述常见文本编辑器的一个功能是搜索,打开一段英文文字,根据一个给定的英文短语,可以搜索得到这个短语在文章中的位置,短语有可能重复出现。现请求出给定的短语在一段文字中出现的最后一个位置。文字
2010-05-13 10:12:00
2237
原创 A+B problem(4) 南邮ACM的OJ
/***********************************************A + B Problem (4)描述Calculate the sum of some integers. 输入The input will consist of multiple test cases. Each test case consist of an integer N and
2010-05-11 21:50:00
1229
转载 概念性架构设计(转载)
功能、质量和商业需求的某个集合塑造了架构,也就是说关键需求塑造了架构。 概念性架构设计可以分为以下3步:1. 鲁棒性分析2. 引入架构模式3. 质量属性分析 很多人认为从需求分析到架构设计之间的过渡遇到很多问题,究其根源,可能是以下的原因造成的:用例是面向问题领域的,而设计是面向机器域的,这两个‘空间’存在映射。 用例技术本身不是面向对象的,而设计应该是面向
2010-03-28 15:14:00
768
转载 word 2003 中生存目录的一种方法
一、到文档开头,选中你要设置一级标题的文字内容,设置好字体、字号等格式,然后选择菜单中的“格式”-“段落”-“缩进和间距”选项卡-“大纲级别”设为1级!(关键步骤!)-“确定”。(注意:此过程中,要设为一级标题的文字始终处于被选中状态!呵呵,说的多余了^0^,不过有时候会被忽略的。)这样第一个一级标题就设置好了。用同样的办法可以设置二级、三级....标题,区别就是在“大纲级别”里相应选择2级、3级
2010-02-11 21:49:00
1703
使用Silverlight Bing Map 加载Google Map
2010-08-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人