⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uclinux下sqlite嵌入式数据库移植全攻略1.htm

📁 在嵌入式操作系统uclinux下应用的数据库sqlite
💻 HTM
📖 第 1 页 / 共 4 页
字号:

<div id="outer" style="position:relative;width:750px;">
<table width=750 border=0 cellspacing=0 cellpadding=0>
<tr><td width=620 valign=top align=center rowspan=2 bgcolor=#EDF0F5>
<br>
	<div id=article>
	<table width=560 border=0 cellspacing=0 cellpadding=0>
	<tr><th class=f24><font color=#05006C><h1>ucLinux下sqlite嵌入式数据库移植全攻略</h1></font></th></tr>
	<tr><td height=><hr size=1 bgcolor=#d9d9d9></td></tr>
	<tr><td height=20 align=center>http://www.sina.com.cn 2004年12月17日&nbsp;08:40 <font color=#A20010>天极yesky</font></td></tr>
	<tr><td height=15></td></tr>
	<tr><td class=l17><font id="zoom" class=f14>

<!-- 正文内部文字导航 : begin -->

<!-- 正文内部文字导航 : end -->



<p>  文/余涛</p>

	<span class=f14>  本文讨论的是比较流行的嵌入式开发组合ARM+uclinux,即目标开发板为三星S3C4510,完成sqlite在其uclinux上的移植。 <br>  <br>  本文假设你已经具备正确编译uclinux的kernel的能力,即有能力完成make menuconfig;make dep;make lib_only;make user_only;make romfs;make image;make。而且还能将自己写的类似helloworld程序加到“用户自定义应用程序”中,即你能完成“uClinux-dist/Documentation/Adding-User-Apps-HOWTO”中所描述的“用户程序的订制”。<br><br>  大多数需要移植sqlite到uclinux的开发者,应该已经具备上面的能力,而只是不清楚如何修改sqlite来完成其在uclinux下的编译。如果你还不能完成上面的要求,那么请先做一定的准备工作,因为本范例所涉及到的内容主要是跟sqlite在uclinux下的移植有关,其他的在这个过程中出现的问题,开发者需要自行处理。<br><br>  本范例使用的uclinux是uClinux-dist-20030522.tar.gz,你可以从http://www.uclinux.org得到适合你的软件包。<br><br>  交叉编译工具是arm-elf-tools-20030314.sh,你也可以在http://www.uclinux.org找到它。<br><br>  本范例使用的sqlite是sqlite-2.8.15.tar.gz,本文的方法也适合于2.8.x系列的sqlite;可能有部分内容不适用于3.0.x系列的sqlite,因为3.0.x中源代码有较大的变化。<br><br>  1、 下载sqlite:你可以到http://www.sqlite.org/download.html,下载sqlite-2.8.15.tar.gz软件包;<br><br>  2、 将下载的软件包解压缩到uClinux-dist/user目录下;<br><br>  命令:<br><br>
<table borderColor=#ffcc66 width="90%" align=center bgColor=#d8d8d1 border=1>
<tbody>
<tr>
<td>$tar zxvf sqlite-2.8.15.tar.gz -C uClinux-dist/user/</td></tr></tbody></table><br>  现在在uclinux的user目录下,你应该可以看到sqlite目录了。解压缩到这个user目录主要是要将sqlite编译成一个普通的用户应用程序。<br><br>  3、 用户应用程序的有关设置:<br><br>  按uClinux-dist/Documentation/Adding-User-Apps-HOWTO文档中说提到的,来添加sqlite作为一个用户应用程序,将其做成一个shell,这样就类似于uclinux自己的ps命令。<br><br>  编辑文件<br><br>
<table borderColor=#ffcc66 width="90%" align=center bgColor=#d8d8d1 border=1>
<tbody>
<tr>
<td>uClinux-dist/user/Makefile<br>uClinux-dist/config/Configure.help<br>uClinux-dist/config/config.in</td></tr></tbody></table><br>  我是在这些文件里查找“cpu”有关的项,然后在它的下面,加上自己的sqlite项,这个过程并不复杂。<br><br>  通过上面的修改后,你现在就可以运行uclinux的make menuconfig,选中“CustomizeVendor/User Settings”,再选中“Miscellaneous Applications”,可以看到它现在出现了一个新的“sqlite (NEW)”,这个就是我们刚添加进去的sqlite项。<br><br>  在稍后的make romfs中,uclinux会将你的sqlite编译进来,做成romfs的一部分,因为你在uClinux-dist/user/Makefile中已经加上要编译sqlite项了。这样在移植后的uclinux的/bin中将会有sqlite命令可以让你来执行。<br><br>  好,现在我们就要对sqlite进行修改,来做移植工作。<br><br>  在下面的描述中,我们将对以下几个文件进行一定的添加、修改,从而来完成sqlite在uclinux下的编译:<br><br>
<table borderColor=#ffcc66 width="90%" align=center bgColor=#d8d8d1 border=1>
<tbody>
<tr>
<td>sqlite/main.mk 修改<br>sqlite/Makefile 添加<br>sqlite/src/os.c 修改<br>sqlite/src/shell.c 修改</td></tr></tbody></table>
<p><br>  对这几个文件进行修改时,请自己做好这些文件的备份,比如你可以将它们拷贝一份,改名成文件名后面带.bak。这个很重要,可以避免你在修改的过程出现问题而无法还原。<br><br>
<p align=right>&nbsp&nbsp[1]&nbsp&nbsp<a href=http://tech.sina.com.cn/other/2004-12-17/0840478375.shtml>[2]</a>&nbsp&nbsp<a href=http://tech.sina.com.cn/other/2004-12-17/0840478376.shtml>[3]</a>&nbsp&nbsp<a href=http://tech.sina.com.cn/other/2004-12-17/0840478377.shtml>[4]</a>&nbsp&nbsp<a href=http://tech.sina.com.cn/other/2004-12-17/0840478378.shtml>[5]</a>&nbsp&nbsp<a href=http://tech.sina.com.cn/other/2004-12-17/0840478379.shtml>[6]</a>&nbsp&nbsp<a href=http://tech.sina.com.cn/other/2004-12-17/0840478375.shtml style=font-size:14px>[下一页]</a><p>
<!--NEWSZW_HZH_BEGIN--> 
<table border=0 cellspacing=0 cellpadding=0 align=left >
<!--
<table id="innerad" border=0 cellspacing=0 cellpadding=0 align=left style="display:none">
-->
<tr><td>
<!--画中画广告开始-->
<table border=0 cellspacing=0 cellpadding=0 align=left>
<tr><td>
<!--科技新闻内页画中画开始-->
<!--D61C4C53F9BB-->
<IFRAME MARGINHEIGHT=0 MARGINWIDTH=0 FRAMEBORDER=0 WIDTH=360 HEIGHT=300 SCROLLING=NO SRC="http://122.adsina.allyes.com/main/adfshow?user=AFP6_for_SINA|Tech|techpip&db=sina&border=0&local=yes">
<SCRIPT LANGUAGE="JavaScript1.1" SRC="http://122.adsina.allyes.com/main/adfshow?user=AFP6_for_SINA|Tech|techpip&db=sina&local=yes&js=on"></SCRIPT>
<NOSCRIPT><A HREF="http://122.adsina.allyes.com/main/adfclick?user=AFP6_for_SINA|Tech|techpip&db=sina"><IMG SRC="http://122.adsina.allyes.com/main/adfshow?user=AFP6_for_SINA|Tech|techpip&db=sina" WIDTH=360 HEIGHT=300 BORDER=0></a></NOSCRIPT></IFRAME>
<!--nwy/ms/1216/B-->
<!--科技新闻内页画中画结束-->
</td></tr></table>
<!--画中画广告结束-->
</td></tr>
<tr><td>
<!-- 画中画下文字链广告(从上至下顺序为01,02,03,04文字,需加class=a01)-->
<table width=360 border=0 cellpadding=0 cellspacing=0>
<tr><td height=9></td></tr>
<tr><td>
	<table width=360 border=0 cellpadding=0 cellspacing=0 background=http://image2.sina.com.cn/dy/images/xfrd_02.gif>
	<tr><td height=45 rowspan=2><img src=http://ad4.sina.com.cn/shc/xfrd_01.GIF width=70 height=45 border=0></td><td width=286 style='padding-top:4px;padding-left:5px'>
	<!--F70BB90BB6BA--><!--nwy/uc/A-->
<script LANGUAGE="JavaScript">


ad1= "想送免费的歌曲祝福吗";
link1= "http://bobo.sina.com.cn/";
//左上

ad2= "汽车生活方式大比拼";
link2= "http://adclient.dentsu.com.cn/html.ng/adspec=words&adtype=wen_zi_lian&affiliate=sina&campaignid=59&channel=ke_ji_page&log=0&params.styles=clickcmd?";
//右上

ad3= "天堂II 混沌的年代";
link3= "http://sinapay.sina.com.cn/tiantang/choose_style.html";
//左下

ad4= "天堂II 混沌的年代";
link4= "http://sinapay.sina.com.cn/tiantang/choose_style.html";
//右下


//浏览器类型变量
var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;

//ie内容
function IEad(){
	adCode = '<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="280" HEIGHT="40" id="ad_note" ALIGN=""><PARAM NAME=movie VALUE="http://image2.sina.com.cn/dy/zwyhzh/ad_note.swf"> <PARAM NAME=quality VALUE=high> <PARAM NAME=wmode VALUE=transparent> <PARAM NAME=bgcolor VALUE=#FFFFFF> <param name="swLiveConnect" value="true"> '
	+' <EMBED src="http://image2.sina.com.cn/dy/zwyhzh/ad_note.swf" quality=high wmode=transparent bgcolor=#FFFFFF  WIDTH="280" HEIGHT="40" NAME="ad_note" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer" swLiveConnect="true"></EMBED></OBJECT>'

	document.write(adCode);
	
	document.getElementById('ad_note').SetVariable("ad1", ad1);
	document.getElementById('ad_note').SetVariable("ad2", ad2);
	document.getElementById('ad_note').SetVariable("ad3", ad3);
	document.getElementById('ad_note').SetVariable("ad4", ad4);
	
	document.getElementById('ad_note').SetVariable("link1", link1);
	document.getElementById('ad_note').SetVariable("link2", link2);
	document.getElementById('ad_note').SetVariable("link3", link3);
	document.getElementById('ad_note').SetVariable("link4", link4);

}
//ns内容
function NSad(){

adCode = '<table width=286 border=0 cellpadding=0 cellspacing=0>'
	+'<tr height=20><td width=143 style="padding-top:5px;padding-left:5px"> <img src=http://image2.sina.com.cn/dy/images/xfrd_04.gif width=7 height=7> '
	+'<a href='+ link1 +' class=a01 target=_blank>'+ ad1 +'</a>'
	+'</td><td width=143 style="padding-top:5px;"> <img src=http://image2.sina.com.cn/dy/images/xfrd_04.gif width=7 height=7> '
	+'<a href='+ link2 +' class=a01 target=_blank>'+ ad2 +'</a>'
	+'</td></tr>'
	+'<tr height=20><td style="padding-left:5px"> <img src=http://image2.sina.com.cn/dy/images/xfrd_04.gif width=7 height=7> '
	+'<a href='+ link3 +' class=a01 target=_blank>'+ ad3 +'</a>'
	+'</td><td> <img src=http://image2.sina.com.cn/dy/images/xfrd_04.gif width=7 height=7> '
	+'<a href='+ link4 +' class=a01 target=_blank><SPAN ID="oSpan" UNSELECTABLE="on" >'+ ad4 +'</span></a></td></tr></table>'

document.write(adCode);
}

//主过程
if(InternetExplorer == true){
	IEad();
}else{
	NSad();
}
</script>
</td><td width=4 rowspan=2><img src=http://image2.sina.com.cn/dy/images/xfrd_03.gif width=4 height=45></td></tr>
	
	</table>
</td></tr>
</table>

</td></tr>
</table>
<!--NEWSZW_HZH_END-->

	<table width=90% border=0 align=center>
	 <tr></tr>
	 </table>
	

	<br clear=all>
		<table width=565 border=0 cellspacing=0 cellpadding=0>
		      <tr><td class=f14 height=30 valign=top>  点击此处查询<a href=http://sinanews.chinasearch.com.cn/sinanews.exe?word=ucLinux target=_blank>全部<font color=red>ucLinux</font>新闻</a> <a href=http://sinanews.chinasearch.com.cn/sinanews.exe?word=操作系统 target=_blank>全部<font color=red>操作系统</font>新闻</a> </td></tr></table>
		</td></tr>
	</table>
	</div>
        <br>
	<table width=560 border=0 cellspacing=0 cellpadding=0>
	<tr><td class=f14>
	<a href=http://tech.sina.com.cn/topnews/index.html>新浪科技24小时热门新闻排行</a>&nbsp;&nbsp;&nbsp;&nbsp;
	<a href=http://tech.sina.com.cn/down/drivers/>硬件驱动程序高速下载</a>
	<br><br>
	</td></tr>
	<tr><td>
		<table width=565 border=0 cellspacing=0 cellpadding=0>
		<tr><td><form target="_blank" action="http://mms.sina.com.cn/xmlmms/xmlmmsQue.php" method="post" name="from_">
<input type="hidden" name="xmlCfg" value="http://rss.sina.com.cn/mms/tech/52/58/5/2-1-478374.xml">
<input type="hidden" name="sourceFrom" value="100001">
<input type="hidden" name="from" value="442">
<input type="submit" name="submit_" style="width:120" value="多种方式看新闻">
</form></td><td align=right>【<a href=http://comment.news.sina.com.cn/cgi-bin/comment/comment.cgi?channel=kj&newsid=478374>评论</a>】【<a href=http://forum.tech.sina.com.cn/cgi-bin/tree.cgi?gid=23&fid=288>应用软件论坛</a>】【<a href=http://stat.sina.com.cn/cgi-bin/sms/edit_sms.cgi?title=ucLinux%CF%C2sqlite%C7%B6%C8%EB%CA%BD%CA%FD%BE%DD%BF%E2%D2%C6%D6%B2%C8%AB%B9%A5%C2%D4&url=tech.sina.com.cn/other/2004-12-17/0840478374.shtml>推荐</a>】【<a href="javascript:doZoom(16)">大</a> <a href="javascript:doZoom(14)">中</a> <a href="javascript:doZoom(12)">小</a>】【<a href="javascript:doPrint()">打印</a>】【<a href=http://www.sina.com.cn/ddt/ target=_blank>下载点点通</a>】【<a href="javascript:window.close()">关闭</a>】</td></tr>
		</table></td></tr>
	</table>

	&nbsp;<BR>
	
	<table width=560 border=0 cellspacing=0 cellpadding=0>
	<tr><td>
	<!-- 正文底部小通栏 -->
<table width=585 border=0 cellpadding=0 cellspacing=0 align=center>
<tr><td>
<!--科技频道内页底部小通栏开始-->
<!--DCD3066795C5-->
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" WIDTH="585" HEIGHT="50">
 <PARAM NAME=movie VALUE="http://ad4.sina.com.cn/200412/10/6765_picasso_tech_sfc_200412.swf"> <PARAM NAME=quality VALUE=high><param name=wmode value=opaque>
 <EMBED src="http://ad4.sina.com.cn/200412/10/6765_picasso_tech_sfc_200412.swf" quality=high WIDTH="585" HEIGHT="50" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></EMBED>
</OBJECT><!--xinzhi/2004-12-17/B-->
<!--科技频道内页底部小通栏结束-->



</td></tr>
<tr><td height=5></td></tr>
</table>
	</td></tr>
	</table>
		
<br>

<table width=560 border=0 cellspacing=0 cellpadding=0>
<tr><td>
<div id=PublicRelation1 name="PublicRelation" style="DISPLAY:none">


<table><tr><td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td class=f14>
<p><!--要求文字在17字以内!-->
<!--科技新闻内页文字链01开始-->
<!--4EF9FD7107A8-->
<a href=http://ad.cn.doubleclick.net/clk;12480651;10609175;z?http://www-900.ibm.com/cn/servers/eserver/openpower/ target=_blank><font color=red>Linux,改变世界的力量</font></a><!--weixing/2004-12-16/B-->



<!--科技新闻内页文字链01结束-->&nbsp;&nbsp;<!--994C252CDDD6-->
<a href=http://adclient.dentsu.com.cn/html.ng/adspec=image&adtype=wen_zi_lian&affiliate=sina&campaignid=59&channel=ke_ji_page&log=0&params.styles=clickcmd? target=_blank><font color=red>中法文化年,东风雪铁龙典藏版限量而出</font></a><!--xinzhi/2004-12-31/B--></p>
</td></tr></table>

</div>
<SCRIPT>	 
//<!--广告发布-->
<!--
	if (checkPubTime(getPubTime()))
	{
		PublicRelation1.style.display="";
	}
-->
</SCRIPT> 

		
		</td></tr>
	</table>
</td><td width=1 bgcolor=#747474 rowspan=2></td><td width=129 valign=top></td></tr>
</table>

<!-- 右侧功能条 begin -->
<div id="toolBar" style="position:absolute;display:'none'">
<table width=129 border=0 cellpadding=0 cellspacing=0>
<tr><td align=right>
	<!-- 搜索 begin-->
<script language="javascript">
function select_cgi(fn)
{
	
	search_form1 = fn;
	
	if(search_form1._ss.value == "newstitle") //新闻标题
	{		
		search_form1.searchcontent.name="word";
		search_form1.action = "http://sinanews.zhongsou.com/sinanews.exe";
		return;
	}

	
	else if(search_form1._ss.value == "newsft") //新闻全文
	{
		//alert("newsft");
		search_form1.searchcontent.name="word";
		search_form1.action = "http://sinanews.zhongsou.com/sinanews.exe";
		return;
	}

	else if(search_form1._ss.value == "pic") //图片
	{
		
		search_form1.searchcontent.name="query";
		
		search_form1.action = "http://pic.sina.com.cn/cgi-bin/retr/search";
		//search_form.action = "test.php";
		return;
	}
	
	else if(search_form1._ss.value == "mp3") //MP3
	{
		//alert("mp3");
		search_form1.searchcontent.name="_searchkey";

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -