- 浏览: 105934 次
最新评论
文章列表
嵌入式数据库主要是Berkeley DB和SQLite,BDB功能很强可以应用于工业,但不是关系数据库,SQLite免费小巧且速度快。
1、下载源代码并编译安装
在http://www.sqlite.org/download.html下载sqlite-autoconf-3080100.tar.gz,解压缩后./configure ; make ; make install,则生成了sqlite3程序和500多k的libsqlite3.so.0.8.6库文件
其中源代码包括sqlite3.c和sqlite3.h,sqlite3.h在程序中需要用到
2、程序部署
将库文件libsqlite ...
- 2013-11-01 18:08
- 浏览 525
- 评论(0)
有两种方法来写QT程序,一种是采用设计器、一种全部用代码。
一、用设计器
file->new file/project->Application->Qt Gui Application
除了主文件main.cpp和工程文件xxx.pro以外,还有ui文件xxx.ui,此文件在编译时将会转换成h文件,还有自动生成的主窗口文件mainwindow.cpp
二、用代码
file->new file/project->other project->Empty Qt Project
除了没有ui文件和mainwindow.cpp外,和用设计器一样。
出现了 ...
- 2013-11-01 18:08
- 浏览 410
- 评论(0)
NoSQL = Not Only SQL,非关系数据库,是针对关系数据库无法应对超大规模和超大并发量网站需求而发展起来的一种数据库技术。
特点如下:
它们可以处理超大量的数据。
它们运行在便宜的PC服务器集群上。
它们击碎了性能瓶颈。
没有过多的操作。
设计理念:
关系型数据库中的表都是存储一些格式化的数据结构,每个元组字段的组成都一样,即使不是每个元组都需要所有的字段,但数据库会为每个元组分配所有的字段,这样的结构可以便于表与表之间进行连接等操作,但从另一个角度来说它也是关系型数据库性能瓶颈的一个因素。而非关系型数据库以键值对存储,它的结构不固定,每一个元组可以有不一样的字段,每 ...
- 2013-10-29 16:16
- 浏览 225
- 评论(0)
《Never grow old》 cranberries 青春永不老 卡百利
《All good things》 Nelly Furtado 妮莉
- 2013-10-29 15:41
- 浏览 321
- 评论(0)
15、嵌入式体系结构、操作系统
(1)目前嵌入式处理器有1000多种,常见的体系结构有30多种,常见的有ARM,PowerPC,MC68000,MIPS等使用的最为广泛
(2)嵌入式linux操作系统:uCLinux、RT-Linux、Embedix、XLinux、PocketLinux和红旗嵌入式Linux
vxWorks、QNX、Windows CE、Palm OS
16、JTAG
JTAG就是一个通信/调试的接口,即便在操作系统损坏了或未安装的情况下,也可以直接访问flash芯片。如果你的flash烧录了不当固件,或中断烧录过程等,导致该设备报销了,可以通过JTAG使你的设 ...
- 2013-10-29 15:09
- 浏览 310
- 评论(0)
GDB远程调试
环境:两台centos虚拟机,Host(199.168.128.1),Target(199.168.128.5);Host装有GDB、Target装有GDBserver。
步骤:(1)Host上-g编译生成测试程序test
(2)将测试程序拷贝到Target机上,并执行:gdbserver 199.168.128.1:2345 ./test
(3)在Host机上执行:gdb test;target remote 199.168.128.5:2345
(4)开始打断点,并display查看各个变量的值
注意: (1)第三步时出现 No route to host, ...
- 2013-10-29 15:08
- 浏览 645
- 评论(0)
12、GCC编译流程
(1)预处理(将头文件内容包含进来)
gcc -E hello.c -o hello.i
(2)编译(将高级语言转换成汇编语言)
gcc -S hello.i -o hello.s
(3)汇编(将汇编语言转换成二进制目标代码)
gcc -c hello.s -o hello.o
(4)链接(将显示指定的库或者默认库链接生成最终的目标程序)
gcc hello.o -o hello
13、GCC编译选项
-g:在可执行程序中包含标准调试信息
-I dir:在头文件的搜索路径列表中添加dir目录
-L dir:在库文件的搜索路径列表中添加dir目录
- ...
- 2013-10-26 17:08
- 浏览 425
- 评论(0)
3、程序core掉调试
(1)设定core文件和文件大小为无限大
ulimit -c unlimited
ulimit unlimited
(2)用gdb查看core文件
gdb ./test test.core
(3)bt查看发生段错误segment error的地方
#include <stdio.h>
int sum()
{
int i = 100;
int a = i/0;
}
int main()
{
sum();
return 0;
}
- 2013-10-26 16:18
- 浏览 279
- 评论(0)
多线程调试示例程序
#include <pthread.h>
#include <stdio.h>
void print_xs(void* a)
{
while(1)
{
sleep(1);
printf("thread %d,x\n",pthread_self());
}
return NULL;
}
void print_ys(void* a )
{
while(1)
{
sleep(1);
printf("thread %d,y\n" ...
- 2013-10-26 16:04
- 浏览 321
- 评论(0)
1、GDB调试基本命令
(1)开启调试:gdb filename(启动一个程序来调试)或者attach pid(调试正在运行程序)或者file filename(开启gdb后,然后启动一个程序开始执行)
(2)l(list):查看文件
(3)b 6 | b sum | b 8 if i == 10:设置文 ...
- 2013-10-26 16:00
- 浏览 369
- 评论(0)
1、分区、挂载
windows下,各盘符就是分区,各分区有自己的目录结构;
linux下,只有一个目录结构,各分区是挂载在特定的一个目录上,将分区和目录对应的过程叫做挂载,而这个挂载在文件树中的位置就是挂载点。
2、SWAP交换分区
在内存硬件资源有限的条件下,linux在硬盘上划出一个区域来当作临时的内存,而windows操作系统把这个区域叫做虚拟内存,linux 把它叫做交换分区swap,在
安装linux建立交换分区时,一般将其设定为内存大小的2倍。
在安装linux的时候,交换分区是必须建立的。
3、文件系统目录结构
/etc/rc.d该目录主要存放linux启动和关闭时 ...
- 2013-10-25 17:38
- 浏览 401
- 评论(0)
1、软件版本说明
VMwareworkstation-v9.0.1.zip
CentOS-6.4-i386-bin-DVD1.iso
CentOS-6.4-i386-bin-DVD2.iso
2、ubuntu中root用户和user用户的相互切换
默认root用户是不启动的,并且密码是随机改变的,在未修改root密码之前,可以通过sudo su来切换到root用户;
修改root密码,sudo passwd root,这样就可以通过su - root和su - user来进行切换了
3、虚拟机网络设置
(1)安装完vm后,PC上会多两个网卡,vmnet1和vmnet8,具体每 ...
- 2013-10-25 17:37
- 浏览 353
- 评论(0)
(1)CC2430芯片整合了业界领先的2.4GHz IEEE 802.15.4/ZigBee RF收发以及工业标准的增强型8051MCU的卓越性能,还包括了8KB的SRAM、大容量闪存以及许多其他的强大特性
(2)2.4GHz IEEE 802.15.4/ZigBee协议介绍(设备、端点、簇)
(3)协议栈TI Z-Stack软件架构
(4)西安华凡科技有限公司的Zigbee开发的软硬件平台(IAR EW8051集成开发环境、ZigBee 2006协议栈、SmartRF Flash Programmer软件、ZigBee协议分析仪软件Packet Sniffer)、Zigbee无线定位系统 ...
- 2013-10-22 20:30
- 浏览 582
- 评论(0)
vxworks调试小结
1、调试指令,dbgHelp显示所有的调试命令
(1)b设置断点
设置的方法有:“b 函数名”
“b 地址”(函数地址或者代码行地址,取决于看懂汇编)
“b 函数地址,任务地址”(i列出所有的任务,找到任务地址)
(2)ti查看当前任务的信息
断点断住时,ti显示断住任务寄存器信息,r3为this指针地址,r4后续依次为函数的参数值
cret函数返回时,r3为函数的返回值
(3)lkup和lkAddr符号查找
lkup:符号到地址,例如:lkup "bdmain"
lkAddr:地址到符号,例如:lkAddr 0x004a57 ...
- 2013-10-18 11:02
- 浏览 1330
- 评论(0)
(1)数据结构在多个线程间使用时,需要使用互斥锁来进行同步。
(2)互斥锁有一系列的缺陷
(3)架构CPU支持的汇编指令(CMPXCHG)和系统支持的API(__sync_*和Interlocked*函数),可以将比较和交换操作封装为原子操作(CAS,compare and swap),这是实现无锁数据结构的核心
参考资料:
用于并行计算的多线程数据结构,第 2 部分: 设计不使用互斥锁的并发数据结构
无锁队列的实现
John D. Valois 1994年10月在拉斯维加斯的并行和分布系统系统国际大会上的一篇论文——《Implementing Lock-Free Queues》 ...
- 2013-10-17 10:40
- 浏览 352
- 评论(0)