请教mini2440开发板上如何成功移植sqlite数据库

如题所述

sqlite3在mini2440上的移植
一、开发环境:
Mini2440,linux_2.6.32.2内核,
ubuntu10.04,arm-linux-gcc-4.3.2
在上下载sqlite源代码sqlite-3.6.22.tar.gz
二、移植步骤
1.解压数据库源文件并进入解压后的目录,如下:
tar -zxvf sqlite-3.6.22.tar.gz
cd sqlite-3.6.22
2.创建一个目录build并进入该目录,用于在这个目录中进行交叉编译,如下:
mkdir build
cd build
3.在build目录中运行sqlite-3.6.22中的configure脚本生成Makefile文件,如下:
../configure --host=arm-linux --prefix=/rootlite-3.6.22ild/target
选项host指定的是用arm交叉编译器进行编译
选项prefix后面的路径是到时候编译安装后目标存放的目录,你可以任意设置
4.执行make和make install命令,如下:
make
make install
出现问题:
arm-linux-ranlib /usr/locallite3bbsqlite3.a
.btool: line 6619: arm-linux-ranlib: command not found
错误,解决方法如下:
sudo su //先切换到根用户
export PATH=$PATH:/usr/local/arm/4.3.2/bin //设置根用户的环境变量
编译和安装完后,在/rootlite-3.6.22ild/target目录中会生成三个目标文件夹,分别是:bin、include、 lib,然后分别将bin下的文件下载到开发板的/usr/bin目录中,lib下的所有文件下载到开发板的/usrb目录中即可。include目录下是sqlite的C语言API的头文件,编程时会用到。
5.在开发板上测试移植的sqlite数据库。登录开发板的Linux,执行:
sqlite3 demo.db
sqlite3是一个sqlite的命令行访问程序,demo.db是新建的数据库的名字,必须以db作后缀。然后会看到下面的画面,说明移植成功。
三、测试
1、新建数据库
[rootMrFeng]#sqlite3 test.db
SQLite version 3.6.18
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> create table film (number,name);
sqlite> insert into film values (1,'aaa');
sqlite> insert into film values (2,'bbb');
sqlite> select * from film;
1|aaa
2|bbb
sqlite>.quit
[rootMrFeng]#
蓝色部分为输入。
2、测试程序
这里以SQLite官方站点文档中的测试程序为例对移植到ARM-Linux上的SQLite3进行测试。该程序清单如下:
//test_sqlite.c
#include <stdlib.h>
#include <stdio.h>
#include <sqlite3.h>
static int callback(void *NotUsed, int argc, char **argv, char **azColName)
{
int i;
for(i=0; i<argc;i++)
{
printf("%s = %s/n", azColName[i], argv [i]);
}
printf("/n");
return 0;
}
int main(int argc, char **argv)
{
sqlite3 *db;
char *zErrMsg = 0;
int rc;
if( argc!=3 )
{
fprintf(stderr, "Usage: %s DATABASE SQL-STATEMENT/n", argv[0]);
}
rc = sqlite3_open(argv[1], &db);
if( rc )
{
fprintf(stderr, "Can't open database: %s/n", sqlite3_errmsg(db));
sqlite3_close(db);
}
rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg);
if( rc!=SQLITE_OK )
{
fprintf(stderr, "SQL error: %s/n", zErrMsg);
}
sqlite3_close(db);
return 0;
}
使用如下命令编译测试程序:
交叉编译时采用arm-linux-gcc -I /……(安装路径)/include -L/……(安装路径)b -o target src -lsqlite3
arm-linux-gcc -o test_sqlite test_sqlite.c -lsqlite3 -L /opt/FriendlyARM/mini2440lite-3.7.3ildb/ -I /opt/FriendlyARM/mini2440lite-3.7.3ild/include/
3、在上面新建的数据库目录下测试:
[rootMrFeng]#./test_sqlite test.db "select * from film"
number = 1
name = aaa
number = 2
name = bbb
[rootMrFeng]#
1)
创建数据库文件:
>SQLite3 test.db 回车
就生成了一个test.db在d盘。
这样同时也SQLite3挂上了这个test.db
2)
用.help可以看看有什么命令
>.help 回车即可
3)可以在这里直接输入SQL语句创建表格用;结束,然后回车就可以看到了
4)看看有创建了多少表
>.tables
5)看表结构
>.schema 表名
6)看看目前挂的数据库
>.database
7)如果要把查询输出到文件
>.output 文件名
> 查询语句;
查询结果就输出到了文件c:/query.txt
把查询结果用屏幕输出
>.output stdout
8)把表结构输出,同时索引也会输出
.dump 表名
9)退出
>.exit 或者.quit
温馨提示:内容为网友见解,仅供参考
无其他回答

我最近找了块友善之臂mini2440,板子里有别人已经烧了的系统,我现在想重...
烧程序需要串口,jtag调试需要并口.一般笔记本都不带这些接口了.所以需要买个转接的,usb转串口的统统不好用,我试过N多的了,不好用.买个了华塑pc卡转串口的,可卡好像有毛病,有时超级终端输不进去.也许我买到假货了.后来我买了个OpenJtag,这个东西可以转串口,可以转Jtag,烧写速度也快.但是我不习惯在E...

mini2440 uboot nand flash启动
首先要说明,你的Uboot Nand移植没有成功,所以下载到mini2440后,会输出几个莫名其妙的汉字。按照黄冈的博客的移植的nand是不是能启动Uboot的,因为黄冈那个教程是使用K9F1208的nand进行移植的,而你现在使用的K9F2G08,所以肯定是不行的,而且黄冈那个Nand移植有些垃圾代码,可能黄冈那个代码有些也是网...

如何配置编译在mini2440开发板上运行的linux内核
cd \/opt\/FriendlyARM\/mini2440 tar xvzf \/home\/lianghuiyong\/Linux_share\/bootloader.tgz 8>>解压创建目标文件系统 cd \/opt\/FriendlyARM\/mini2440 tar xvzf \/home\/lianghuiyong\/Linux_share\/rootfs_qtopia_qt4-20100816.tar.gz 9>>解压安装目标文件系统映象制作工具 mkyaffs2image cd \/opt\/FriendlyARM\/...

mini2440 烧写程序成功 但是板子跑起来没反应??
可能是你的工具链有问题,你先将uboot烧写到norflash中,然后在用uboot将裸板程序(最好是韦东山老师原带的bin文件)烧写到nandflash中,设置板子nandflash启动

最近研究ARM嵌入式,想问问精智的JZ2440和mini2440这两块开发板的区别...
因为实际电路和书上的也不一样。我的建议是光盘sch文件夹里有电路原理图,从网上下一个S3C2440A的手册(中文版的好多印刷错误,要跟英文的对照着看),按照那个改写实验例程。我也买了一个JZ2440,从实验到U-BOOT移植,全部DIY,现在还在U-BOOT串口那里困扰着,好痛苦,你也加油。

关于下载程序进去mini2440开发板问题
先把程序擦除,看看LED闪灭是否正常。如果正常,就是你的程序有问题。

我是win7系统,买了一块mini2440开发板,不知道如何下手,该装哪些软件...
裸跑程序 用 ADS , 想使用操作系统,最好安装一个 虚拟机,FEDARO10 , 然后 编译什么的

嵌入式arm入门问题
但如果涉及嵌 入式系统下面嵌入式数据库、基于嵌入式系统的网络编程和基于某此应用层面的协议应用开发(比如基于SIP、H.323、Astrisk)方面又较为复杂, 并且有难度了。 三、目标与定位。 先有目标,再去定位。 学ARM,从硬件上讲,一方面就是学习接口电路设计,另一方面就是学习汇编和C语言的板级编程。如果从软件...

在arm9上移植ucosii ,中断级任务切换时,如何处理不同的arm模式对应不同...
然后完了在返回IRQ继续刚才的操作,,很简单的!我在ARM9上写了个简单的类似于uc\/OS的多任务实时系统内核WeidaOS,在你说的这种情况下就是这么干的。。。你可以google搜一下weidaos去下载我的源码试试看,里面的源码有较为详细的说明!我的是运行在Mini2440开发板上的!

ubuntu 10.04 如何连接mini2440 开发板
硬件用UART串口,如果开发板软件配置sshd也可以走网络用ssh连接 软件的话,uart一般用minicom或者putty,都需要设置串口号和波特率,开发板的话 说明手册上都有写清楚吧。ssh的话 ssh username@ipaddress 就行 会提示你输入密码的。

相似回答