- 博客(35)
- 资源 (4)
- 收藏
- 关注
原创 在win10下使用vscode和winbash调试C代码,这次真的简单能用
以前写过一个很麻烦也不实用的方法。现在发现vscode本来就支持win10 bash的编译调试。如下图 添加一个bash on windows launch。我生成可用的配置如下{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid...
2017-06-12 20:49:00
7009
2
原创 CoLinux 简化嵌入式开发环境
厌烦了慢速的虚拟机,现在colinux帮你加速,在嵌入式开发中运行一个linux,主要功能就是提供一个gcc的交叉编译环境,那么colinux应该是目前最好的选择。 在windows系统下,以应用方式运行一个linux 内核,而且原有的linux发行版只要稍作修改即可以让其运行在windows中了。 colinux的优点: 绝对比虚拟机快,因为它不是
2009-12-26 22:25:00
1096
原创 ubuntu 启动盘制作
1.启动盘的制作&构建一个小系统准备: 制作系统:ubuntu 8.10(我的是8.10,各个版本应该都可以) 可启动的U盘一个前言: 本节利用ubuntu现成的文件创建一个可U盘启动的linux小系统分区: #sudo fdisk /dev/sdb /*在创建分区前,可以使用d命令删除所有分区:d回车1,d回
2009-10-13 15:19:00
2669
原创 点阵字体的创建
最近想获取GB2312的点阵字体,在网上搜索一下,到是有软件可以转化,但有很多限制,不开源,点阵大小还限制,运行的时候还要显示在最上面,否则可能出现空白的文字。 vc6.0的开发搞过一段时间,就自己做一个吧。 软件名: fontview 下载地址: 要2资源分哦,不是csdn用户,可以直接发邮件guangenhou@gmail.com QQ:8890
2009-07-23 21:36:00
2191
原创 虚拟网卡tun/tap应用样例
1. 我的应用目标: 为了把MPE封装的数据重新转化为网络UDP流,实现应用只要通过Socket接口即可实现数据接收和分析。 前言: 为了实现这个功能,我在网络上搜索了相关信息,都没有具体的实现过程和应用,主要找到理论性的介绍tun/tap驱动的原理,而且很难让人理解它的功能。对于做实际开发的人员来说更需要的是一个实际实现的样例,这样更能说明问题,切实的解决应用实现问题。
2009-02-28 21:00:00
7314
原创 从激情到平淡到失望,从无知无畏到畏首畏尾,不知什么时候我才能成熟面对人生百态
快两年没有来这里写东西了,自上一篇日志后不久,我来到了首都北京。 我跟很多朋友一样,喜欢自己熟悉的环境,喜欢呆在一个和睦的家庭环境中、一个融洽的工作团队中。 01年杭州本科毕业,为了一家团聚,04年从杭州到宁波,为了能在一个熟悉的团队工作,我从宁波到北京。每一次的转折点都带着希望和梦想而去,而留给我的却是失望和愤怒。 两次的搬迁,四个工作,结果都很不如意,当
2009-02-16 22:54:00
1555
原创 UTC和GMT
UTC和GMT到底是什么呢? 我开发的嵌入式linux系统产品要设置成什么时区呢?最近查了一些资料但还是似懂非懂,感觉上对我们开发人员来说关系不是很大。一般仅仅使用当地时间。总之 UTC+8 和GTM+8就是中国北京时间,两者的差别几乎感觉不到。据说UTC会出现61秒的情况来纠正时间的一些误差,好像一两年才会纠正一秒。我想一般程序对时间不会有这么严格的要求吧。看来还是用GMT好不会出现
2007-04-03 15:16:00
1609
原创 特殊ip地址的说明
一、0.0.0.0 严格说来,0.0.0.0已经不是一个真正意义上的IP地址了。它表示的是这样一个集合: 所有不清楚的主机和目的网络。这里的“不清楚”是指在本机的路由表里没有特定条目 指明如何到达。对本机来说,它就是一个“收容所”,所有不认识的“三无”人员,一律 送进去。如果你在网络设置中设置了缺省网关,那么Windows系统会自动产生一个目 的地址为0
2007-02-02 14:57:00
1144
原创 linux socket 如何发送分组广播
网上也看到了很多但感觉解释的不全面,在这里我也说一下我自己的摸索结果下面还是先看一下代码 基本和网上搜到的一样初始化static struct sockaddr_in remote_addr;//远程地址static struct sockaddr_in local_addr;//若本地要帮定端口要用 memset(&remote_addr,0,sizeof(remote_ad
2007-02-02 12:02:00
1629
原创 嵌入式系统USB存储设备自动mount
嵌入式系统USB存储设备自动mount 本人比较懒具体说明就不写了 大家有兴趣就看代码看注释吧 main函数在最下面主要功能 能定时主动的检查u盘 移动硬盘 usb光驱 除光驱外能实现自动mount到指定的路径对于u盘能区分有分区表的和没有分区表光驱提供了两个函数mount 和umount,并能检测vcd和cd 并使用cdfs格式进行mount。对于分区
2007-01-12 17:38:00
2271
1
原创 uClinux使用/dev/vc/0设备名来读取usb键盘的键值
USB键盘的启用需要input设备、Virtual terminal、Frame buffer devices等启动,具体看上面配置。1. 基本的调用过程即扫描码的传递过程driver/input/Keybdev.c: keybdev_event -> driver/input/Keybdev.c: emulate_raw -> driver/char/Keyboard.c: han
2007-01-12 11:20:00
2100
原创 Reiserfs分区格式化工具的交叉编译
1. 目的和环境在arm7的板子上直接格式化ide硬盘上的分区为Reiserfs分区编译工具为arm-elf-gcc 开发环境 redhat 9.02. 下载源码包 reiserfsprogs-3.6.20.tar.gz 官方网站http://namesys.com/3. 具体过程l 解压缩 tar zxf reiserfsprogs-3.6.20
2007-01-10 14:03:00
1551
原创 在uClinux中实现 pppoe拨号上网功能
uClinux PPPoE拨号功能实现1.uClinux内核设置 (对于 2.4.x 内核) Network device support ---> PPP (point-to-point protocol) support PPP support for async serial ports PPP support for sync tty ports
2006-08-22 16:48:00
2406
原创 Monqueror源码简介
Monqueror源码简介(2006-7-7)Main.c 主消息循环函数MainWndMsgProc中有很多发送MSG_OPENURL 消息的调用,如浏览器刚创建打开默认主页、按了刷新按钮、后退、前进、在地址栏输入URL后回车等。SendNotifyMessage(frametopview->getHwnd(), MSG_OPENURL, 1, 0) 该消息是发送到类MGHTMLView 的消息
2006-07-10 11:14:00
1942
原创 从usb storage开始深入linux2.6驱动
从usb storage开始深入linux2.6驱动 作者msn:hougg@hotmail.com 搞了好久linux基本上还是停留在内核配置编译、启动脚本修改、应用程序等表面的东西。也只能能
2006-07-03 17:25:00
3084
转载 Linux系统:疑难杂症的解决(Ubuntu)
如果谁说他的Linux从来没有遇到“疑难杂症”,我觉得是不可信的,就算是操作界面最友好的Window XP也时常遇到各种各样的问题,有的问题实在蹊跷到只有更换硬件才能解决!Linux也是这样的,而且他的自由性,更是加大出问题的频繁程度。当然也是因为Linux开源的特点,不管出了什么问题,你都可以在源代码级找到症结所在,这正是Linux魅力所在。 1、在不登录情况下,获得root权限 如果没有
2006-06-27 09:47:00
1666
1
原创 socket KeepAlive 使用笔记
1.问题 最近碰到的一个问题,socket连接一台服务器后,如果无数据通讯,服务器会在几分钟后关闭socket。由此产生一个问题。与服务器进行连接后,拔掉网线,几分钟后,由于服务器已经关闭socket,但客户这边还认为已经连接的是正确的socket。因此产生一些操作上的延迟问题。2.分析 由于服务器已经关闭的客户端的连接,所以客户端也得关闭超时的连接。因此我选用keepa
2006-04-18 14:29:00
2993
原创 如何使uClinux根目录使用jffs2分区
如何使uClinux根目录使用jffs2分区 一、系统介绍1. 采用加补丁方式的uClinux内核,不是uClinux-dist结构的。原始linux 2.4.222. Flash 地址0x46000000 ---- (0x46800000-0x1)3. 192K 存放loader所以映像烧写起始 0x460300004. 832K 存放内核 0x46030000-
2006-03-23 20:58:00
3906
原创 lwIP(TCP/IP)协议栈移植
lwIP(TCP/IP)协议栈移植(不包括网卡驱动) 移植人员:侯光恩一、lwIP 概述lwIP是瑞士计算机科学院(Swedish Institute of Computer Science)的Adam Dunkels等
2005-07-28 10:55:00
10770
原创 linux使用valgrind 检查内存泄露
现在仅仅知道 使用 valgrind --tool=memcheck --leak-check=yes 可执行文件名 ,来查看泄露情况.我测试了一下,在qvfb下运行的minigui 应用程序,主函数中直接返回就会有内存泄露。版本是1.3.3的。嗨,这么这么烂啊。
2005-03-07 11:15:00
1646
原创 VNCServer 配置 及Vncview的使用
VNCServer 配置 及Vncview的使用1、vncserver服务的启动 redhat 及fedora 一般都自动安装了vncserver了 只要在服务列表中选中启动一下就可以了2、vncserver的配置 通过编辑文件$HOME/.vnc/xstartup来启动你喜欢的窗口管理器。使用startk
2005-03-01 16:15:00
5540
原创 命名管道的使用
我在工作中碰到了一个这样的问题,有两个程序,第一个程序会fork一个进程exec调用第二个程序,这样调用后,第一个程序还是继续执行父进程的。我要求第一个程序的父进程停止运行,直到第二个程序退出或运行到某个时候才继续运行。下面是两个例子程序的代码先运行gui程序,再运行player程序./gui&在后台运行./player/*gui.c*/#include #include #inc
2005-02-19 12:53:00
1870
原创 一个简单的IAL分析(红外遥控)
简单的IAL分析一、程序说明 1.下面程序是基于一个红外的设备文件,从该设备中能接收到红外遥控的硬件编码。 2.两个文件需要覆盖掉libmingiui*/src/ial/中的两个文件编译时加上 --enable-video-qvfb 3.为了简单,就直接在qvfb引擎上进行修改
2005-02-19 12:22:00
1642
原创 CVS服务器配置及客户端的使用
CVS服务器及客户端一、服务器架设1. 系统介绍服务器系统:Fedora 2CVS:系统自带2. 设置启动CVS服务在Linux上CVS服务可以通过inetd、xinetd或tcpwrapper等来启动,其中inetd由于安全理由在许多场合已经被xinetd所取代了。这里我们使用xinetd来启动CVS服务。 在/etc/xinetd.d目录下为CVS服务创建一个
2005-01-24 10:02:00
1697
原创 Arm-elf编译工具链的编译及Minigui
Arm-elf编译工具链的编译一、环境说明PC-CPU:i386操作系统:Fedora II操作系统自带GCC:version 3.3.3 20040412 (Red Hat Linux 3.3.3-7)嵌入式CPU:ARM 920T嵌入式内核:uClinux-Samsung-2510嵌入式图形系统:Minigui-1.3.3嵌入式应用程序:Mgdillo(浏览器)
2005-01-20 11:29:00
3719
原创 我手头项目的MiniGui编译移植
一、MiniGui的交叉编译1. 编译命令编译前需要准备内核,把内核的源代码放到/opt/uClinux/uClinux-dist目录下。进入libminigui目录[…]#CC=arm-elf-gcc AR=arm-elf-ar RANLIB=arm-elf-ranlib LDFLAGS="-Wl,-elf2flt" ./configure /--prefix="/opt
2004-12-31 09:45:00
3565
1
原创 PC键盘驱动程序源码分析
一. 编写目的:描述uclinux内核中pc机键盘驱动的体系结构和工作原理,用于指导针对具体的嵌入式键盘的驱动程序的编写。二. 参考资料:1.《Linux内核源代码情景分析(下册)》第8.7和8.8章节,page330~4122.内核源代码文件:../linux-2.4.x/drivers/char/keyboard.c../linux-2.4.x/inclu
2004-11-29 12:34:00
11410
1
原创 Minigui IAL引擎实现
² 如何在MiniGUI中添加新的IAL引擎:(假设新的IAL引擎为_NAME_IAL)1. 在ial.c文件中添加新引擎的入口:例如:(ial.c文件中)A) #ifdef _NAME _IAL #include "NAME.h" #endifB) 在input数组中添加 #ifdef _
2004-11-29 12:33:00
3167
原创 CDC使用技巧之最快最方便的实现放大缩小功能
今天由于程序的升级需在原来的基于CScroolView的程序中增加一个缩放功能,琢磨了半天,总结出如下经验,给大家分享。注:原来程序是MM_TEXT模式画图的。 有改动的示例代码如下,下面对个条语句进行详细的介绍 void CTtttView::OnInitialUpdate(){ CScrollView::OnInitialUpdate(); CSize sizeTotal;
2004-11-11 15:30:00
1504
原创 一些容易遗忘的小技巧
一、.弹出式菜单的快速制作 步骤1:菜单资源的添加由于是制作弹出式菜单,所以你可能会采用View as Popup的方式来添加一个弹出式菜单,这里不建议这么做,直接采用默认的编辑方式如下图 步骤2:选择事件若视图类中添加则选择在WM_CONTEXTMENU消息中定义实现,若其他控件可以选择右键等,看具体情况而定了,自己发挥了。 步骤3:具体代码如下 CMenu menu;
2004-11-11 10:26:00
1203
原创 利用CDialogBar来实现类似工具栏的浮动条
如果你想实现有工具条的浮动和定位功能,而且可以方便的摆放任何控件上去,请继续看这篇文章吧!那就使用CDialogBar就可以拥有和CDialog一样的方便和快捷。 步骤1:添加一个CDialogBar派生类 在资源中添加一个对话框,再采用类向导来添加类,找不到CDialogBar作为基类吧,可以先用CDialog作为基类产生一个,然后把所以的“CDialog”替换为“CDia
2004-11-05 10:29:00
3415
原创 拖放功能的实现
最近编写了一个需要用到拖放功能的软件,之前本人对其还不神了解,找了网上的一些资料但多说的不是很直接。在这里说说我的心得。 以下所说的拖放功能是急于OLE的所以在程序的初始化中确认有如下的语句: if (!AfxOleInit()) { return FALSE; }这个原因费了我很多时间啊 拖放有一个源和一个目的,所以实现的时候需要有两个主要的类:源类COleData
2004-11-04 16:26:00
1432
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人