嵌入式开发环境搭建.ppt

上传人:sh****n 文档编号:7510512 上传时间:2020-03-22 格式:PPT 页数:45 大小:5.34MB
返回 下载 相关 举报
嵌入式开发环境搭建.ppt_第1页
第1页 / 共45页
嵌入式开发环境搭建.ppt_第2页
第2页 / 共45页
嵌入式开发环境搭建.ppt_第3页
第3页 / 共45页
点击查看更多>>
资源描述
嵌入式开发环境搭建 www gec edu org www gec edu org 目录 www gec edu org 软件开发流程 开发环境搭建 集成 程序编辑 程序 可执行 安装 程序编译 程序调试 如vc ADS AXD MDK等集成开发环境 编辑器 编译器 调试器 必备库 必备工具等 www gec edu org linux本地开发实例 1 程序编辑 2 程序编译 3 程序调试 videbug c gccdebug c odebug g gdbdebug 4 程序运行 debug www gec edu org linux本地调试 gdbdebug设置断点 gdb breakfunc gdb break21查看断点 gdb infobr取消断点 gdb dis1 取消第1个断点 gdb infobr gdb r run 全步运行 gdb n next 单步运行 gdb n gdb breakfunc gdb r gdb c gdb n gdb c continue 余步运行 gdb finish gdb quit www gec edu org linux本地开发 本地开发环境搭建 编辑程序 运行程序 调试程序 编译程序 依赖文件 usr vi usr bin gcc g usr bin gdb gdbserver usr bin 依赖库 usr lib www gec edu org 嵌入式系统定义回顾 嵌入到对象体中的专用计算机系统三要素 嵌入 专用 计算机嵌入式系统的特点 由三要素引出嵌入性 嵌入到对象体系中 有对象环境要求专用性 软 硬件按对象要求裁减计算机 实现对象的智能化功能 www gec edu org 嵌入式系统的应用 www gec edu org GEC2440开发板 www gec edu org GEC2440开发板硬件构成 采用三星公司的S3C2440A 40 系统可稳定运行在405MHZ 主频最高可达530多MHz 64M字节的SDRAM 由两片K4S561632组成 工作在32位模式下 64M字节NANDFlash 采用的是K9F1208 可以兼容16M 32M或128M字节 100M以太网接口 采用的是DM9000AEP 带传输和连接指示灯 LCD和触摸屏接口 2个USBHOST S3C2440内置的 符合USB1 1 其中一个USBHOST接口是复用的 一个USBDevice S3C2440内置的 符合USB1 1 支持音频输入和音频输出 音频模块由S3C2440的IIS音频总线接口和UDA1341音频编码解码器组成 板上还集成了一个MIC 用于音频输入 2路UART串行口 波特率可高达115200bps 并具有RS232电平转换电路 其中一路为完整串口 SD卡接口 兼容SDMemoryCardProtocol1 0和SDIOCardProtocol1 0 Embedded ICE 20脚标准JTAG 接口和并口式JTAG接口 支持ADS SDT软件的下载 和调试以及FLASH的烧写 SPI接口 数字摄像头接口 蜂鸣器 4个LED灯 6个按键 开关电源 分布式电源供电 3V锂电池 提供RTC电源 www gec edu org GEC2440开发板使用 启动LINUX接上电源 接上交叉串口线 连上交叉网线 设置好串口工具串口工具的参数 波特率115200 8位 无奇偶位 停止位1 无硬件流 开发板上电后 BootLoader等待一段时间 如果没有输入 将会自动启动这个linux系统 这时将在串口有信息显示 最后将进入Linux的命令模式下 www gec edu org 嵌入式交叉开发 软硬件资源 有限 丰富 利用资源丰富的PC机来开发嵌入式软件 宿主机 目标机模式 www gec edu org 嵌入式Linux开发环境 嵌入式系统通常是一个资源受限的系统 因此直接在嵌入式系统的硬件平台上编写软件比较困难 有时候甚至是不可能的 解决办法 首先在通用计算机上编写程序 然后通过本地编译或者交叉编译生成目标平台上可以运行的二进制代码格式 最后再下载到目标平台上的特定位置上运行 www gec edu org 嵌入式Linux开发环境 关于交叉编译在一种平台上编译出能在另一种平台 体系结构不同 上运行的程序 在PC平台 X86CPU 上编译出能运行在arm平台上的程序 编译得到的程序在X86CPU平台上是不能运行的 必须放到arm平台上才能运行 用来编译这种程序的编译器就叫交叉编译器 为了不跟本地编译器混淆 交叉编译器的名字一般都有前缀 例如 arm linux gcc www gec edu org 嵌入式Linux开发环境 需要交叉开发环境 CrossDevelopmentEnv 的支持是嵌入式应用软件开发时的一个显著特点 交叉编译器只是交叉开发环境的一部分 交叉开发环境是指编译 链接和调试嵌入式应用软件的环境 它与运行嵌入式应用软件的环境有所不同 通常采用宿主机 目标机模式 www gec edu org 嵌入式交叉开发 开发编译 仿真调试 调试 运行 目标机 宿主机 宿主机 目标机模式 通信通道 www gec edu org 嵌入式交叉开发 www gec edu org 嵌入式开发环境搭建 交叉编译环境搭建 主机通信环境搭建 交叉调试环境搭建 嵌入式开发环境搭建 通信 系统平台 www gec edu org 交叉编译环境搭建 交叉工具链交叉编译环境所需工具的集合体 搭建编译环境所需软件 binuntials gcc与glibc等 的安装载体 主要包括交叉编译器 例如arm linux gcc交叉汇编器 例如arm linux as交叉链接器 例如arm linux ld各种操作所依赖的库用于处理可执行程序和库的一些基本工具 例如arm linux strip www gec edu org 交叉编译环境搭建 www gec edu org 交叉编译环境搭建 交叉编译器 交叉工具链 安装 1 安装准备 mkdir usr local arm2 拷贝安装源码包 cpeabi 4 1 2 tar bz2 usr local arm3 解压 tarjxvfeabi 4 1 2 tar bz2 C usr local arm mveabi4 1 2 更改工具链目录名为4 1 24 添加环境变量 vi etc bashrc文件最后添加 exportPATH usr local arm 4 1 2 bin PATH使得配置立刻生效 需要使用source命令重新读取配置文件 source etc bashrc交叉编译器安装完毕 安装软件 eabi 4 1 2 tar bz2 www gec edu org 实验 交叉编译debug c 交叉编译环境搭建 www gec edu org 主从机通信环境搭建 串口 USB 网络 并口 访问开发板后台 下载程序 怎样连接 串口 www gec edu org 远程访问目标板 minicom的使用minicom的设置 minicom s www gec edu org 远程访问目标板 www gec edu org 远程访问目标板 minicom的使用选择串口选择菜单中的 Serialportsetup 按回车 进入如下图所示界面 按 A 以设置 SerialDevice 串口1 dev ttyS0 串口2 dev ttyS1 www gec edu org 远程访问目标板 www gec edu org 远程访问目标板 minicom的使用设置波特率按 E 键进入设置 bps par Bits 波特率 界面 再按 I 以设置波特率为115200 Q 数据位8 奇偶检验位无 停止位1 www gec edu org 远程访问目标板 www gec edu org 远程访问目标板 minicom的使用设置无流控制 无硬件 无软件 按回车退回到上一级菜单 按 F 键设置 HardwareFlowControl 为 NO 其他选项使用缺省值 www gec edu org 远程访问目标板 www gec edu org 远程访问目标板 minicom的使用保存设置再选择 Exit 退出设置模式 刚才的设置被保存到 etc minirc dfl 设置完毕打开目标板电源的电源开关 minicom输出目标板的启动信息 当Linux启动以后 minicom就相当于虚拟终端 可通过它来操作目标板 www gec edu org 远程访问目标板 minicom的使用退出minicom同时按下 Ctrl A 键 紧接着再按下 Q 键 在跳出的窗口中 选择 Yes www gec edu org 远程访问目标板 www gec edu org 主从机通信环境搭建 实验 请选择其中一种方法将交叉编译的debug下载到开发板并运行 www gec edu org 程序下载 串口下载网络下载网络挂载 www gec edu org 交叉调试器 嵌入式软件开发过程中的交叉调试与本地软件开发过程中的调试方式有所差别 本地软件开发调试器与被调试的程序往往运行在同一台计算机上 调试器是一个单独运行着的进程 它通过操作系统提供的调试接口来控制被调试的进程 嵌入式软件开发调试时采用的是在宿主机和目标机之间进行的交叉调试 调试器运行在宿主机 但被调试的进程却是运行在目标板 调试器和被调试进程通过串口或者网络进行通信 调试器可以控制 访问被调试进程 读取被调试进程的当前状态 并能够改变被调试进程的运行状态 www gec edu org 嵌入式交叉开发 www gec edu org 交叉调试环境搭建 交叉调试器 交叉调试器的制作 源码包 gdb 6 5 tar bz2www gun org 1 新建编译目录 mkdir home build gdb cd home build gdb将gdb 6 5 tar bz2拷贝到 home build gdb2 解压gdb 6 5 tar bz2 tarjxfgdb 6 5 tar bz23 配置 cdgdb 6 5 configure target arm linux prefix usr local arm 4 1 2 4 编译 make5 安装 makeinstall 在 usr local arm 4 1 2 bin 目录下生成arm linux gdb工具 www gec edu org 交叉调试环境搭建 调试服务器 调试服务器的制作 源码包 gdb 6 5 gdb gdbserver 1 进入 cdgdb 6 5 gdb gdbserver2 配置 chmodu xconfigure configure host arm linux3 编译 makeCC arm linux gcc 完了在当前目录生成gdbserver gdbreplay等 4 下载安装到目标板 gdbserver gdbserver放到目标板的 bin目录下 www gec edu org 交叉调试环境搭建 调试实战 1 新建测试目录 mkdir root test cd root test2 编辑文件 videbug c编辑内容如下 includeintfunc intn intsum 0 i for i 0 i n i sum i returnsum main inti longresult 0 for i 1 i 100 i result i printf result 1 100 d n result printf result 1 250 d n func 250 www gec edu org 交叉调试环境搭建 调试实战 3 交叉编译 arm linux gcc gdebug c odebug 记得加上 g选项 4 下载到目标板 将整个代码目录 mkdirarm debug将目标程序放进arm debug cdarm debug5 启动调试服务器 目标板上进行 成功后便开始侦听本地调试端口 可以看到如下信息 bash 4 0 gdbserver172 22 60 222 1234debugProcesstrycreated pid 992Listeningonport1234 172 22 60 222是目标板的IP 6 启动交叉调试器 在宿主机上进行 root test 一定要进去代码目录下 arm linux gdbdebug targetremote172 22 60 222 1234 连接目标板服务器 www gec edu org 交叉调试环境搭建 调试实战 成功后打印如下 gdb targetremote172 22 60 223 1234Remotedebuggingusing172 22 60 223 1234Remotecommunicationerror Connectionresetbypeer 进行调试 gdb listorl gdb breakfunc gdb break22 gdb infobr gdb continueorc 这里不能用run gdb nextorn gdb printorpresult gdb finish 跳出func函数 gdb next gdb quit建连接后进行gdb远程调试和gdb本地调试方法相同 在此不详分析 www gec edu org 交叉调试器 Gdb指令列举查看文件l设置断点b 行号查看断点情况infob运行代码r run查看变量值 p 变量值查看堆栈 bt单步运行 n next 或 s step 若有函数调用的时候 s 会进入该函数而 n 不会进入该函数 恢复程序运行 c continue 设置断点 函数断点 b函数 此时的断点实际是在函数的定义处条件断点 b行数或函数名if表达式b8ifi 10 www gec edu org ThankYou
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!