reille

 


摘要:在2011年的时候,本人把u-boot-2011.03成功移植到了S3C2440(utu2440开发板)上。通过这次移植使自己对u-boot有了较深刻的理解并掌握了u-boot的移植。

对于未移植过u-boot的人来说,可能觉得很神秘,甚至觉得很难。实际上,从整个移植过程来看,并未想像中那么难。如果你接触过嵌入式linux的开发,我觉得移植u-boot并不是难事,至少没想象中的难。

reille博客作为技术分享、技术交流的个人博客,把自己移植u-boot-2011.03的过程、遇到的问题及解决方法作为一个系列专题分享出来。希望对正在移植u-boot的人有用。

本节主要介绍u-boot-2011.03的配置和初步编译。

开发环境:主机:Window XP SP2;linux:VMware7.01+ubuntu9.10;目标板:扬创utu2440-F开发板

交叉编译器:arm-linux-gcc4.3.2(一开始用的是编译内核的版本arm-linux-gcc3.4.1,但出现了软浮点问题,于是换成了现在用的版本,当然本人编译内核的时候还是用3.4.1版本)。 阅读全文 »

 


原创文章,转载请注册出处,本文地址:http://velep.com/archives/52

域名注册好了,接下来是网站的主机空间了。之前有了解些,主机空间有收费的也有免费的。由于刚建站,故打算先使用免费的主机空间。对于国内一些服务商提供的免费空间,由于有诸多的限制特别是带有广告,此外,还需要审核,否则有被关闭的风险,所以,我的首选目标是国外的免费主机空间,且不带广告的、能满足个人博客需求的即可。

000webhost免费空间

首先寻找的是网上所称的“三蛋”免费空间,即http://www.000webhost.com,网上对其一致高度赞美,就如其首页描述的一样,提供主要服务功能有:

1)1500 MB空间
2)100G流量
3)支持Web或FTP方式上传
4)可以绑定自己的域名,也提供二级域名
5)功能强劲的cPanel控制面板
6)支持PHP, MySQL, Perl, CGI, Ruby
7)一键安装WordPress、phpBB2、Drupal、Joomla等热门PHP程序8)5个MySQL数据库
9)无广告

关于http://www.000webhost.com免费空间的注册方法,网上有很多,如英文够好直接进入http://www.000webhost.com注册。注册前,最好网上搜索下需要注意的事项,如一定要用gmail邮箱注册等。

zymic免费空间

我非常想注册000webhost免费空间,只是注册时不知道一些注意事项导致注册失败(我使用了QQ邮箱)。所以,我就在zymic.com上注册了免费主机空间。

http://www.zymic.com/free-web-hosting/页面宣传栏上可看到,说是提供一个甚至比收费空间还好的免费空间,当然,是好是坏,仁者见仁,智者见智,从我使用来看,总体上还好。以下是其提供的主要服务功能:

1)5G空间
2)50G流量
3)支持Web或FTP方式上传
4)功能强劲的cPanel控制面板
5)支持PHP, MySQL
6)3个MySQL数据库
7)无广告

关于zymic免费空间的注册,应该也比较容易,按照其说明(虽然不是中文,但应该不难),就可注册到。这里要提的是,如果申请的免费空间要绑定到自己申请的域名的话,我引用网友reishi的一段话,相信看了后会明白:

绑定域名在这里有朋友已经发布过了,但使用官方提供的DNS有利有弊
利:如果官方更换IP,自己可以不用动手,就可以更新。
弊:因为官方不提供子域名的添加,那么我们要使用自己的子域名就不方便了。

解决办法:
首先在绑定域名的时候将域名的DNS更改到官方提供的NS地址,等待域名生效后去空间面板添加自定义域名。
然后对应你绑定的域名之前官方有提供一个二级域名的网址,ping或者使用其他方法查询出那个域名的IP地址;
再然后将域名的DNS改回到其他DNS管理地址,比如dnspod.com或dnspark.net等,将查询出的IP地址对应解析到@和www记录即可!

详细点说就是,拿我的做例子:
我的域名是reishi.99k.org我要绑定的域名是www.topide.com

首先我将www.topide.com的DNS改到ns1.99k.org ns2.99k.org 等待DNS生效后在zymic面板里添加自定义域名www.topide.com
解析成功后,使用工具获取reishi.99k.org的IP地址为 67.220.217.230,再将www.topide.com的DNS改回到ns1.topide.com ns2.topide.com (我使用的是别的公司的DNS解析服务),登陆域名控制面板,将topide.com和www.topide.com的A记录改为 67.220.217.230 保存,这样我就可以再加别的子域名给topide.com了,比如bbs.topide.com等!

关于免费空间的数据问题

由于是免费空间,所以我最关心的是网站数据及其是否可以迁移走的问题,因为免费的空间不提供服务保障,哪天停止运行了那就悲催了。不过,这些担心问题是多余的,像数据库中的数据、写的博文都可以备份和导出。

 


日行一“善”,并非做多了坏事要去做好人好事为自己积善积德,而是在龙年春节里,常常在反思过去几年自己的得与失及其不足,为什么我落在了同学和朋友的后面;同时,也在思考:2012年,我应该如何去做,如何做得更好。

1. 去除浮躁,沉下心来,踏踏实实做事情,把工作做好做细,在工作上取得一定业绩,获得认可。对此,除了讲究方法和效率外,多观察和吸取别人成功的优点,借鉴并严格要求自己。多问问自己:别人为什么可以做出这么好的业绩?别人为什么可以取得成功?别人为什么可以加这么多薪水或拿着这么高的薪水?别人为什么可以获得领导认可、提拔和晋升机会?

这几年,一直追求新的技术知识,这可能是自己对新技术新知识新东西有强烈好奇心的原因,这固然是好,但问题是,这种好奇心只是兴趣使然,一旦兴趣没了就可能失去了耐心,因此真正潜心深入的领域和技术却没有! 阅读全文 »

 


原创文章,转载请注册出处,本文地址:http://velep.com/archives/25

在建立个人网站过程中,第一步当然是给网站起个好听好记有意义的域名,然后去域名商那里注册购买。

网站域名即velep.com的由来

网站域名,就像人的名字一样,取个好听好记有意义的域名对于网站来说非常重要,这一点,我相信大家都有共识。然而,在当今的互联网里,好听的好记的有意义的域名大部分都已经注册了(在我注册过程中,凡是你能想到的.com域名都差不多注册了),所以你不得不花点时间来为你的网站想一个相对较好的域名。

对于velep.com由来,在这里不妨说下。冥思苦想了几天后,在一天早晨醒来时,想到了development这个英文单词,然后眼前一亮,把development头尾去掉即得到velop,我对这个velop特别兴奋,马上打开电脑去网上查询是否有注册。令人悲催的是,velop.com有人注册了,其它顶级域名如velop.net到是没有被注册,但我不想注册.net的。后面考虑更改其中个别字母来试试,因为velep和velop音标相识(自己这么觉得),而且velep.com没有注册,所以在接下来折腾了差不多一天后,就决定起名velep.com这个域名。这也就是本站域名的由来。

关于域名查询

取域名时离不过域名查询,这样才知道域名是否被注册。但这里要说的是,域名查询时需要下。

1)域名查询,可去万网(www.net.cn/)和新网(www.xinnet.com),但我觉得万速度比较快,而且不用像新网一样每次要输入验证码;

2)域名查询时,如果想到好的域名而且没有被注册,你应该尽快去域名商那里注册购买。因为你在查询域名的时候,像万网和新网都可能会录下,如果你没去注册,它们可能就会去注册这个域名。所以这点特别需要注意。

域名购买

velep.com这个域名是在国外网站www.godaddy.com上注册购买的。为什么要在国外网站注册购买?在我看来,相对国内网站特别是万网,在国外注册.com域名价格更便宜。

域名注册时间

大部分前辈说,一次将域名注册时间较长,如五年甚至更长,对网站的SEO更好,而且不会受价格上涨的困扰。不过,我当前只是注册了一年,到时再续费吧。

 


之所以会摘录下面文章,除了下面的知识点自己没有掌握之外,还因为在编写代码时,出现了诸如下面的错误: undefined reference to `XXX::XXX()’

原因:如果在链接时找不到对应的o文件,则在创建一个类对象且链接时就会出现这个错误,本人是在Makefile中忘记加了,范了个低级错误!

 //显式地禁止隐式生成的函数:声明它但是不要实现它 
#include<iostream>
using namespace std;

//一个类有六个缺省的成员函数 
class A
{
public:
	A( void ); //声明缺省构造函数 
	A( const A& another ); //声明拷贝构造函数 
	~A( void ); //声明析构函数 
	A &operator = (const A& another );//声明赋值运算符 
	A *operator&( void ); //声明取址运算符 
	const A *operator & ( void ) const; //声明取址运算符[const版本] 
};

// 实现析构函数 

A::~A( void )
{
}

int main()
{
    //以上只声明缺省构造函数但是没有实现该函数,因此当用缺省构造函数创建一个对象时, 
    //编译器提示出错信息:引用了未定义的缺省构造函数 
	//A obj; // [Linker error] undefined reference to `A::A()' 

	system( "pause" );
	return 0;
}

//本程序只实现析构函数,其他五个都是只声明不定义, 
//这样能确保:系统不会再产生已声明过的函数,但是又不能调用,因为没有定义。 
//这就达到了:显式地禁止隐式生成的函数的目的。 
© 2012 velep.com | reille blog | 管理| 粤ICP备12094833号-2| 谷歌地图| 百度地图| Suffusion theme|Sayontan Sinha

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