reille

 


 本文主要介绍了qemu及其优缺点,包括应用实例。

qemu – 简介
 
QEMU是一套由Fabrice Bellard所编写的模拟处理器的自由软件。它与Bochs,PearPC近似,但其具有某些后两者所不具备的特性,如高速度及跨平台的特性。经由kqemu这个开源的加速器,QEMU能模拟至接近真实电脑的速度。QEMU有两种主要运作模式:

    * User mode模拟模式,亦即是使用者模式。QEMU能启动那些为不同中央处理器编译的Linux程序。而Wine及Dosemu是其主要目标。

    * System mode模拟模式,亦即是系统模式。QEMU能模拟整个电脑系统,包括中央处理器及其他周边设备。它使得为系统源代码进行测试及除错工作变得容易。其亦能用来在一部主机上虚拟数部不同虚拟电脑。 阅读全文 »

 


1. 小范围的选择一些有用技术,透彻的学习它们,拥抱它们。然后不断的扩展这个范围。

2. 理解各种数据结构的优点和缺点,包括它们在内存中和在硬盘上的各自表现。

3. 理解各种算法的优点和缺点。

4. 了解你的工作领域。关上电脑,去做你的用户们在做的事。

5. 有准备,有愿望,有能力在任何时候投入到多种技术层面中。你必须知道表象下的技术原理。在“各个技术层面的掌握程度”和“编程能力”上有着密切的联系。 阅读全文 »

 


C/C++程序一般都由程序员自己来控制内存的申请和释放,因此稍有不慎就容易出现内存泄漏,大家平时开发中都用什么方法和手段来检测、调试程序的内存泄漏呢?

1. 如何发现内存泄漏

ps -aux

2. 静态分析 阅读全文 »

 


关于《嵌入式可配置实时操作系统eCos开发与应用》第2版 介绍:
——————————————————————————–
出 版 社:机械工业出版社出版
编       著:蒋句平 编著
出版时期:2008-09-01出版
——————————————————————————–
介绍:

这本书与《嵌入式可配置实时操作系统 eCos 软件开发》是当今关于eCos操作系统两本最主要的书籍。在当当网,关于eCos的书籍也只有这两本可供选择。后面一本是外国人写的中文译本,在eCos官方网站上有英文版的pdf可供下载。eCos技术网也将提供这本书的英文版pdf下载。
这两本书内容各有补充,如果条件允许的话,建议两本都购买,一本为主一本为辅。这两本书也不贵,也就差不多70来块。

这里提供《嵌入式可配置实时操作系统eCos开发与应用》第2版 配套光盘的下载。

下载地址:http://www.52ecos.net/thread-12-1-1.html,这是eCos技术网提供的下载链接,需注册会员并达到一定的权限!

 


由于出差,很久时间未折腾eCos技术网了。这两天在本地用WAMP搭建的本地环境(搭建方法详见:使用wamp安装和搭建wordpress调试环境)中修改了相关设置,并安装了一个模板,修改好后打包上传到了网站后台,并采用gzip方式导出数据库文件。但在eCos技术网后台phpmyadmin中准备导入该数据库文件时,却出现了错误:

#1062 – Duplicate entry ‘1’ for key ‘PRIMARY’

尝试了几次依然如此。

其实这个问题很常见,解决方法也很简单。上述错误提示意思是:数据库中主键ID重复了。而数据库中,主键ID是不能相同的。因此,把phpmyadmin数据库文件中所有老数据删除再重新导入即可以解决该问题。

 


认识网卡,我们上网必备组件之一。

网卡工作在osi的最后两层,物理层和数据链路层,物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。物理层的芯片称之为PHY。数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。以太网卡中数据链路层的芯片称之为MAC控制器。很多网卡的这两个部分是做到一起的。他们之间的关系是pci总线接mac总线,mac接phy,phy接网线(当然也不是直接接上的,还有一个变压装置)。

下面继续让我们来关心一下PHY和MAC之间是如何传送数据和相互沟通的。通过IEEE定义的标准的MII/GigaMII(Media Independed Interfade,介质独立界面)界面连接MAC和PHY。 阅读全文 »

 


来南京将近5个月了,比预计规划多了2个月,仅管如此,当在我心理预期之内。但凡新产品开发,一般情况下,实际时间都要比计划有所延迟,只是延迟多少不定而已,然侧面反映了项目研发计划管理的能力。

虽延迟时间在心理预期之内,但由于项目中某件事情的发生,从8月中旬开始,心想早着回去了,且随着时间的推移,愈加强烈。

回去的日子上周五定好了。当此之时,感觉时间极慢,怠工消极,虽不当,却也无法。此时心思,早已远去……

 


在MinGW GCC下编译带sleep()函数的测试程序,不管是包含了unistd.h头文件,还是stdio.h、stdlib.h头文件,就是找不到该函数的定义!

在linux下,sleep()函数的头文件是:unistd.h,但在MinGW GCC下没有了这个函数的定义,但是在windows.h文件中有Sleep()函数的定义,其单位是ms级的延迟处理。根据这种情况,我们可以采用如下的处理:

[cc]

#if defined(WIN32) || defined(WIN64)
#include <windows.h>
#define sleep(n) Sleep(1000 * (n))
#else
#include <unistd.h>
#endif

[/cc]

 


1.系统和平台熟悉

在一个新的平台上开发或者移植一款软件的时候,首先应该充分了解平台或者操作系统的各种属性,这些属性包括但不仅限于:

1)系统的任务调度,任务间的通信机制

任务调度包括是否是多任务实时操作系统,任务以何种方式存在的,如何添加和管理任务?任务间的优先级如何设置?任务间的优先级设置?任务堆栈?任务间的通信机制包括了解系统提供的通信机制,各种通信机制的优劣,通信细节等等。

案例1:

曾经在某一个平台上做一个软件,创建了多个任务,由于各个任务实现者不一样,一个漫不经心的错误造成了本该是高优先级的任务没有在优先级上体现出来,A,B,C,D4个任务,本来应当是A>B>C>D,结果设置成A>C>B>D,为此debug了一上午。

教训: 阅读全文 »

 


从最最基本的层面上讲,每个员工都应该为最求两种基本的能力而奋斗,它们是:编程技能和做员工的技能。

编程技能是指能写出好的,稳定的,有效率的,可维护的,以及所有其它褒义形容词能描绘的代码的能力。这些是程序员们喜欢花时间反复唠叨,讨论,阅读的东西。

做员工的技能是指做一个好的雇员和同事的能力。它意味着有求必应,善于交流,能够按期完成,善于接受反馈,有能力把复杂的事情解释清楚,以及其它一些类似的技能。

一个极端的例子

对两个人的形象描绘: 阅读全文 »

© 2012 velep.com | reille blog | 管理| 粤ICP备12094833号-2| 谷歌地图| 百度地图| Suffusion theme|Sayontan Sinha

无觅相关文章插件,快速提升流量