@kexinWeb
2017-03-06T19:16:22.000000Z
字数 2192
阅读 1243
嵌入式
14计科1班刘可欣
- 嵌入性
- 专用性
- 低功耗
- 体积小
- 成本低
- 高实时性
所有生产的处理器中大约99%都用于嵌入式系统。仅2007年,基于ARM处理器架构的芯片生产了29亿片,所有这些芯片基本上都用于嵌入式应用。这些处理器应用在你的汽车,电气用具和玩具中;安装在我们的建筑中;对提供交通,水和电力等基础设施的高效运作至关重要。世界越来越依靠嵌入式系统,作为技术专家,了解它们的工作原理是非常有用。桌面计算机市场几乎饱和,而嵌入式市场正在增长,只要人们还认为随时随地的计算是有必要的,嵌入式市场将会保持增长。
嵌入式无处不在
嵌入式设备已经渗透到我们生活的方方面面,我们每个人的日常生活作息几乎都离不开嵌入式:夏天的风扇、空调,洗衣服的洗衣机,吹风筒等等。我们现在每个人随身携带的手机也是嵌入式的设备。未来的世界也是嵌入式的黄金时代。
嵌入式能让你解决硬件问题
嵌入式编程中的困难问题会促进你在受限平台上编写高可靠系统。软件是并发的(通常同时使用中断和线程),必须兼顾硬件设备和外部的时序约束,小心处理各种错误情况。总的来说,你会突然遇到很多难以解决的编程问题。这个时候,如果了解硬件的结构还有工作原理能够给软件调试带来极大的便利。
当今时代软硬件能力兼具的人才稀缺
像计算机软件专业的学生大多数主攻的是软件和算法方向,比较少的人会去学硬件。而自动化专业的学生硬件能力比较强,但往往软件编程能力不足。所以,我们计算机专业的学子更应该向软硬件能力兼备的方向前进。
1.交叉编译gdb和gdbserver
嵌入式Linux系统中,应用开发过程中,很多情况下,用户需要对一个应用程序进行反复调试,特别是复杂的程序。采用GDB方法调试,由于嵌入式系统资源有限性,一般不能直接在目标系统上进行调试,通常采用gdb+gdbserver
的方式进行调试。 Gdbserver在目标系统中运行,gdb则在宿主机上运行。
目标系统必须包括gdbserver程序,宿主机也必须安装gdb程序。在此我们还不能直接采用linux发行版自带的gdb,需要交叉编译gdb和gdbserver
。
2.编译gdb和gdbserver工具
下载最新版本的gdb-6.8.tar.gz,可以到ftp://ftp.gnu.org/gnu/gdb下载.
准备好自己的工作目录,如下示
/home/user/gdb
|--gdb-6.8
|--obj-gdb
|--build
|--obj-gdbserver
|--build
|--bin
脚本obj-gdb/build内容如下:
#!/bin/sh
../gdb-6.8/configure --target=arm-linux --enable-shared --prefix=/usr/src/arm/gdb/build-gdb --without-x --disable-gdbtk --disable-tui --without-included-regex --without-included-gettext
make
echo "done"
脚本obj-gdbserver/build内容如下:
#!/bin/sh
CC=/opt/toolchain/arm-linux/bin/arm-linux-gcc
../gdb-6.8/gdb/gdbserver/configure --host=arm-linux --without-included-regex --without-included-gettext
echo "done"
开始编译:
- (1) cd obj-gdb
./build- (2) cd obj-gdbserver
./build
这时会生成Makefile,修改Makefile如下:
LDFLAGS= -static
然后make
- (3) cd bin
cp ../obj-gdb/gdb/gdb .
cp ../obj-gdbserver/gdbserver .
arm-linux-strip gdbserver- (4) 好了bin目录下就是最终编译出来的gdb+gdbserver了
3.gdbserver使用与测试
(1) 目标机中
执行命令gdbserver 10.0.12.144:1234 test
注意test在编译的时候是要加-g选项的
(2) 宿主机中
gdb test
再输入命令target remote 10.0.12.143:1234
接下来就可以gdb的调试了
(3) 说明
目标机IP:10.0.12.143
宿主机IP: 10.0.12.144
端口是随意指定的,只要两端保持一致就行了
test程序两端也必须相同(stavy)
- 系统需求分析
- 需求描述阶段
- 规格说明阶段
- 系统设计
- 体系结构设计
- 硬件平台选择
- 软件平台选择
- 硬件与软件的划分
- 系统集成与调试
- 系统集成
- 系统调试
- 系统测试
嵌入式系统的应用
- 信息家电
- 交通管理
- 商业领域
- 工业控制
- 环境工程与自然
- 机器人
嵌入式系统的发展趋势
- 应用软件的开发需要强大的开发工具和操作系统的支持
- 为设备网络通信提供标准 接口
- 支持小型电子设备实现小尺寸、低功耗和低成本
- 提供精巧的多媒体人际界面