蓝牙4.0模块控制板demo程序(基于stm32f103,包含主机和从机)
基于stm32f103的demo测试程序,包含串口收发测试,at指令,LH-BLE-V2.0模块测试成功,两个单片机分别写入主从控制程序,单片机开机即可自动发送指令给蓝牙模块,实现自动扫描和连接。
蓝牙4.0串口助手
配合珠海智通科讯公司LH-BLE-V1.0 蓝牙 4.0模块,可实现串口透传,速率可达3k/s,距离超过50米
grub4dos-0.4.4
解压GRUB4DOS后,将其中的grub.exe文件放在你的一个FAT32分区中。
具体修复过程如下:
1.使用DOS启动盘或Windows 98的启动盘启动到DOS模式下,然后键入:d:\tmp\grub.exe 这里的d:\tmp是笔者解压缩GRUB4DOS的目录。这样就进入了GRUB环境,可以看到一个 grub>提示符。
2.恢复GRUB引导记录。在 grub> 提示符下键入:
root (hdx,y)
kernel (hdx,y)/boot/yourkernelname ro root=/dev/hdxx
setup (hd0)
上面第一条命令是指定你的/boot分区位置,如果/boot没有单独分区,那么就是你的/分区。
第二条命令指定内核位置,具体位置根据自己的实际情况确定。
第三条命令是将GRUB引导记录写入MBR。
如果对Linux分区位置不十分清楚,可以使用Tab键补全功能来查看确定。执行完setup命令后会看到“succeed!”字样,此时重启即可。
3.如果只是想启动Linux,而不是修复GRUB,那么可以在进入DOS后键入下面命令启动你的Linux系统。
d:\tmp\grub.exe --config-file=(hdx,y)/boot/grub/grub.conf
其中参数同上。
wingrub(GRUB4DOS)的安装:
1、下载地址: http://grub4dos.sourceforge.net
在上面的网址中,有下载页面,里面说的就是wingrub;
2、安装:
1]安装grub软件到机器中,点鼠标应该会吧,就直接按它默认的安装,下一步、下一步就安装好了;
2]安装grub;
打开 wingrub程序,选择 tools菜单,然后点击 install grub ,出来一个对话框;
这里面有两个方法供我们选择;(个人建议选B)
A) 我们直接点一下Boot From Grub Partion 就行,然后点击,右边的下接框;选择要安装在哪个分区中,然后按最下边的[install];
您可能在下拉的菜单的对话框中,看到的是 (hd0,0)或者 (hd0,1)等,那就选(hd0,0);如果您只看到(hd0,1),说明您的第一个分区是NTFS的,这也没有什么,很正常;如果您看不到什么下拉框,您就看下面的办法;
B)您可以点 Systerm Device ,然后在右边的选择框中,选C ; 然后再点BOOT FROM BOOT.INI 就好,如果不行就换;在Title 中写入mygrub ; 然后在 Time OUT 写上 10;
这样grub就安装好了;他的配置文件在 c:\grub\中 ,配置文件是c:\grub\menu.lst ,这个配置文件起到决定性作用;所以我们一定要写好;语法和Linux中的没有区别;是一样的;
A和B还是有点小小的区别,A的方法是开机就能看到所有的在menu.lst中系统;而 B,则必须按一下刚才我们所填写的mygrub ,然后才能看到在menu.lst所提到的系统;
3、配置 grub ;
其实最简单的配置方法不是来自于图形的点鼠标,初学Linux的弟兄可能会说,我不点鼠标,我能做什么?呵。。。。没错,但在配置 grub的过程中,最没有效率的就是点鼠标;其实我们点了十几分钟的鼠标,也是达到一个目的,就是把grub配置起来。而他的配置文件就是c:\grub \menu.lst ,我们挥汗如雨的点鼠标,无非是配置这个文件;如果不用点鼠标的办法来配置,
一分钟都不到就OK ;只要掌握一点小小的技巧;有何难呢??
在配置 c:\grub\menu.lst的过程中,我们只是再用一下 wingrub的查看分区的界面,其它的只是用记事本就能写好;c:\grub是隐藏起来的,我们要在游览器中加入c:\grub 就
可以看得到;
0]打开wingrub,点tools =》partioinlist (分区列表),这里能了解到机器的分区,比如我们可能看到的 FAT32的分区是 (hd0,1)等等,事实上,我们的确需要fat32分来来存放下载的Linux光盘映象;我们通过这个能知道我们把光盘ISO存放到(hdX,Y)了,也能知道(hdX,Y)所对应的Windows分区的是哪个,是C,还是D ,还是E ,明白了吧;
1]首先我们找一个FAT 32的分区,把下载下来的ISO直接放到分区的根目录下面,不要放在任何目录中;
2]还是在这个分区,建一个目录,比如是linux,从下来下来的第一张ISO中isolinux中抽取 vmlinuz 和 initrd.img 两个文件,放到linux目录中; 注意只放这两个文件,不要放其它的内容,如果放了其它的,可能出现安装到中途退出的情况;
注意:目录是名是小写的;在书写menu.lst 时,我们要用半角英文,标点之类的全是半角的;title root kernel initrd 全是小写的英文;切注意大小写;
3]书写menu.lst ,怎么书写,对我来说难吗?不难!
我们打开menu.lst 后,可能里面已经有内容了,比如有个 timeout 10 ,如果没有这行可以自己写上;没有什么难的;
timeout 10 #这是开机等待进入系统的时间,是10秒
title WindowsXP # 我们的机器 中都有 windows ,这个就是用来启动windows的;总共有四行,不要弄错了,可以照抄到你的配置文件中;
root (hd0,0)
makeactive
chainloader +1
简单的 menu.lst 配置 linux 引导说明;通过menu.lst ,我们可以配置 Linux的启动和引导;不只是安装的引导,也可以引导已经安装好的Linux系统;语法结构有下的四条,举例如下:总共
有两个书写格式,任选其一;
格式一:最简单:
代码:
title redflag5
root (hd0,1)
kernel (hd0,1)/linux/vmlinuz
initrd (hd0,1)/linux/initrd.img
title 这行就是我们在开机时,所看到的菜单 ,显示的就是 redflag5 ,要加在 title 的后面,title是必须保留的,是grub的语法的标签 ,我们可以在title 后面写我们想要加的东西,这是自己可
以定义的,比如 title redflag5也是可以的;
root (hd0,1) 这行能用 以root开头,然后加一个空格,至于您把vmlinuz和initrd.img 放在哪个分区了,用打开 wingrub,点tools =》partioinlist (分区列表) 中查到
kernel 这行,以kernel 开头,然后加一个空格,主要说的是vmlinuz文件放在哪个分区,哪个目录了;除了kernel 后面有一个空格外,在这行中,其它地方没有空格;这行说的是我们用放在(hd0,1)分区下的linux目录中的kernel 来内核来启动;
initrd 这行, 和 kernel 那行类似;没有什么难的,自己的文件放在哪个分区,哪个目录了,自己最知道吧;
格式二:比较麻烦一点:理解着看吧;
代码:
title redflag5
root (hd0,1)
kernel /linux/vmlinuz ro root=/dev/hda6
initrd /linux/initrd.img
title 这行就是我们在开机时,所看到的菜单 ,显示的就是 redflag5 ,要加在 title 的后面,title是必须保留的,是grub的语法的标签 ,我们可以在title 后面写我们想要加的东西,这是自己可以定义的,比如 title fc4setup也是可以的;
root 这行,在本例中是 root (hd0,1),这行就是我们打开 wingrub,点tools =》partioinlist (分区列表) 中查到的;我们通过这个知道我们把解压出来的 vmlinuz和initrd.img 所处的分区和路径;
嵌入式Linux系统开发技术详解.基于ARM
第1章 概述.......................................................................
1.1 嵌入式系统..........................................................
1.2 嵌入式操作系统..................................................
1.3 嵌入式 Linux历史..............................................
1.4 嵌入式 Linux开发环境......................................
1.5 嵌入式 Linux系统开发要点..............................
第2章 ARM处理器..........................................................
2.1 ARM处理器简介................................................
2.1.1 ARM公司简介.........................................
2.1.2 ARM处理器体系结构.............................
2.1.3 Linux与ARM处理器.............................
2.2 ARM指令集........................................................
2.2.1 ARM微处理器的指令集概述.................
2.2.2 ARM指令寻址方式.................................
2.2.3 Thumb 指令概述......................................
2.3 典型ARM处理器简介.......................................
2.3.1 Atmel AT91RM9200.................................
2.3.2 Samsung S3C2410 ....................................
2.3.3 TI OMAP1510/1610系列........................
2.3.4 Freescale i.Max21 .....................................
2.3.5 Intel Xscale PXA系列..............................
2.4 三星S3C2410开发板.........................................
2.4.1 三星S3C2410 开发板介绍......................
2.4.2 众多的开发板供应商...............................
第3章 Linux 编程环境.....................................................
║2 嵌入式 系统开发技术详解——基于ARM
3.1 Linux常用工具....................................................................
3.1.1 Shell简介..................................................................
3.1.2 常用Shell命令..........................................................
3.1.3 编写Shell脚本..........................................................
3.1.4 正则表达式................................................................
3.1.5 程序编辑器................................................................
3.2 Makefile ................................................................................
3.2.1 GNU make .................................................................
3.2.2 Makefile规则语法....................................................
3.2.3 Makefile文件中变量的使用....................................
3.3 二进制代码工具的使用.......................................................
3.3.1 GNU Binutils工具介绍.............................................
3.3.2 Binutils工具软件使用..............................................
3.4 编译器GCC的使用.............................................................
3.4.1 GCC编译器介绍.......................................................
3.4.2 GCC编译选项解析...................................................
3.5 调试器GDB的使用技巧....................................................
3.5.1 GDB调试器介绍......................................................
3.5.2 GDB调试命令..........................................................
3.6 Linux编程库........................................................................
3.6.1 Linux编程库介绍.....................................................
3.6.2 Linux系统调用.........................................................
3.6.3 Linux线程库.............................................................
第4章 交叉开发环境.....................................................................
4.1 交叉开发环境介绍............................................................
4.1.1 交叉开发概念模型.................................................
4.1.2 目标板与主机之间的连接.....................................
4.1.3 文件传输.................................................................
4.1.4 网络文件系统.........................................................
4.2 安装交叉编译工具............................................................
4.2.1 获取交叉开发工具链.............................................
4.2.2 主机安装工具链.....................................................
4.3 主机开发环境配置............................................................
4.3.1 主机环境配置.........................................................
4.3.2 串口控制台工具.....................................................
4.3.3 DHCP服务.............................................................
4.3.4 TFTP服务..............................................................
4.3.5 NFS服务................................................................
4.4 启动目标板..........................................................................
4.4.1 系统引导过程...........................................................
4.4.2 内核解压启动...........................................................
4.4.3 挂接根文件系统.......................................................
4.5 应用程序的远程交叉调试..................................................
4.5.1 交叉调试的模型.......................................................
4.5.2 交叉调试程序实例...................................................
第5章 交叉开发工具链...................................................................
5.1 工具链软件..........................................................................
5.1.1 相关软件工程...........................................................
5.1.2 软件版本的匹配.......................................................
5.1.3 工具链制作流程.......................................................
5.2 制作交叉编译器..................................................................
5.2.1 准备编译环境...........................................................
5.2.2 编译binutils..............................................................
5.2.3 编译GCC的辅助编译器.........................................
5.2.4 编译生成glibc库.....................................................
5.2.5 编译生成完整的GCC编译器.................................
5.3 制作交叉调试器..................................................................
5.3.1 编译交叉调试器.......................................................
5.3.2 编译gdbserver ..........................................................
第6章 Bootloader......................................................................
6.1 Bootloader .....................................................................
6.1.1 Bootloader 介绍.................................................
6.1.2 Bootloader 的启动.............................................
6.1.3 Bootloader 的种类.............................................
6.2 U-Boot编程..................................................................
6.2.1 U-Boot工程简介...............................................
6.2.2 U-Boot源码结构...............................................
6.2.3 U-Boot的编译...................................................
6.2.4 U-Boot的移植...................................................
6.2.5 添加U-Boot命令..............................................
6.3 U-Boot的调试..............................................................
6.3.1 硬件调试器........................................................
6.3.2 软件跟踪............................................................
6.3.3 U-Boot启动过程...............................................
6.3.4 U-Boot与内核的关系.......................................
6.4 使用U-Boot
.....................................................................................
6.4.1 烧写U-Boot到Flash ...........................................................
6.4.2 U-Boot的常用命令..............................................................
6.4.3 U-Boot的环境变量..............................................................
第7章 配置编译内核...................................................................................
7.1 Linux内核特点...............................................................................
7.1.1 Linux内核版本介绍............................................................
7.1.2 Linux内核特点....................................................................
7.1.3 Linux 2.6 内核新特性..........................................................
7.2 配置编译内核源码..........................................................................
7.2.1 内核源码结构.......................................................................
7.2.2 内核配置系统.......................................................................
7.2.3 Kbuild Makefile ....................................................................
7.2.4 内核编译...............................................................................
7.2.5 内核编译结果.......................................................................
7.3 内核配置选项..................................................................................
7.3.1 使用配置菜单.......................................................................
7.3.2 基本配置选项.......................................................................
7.3.3 驱动程序配置选项...............................................................
第8章 内核移植浅析.....................................................................
8.1 移植内核源码....................................................................
8.1.1 移植前的准备工作.................................................
8.1.2 开发板内核移植.....................................................
8.1.3 移植后的工作.........................................................
8.2 Linux内核启动过程分析.................................................
8.2.1 内核启动流程源代码分析.....................................
8.2.2 内核自引导程序.....................................................
8.2.3 内核vmlinux入口.................................................
8.2.4 Linux系统初始化..................................................
8.2.5 挂接根文件系统.....................................................
8.2.6 初始化设备驱动.....................................................
8.2.7 启动用户空间init进程..........................................
第9章 内核调试技术.....................................................................
9.1 内核调试方法....................................................................
9.1.1 内核调试概述.........................................................
9.1.2 学会分析内核源程序.............................................
9.1.3 调试方法介绍...................................................................
9.2 内核打印函数..............................................................................
9.2.1 内核映像解压前的串口输出函数...................................
9.2.2 内核错误报告子程序.......................................................
9.2.3 内核打印函数...................................................................
9.3 获取内核信息..............................................................................
9.3.1 系统请求键.......................................................................
9.3.2 通过/proc接口..................................................................
9.3.3 通过/sys接口....................................................................
9.3.4 通过ioctl方法..................................................................
9.4 处理出错信息..............................................................................
9.4.1 oops信息..........................................................................
9.4.2 panic ..................................................................................
9.5 内核源码调试..............................................................................
9.5.1 KGDB调试内核源代码...................................................
9.5.2 BDI2000调试内核源代码...............................................
第10章 制作 Linux根文件系统..............................................................
10.1 根文件系统目录结构................................................................
10.1.1 FHS目录结构................................................................
10.1.2 文件存放规则.................................................................
10.2 添加系统文件............................................................................
10.2.1 添加共享链接库.............................................................
10.2.2 添加内核模块.................................................................
10.2.3 添加设备文件.................................................................
10.3 init系统初始化过程.................................................................
10.3.1 inittab文件......................................................................
10.3.2 System V init启动过程..................................................
10.3.3 Busybox init启动过程分析...........................................
10.4 定制文件系统............................................................................
10.4.1 定制应用程序.................................................................
10.4.2 配置应用程序自动启动.................................................
第11章 充分利用开源软件.........................................................
11.1 开放源代码工程介绍....................................................
11.1.1 Linux系统和开源软件......................................
11.1.2 开源软件的特点.................................................
11.2 Busybox使用.................................................................
11.2.1 Busybox工程介绍..............................................
11.2.2 配置编译 Busybox.....................................................
11.3 X11图形系统.......................................................................
11.3.1 X Windows介绍........................................................
11.3.2 Tiny-X 介绍...............................................................
11.3.3 GTK 图形库...............................................................
11.4 Qt图形库..............................................................................
11.4.1 Qt介绍.......................................................................
11.4.2 Qt/Embedded介绍.....................................................
11.4.3 Qt/Embedded架构.....................................................
11.4.4 Qt/Embedded软件包与安装.....................................
11.5 MiniGUI图形系统...............................................................
11.5.1 MiniGUI图形系统概述............................................
11.5.2 MiniGUI移植............................................................
11.6 MicroWindows图形系统.....................................................
11.7 Linux下的网络应用............................................................
11.7.1 嵌入式设备的网络化................................................
11.7.2 TCP/IP协议概述.......................................................
11.7.3 Linux 下的Socket编程............................................
11.8 嵌入式 Linux的串行通信...................................................
11.8.1 Linux下的串口操作.................................................
11.8.2 Linux串口编程实例.................................................
第12章 系统集成测试....................................................................
12.1 系统集成测试...................................................................
12.1.1 系统集成测试概述................................................
12.1.2 系统集成测试要求................................................
12.2 系统跟踪工具...................................................................
12.2.1 为什么需要跟踪工具............................................
12.2.2 Strace......................................................................
12.2.3 Ltrace .....................................................................
12.2.4 LTT.........................................................................
12.3 系统性能测量工具...........................................................
12.3.1 代码效率测量........................................................
12.3.2 LTP.........................................................................
12.3.3 LMbench ................................................................
12.4 测量内存泄漏...................................................................
12.4.1 mtrace.....................................................................
12.4.2 dmalloc...................................................................
12.4.3 memwatch ..............................................................
12.4.4 YAMD.......................................................................
第13章 部署 Linux系统....................................................................
13.1 部署Linux系统概述..........................................................
13.1.1 部署Linux系统的基本流程...................................
13.1.2 部署Linux系统的关键问题...................................
13.2 文件系统类型......................................................................
13.2.1 EXT2/EXT3 ..............................................................
13.2.2 JFS.............................................................................
13.2.3 cramfs........................................................................
13.2.4 JFFS/JFFS2 ...............................................................
13.2.5 YAFFS.......................................................................
13.3 存储设备..............................................................................
13.3.1 MTD 类型设备.........................................................
13.3.2 磁盘类型设备...........................................................
13.4 部署Linux系统..................................................................
13.4.1 安装MTD 工具........................................................
13.4.2 使用磁盘文件系统...................................................
13.4.3 使用RAMDISK 设备..............................................
13.4.4 使用MTD 设备和JFFS2文件系统........................
13.4.5 系统启动和升级.......................................................
第14章 系统设计开发实例...............................................................
14.1 需求分析..............................................................................
14.2 系统硬件设计......................................................................
14.3 系统软件设计......................................................................
14.4 系统集成与部署..................................................................