- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 嵌入式软件开发基础 第6章 嵌入式软件开发基础 6.1 嵌入式软件开发语言 6.2 嵌入式软件开发流程 6.3 调试工具和方法 6.4 C语言程序的结构 6.3 仿真环境 6.1 嵌入式软件开发语言 汇编(与体系结构相关) C语言(最常用语言) C++语言(面向对象,C语言的扩展) JAVA(面向对象,可移植性强) 脚本语言(不需要编译) 6.2 嵌入式软件开发流程 嵌入式应用的生成特点 编译 汇编 链接 加载程序 嵌入式应用的生成特点 C语言程序的生成分成编译、汇编、链接等几个步骤。最终的目标的文件的主要部分是处理器可执行的机器代码组合。根据系统的不同,目标文件可能除了可执行的二进制代码部分外,还包括一定的头。 嵌入式应用的生成特点 ADS(Arm Developer Suite),主要需要使用以下工具: 编译器:armcc.exe(编译成ARM指令汇编)和tcc.exe(编译成Thumb指令汇编) 汇编器:armasm.exe 链接器:armlink.exe ARM-Linux GCC交叉编译系统,则主要使用以下工具: 编译器:arm-lixux-gcc(可以统一编译-汇编过程) 汇编器:arm-linux-as 链接器:arm-linux-ld 嵌入式应用的生成特点 编译(Compile) 编译(Compile)是指从高级语言转换成汇编语言的过程。从本质上编译是一个文本转换的过程(从文本文件到文本文件)。编译包含了C语言的语法解析和生成汇编语言两个步骤。 。 汇编 (Assemble) 汇编(Assemble)是指从汇编语言程序生成目标系统的二进制代码(机器代码)的过程。相对于编译过程的语法解析,汇编的过程相对简单。这是因为对于一款特定的处理器,其汇编语言和二进制的机器代码是一一对应的。 链接(Link) 链接(Link)过程将汇编成的多个机器代码组合成一个可执行程序。一般来说,通过编译和汇编过程,每一个源文件将生成一个目标文件。链接器的作用就是将这些目标文件组合,组合的过程包括了代码段、数据段等部分的合并,以及添加相应的文件头。 6.3 调试工具和方法 嵌入式调试的特点 打印调试信息 JTAG调试 远程gdb调试 嵌入式调试的特点 在嵌入式系统中,调试的概念相对复杂。对于其调试过程,程序主体运行在目标机上,主机所起的作用是获得程序运行中的信息,并通过人工或者程序的方式分析这些信息。因此嵌入式调试的基础是需要一条从主机到目标机的通讯通道。 打印调试信息 打印调试信息是基本的调试方式, printf()标准输出,在嵌入式系统中,这种输出的通讯通道可能是串口或者网络协议。在某些系统中,没有实现标准输出,这就需要开发者自己开发调试手段。 JTAG调试 JTAG是Joint Test Action Group的简称。JTAG使用边界扫描(Boundary-Scan)的方式调试:在正常的运行状态下,这些边界扫描寄存器对于芯片是透明的;在调试的运行状态下,通过这些边界扫描寄存器单元,可以实现对芯片输入输出信号的观察和控制。 远程GDB调试 在远程GDB调试中,调试器是运行在主机(host,桌面电脑)的应用程序, 被调试的程序是运行在目标(target)上。它通过插桩(stub)的方式实现,即在目标操作系统和调试器内分别加入某些功能模块,二者互通信息来进行调试。调试器与被调程序的通信: Gdb和调试stub通过GDB串行协议进行通信。 6.4 C语言程序的结构 C语言目标文件中的段 执行程序内部细节 目标文件各段的链接 C语言程序的执行 C语言目标文件中的段 C语言的目标文件一般包含三个主体段: 代码段(Code,又称Text) 只读数据段(RO Data) 读写数据段(RW Data) 执行程序内部细节 1 #include stdio.h 2 #include stdlib.h 3 4 const char ro_data[1024]={This is readonly data}; 5 char rw_data_1[1024]={This is global readwrite data}; 6 static char rw_data_2[1024]={This is internal readwrite data}; 7 static char zero_data_1[1024]; 8 执行程序内部细节 9 int main(int argc, char *argv[]) 10 { 11
您可能关注的文档
- 客源国 地区 概况 第2版 周凤杰 第2章第3节法国新.ppt
- 客源国 地区 概况 第2版 周凤杰 第2章第4节德国新.ppt
- 客源国 地区 概况 第2版 周凤杰 第2章第5节意大利新.ppt
- 客源国 地区 概况 第2版 周凤杰 第2章第6节西班牙新.ppt
- 客源国 地区 概况 第2版 周凤杰 第3章第1节美国新.ppt
- 客源国 地区 概况 第2版 周凤杰 第3章第2节加拿大新.ppt
- 客源国 地区 概况 第2版 周凤杰 绪论新.ppt
- 库存管理 熊正平 黄君 20916库存管理课件(徐春涛)新.ppt
- 平面VI设计项目实训教程 孙雅娟 第1章 导学新.ppt
- 平面VI设计项目实训教程 孙雅娟 第2章项目一——教育培训机构VI设计新.ppt
- 嵌入式系统原理及应用开发 陈渝 第8章 构建嵌入式Linux系统新.ppt
- 嵌入式系统原理及应用开发 陈渝 第9章 嵌入式Linux系统移植新.ppt
- 嵌入式系统原理及应用开发 陈渝 第10章 Linux内核驱动原理新.ppt
- 嵌入式系统原理及应用开发 陈渝 第11章 嵌入式Linux驱动开发新.ppt
- 嵌入式系统原理及应用开发 陈渝 第12章 嵌入式系统的应用程序开发新.ppt
- 嵌入式系统原理与开发 范延滨 于忠清 郑立爱编著 Ch1-嵌入式系统概述新.ppt
- 嵌入式系统原理与开发 范延滨 于忠清 郑立爱编著 Ch2-ARM处理器新.ppt
- 嵌入式系统原理与开发 范延滨 于忠清 郑立爱编著 Ch3-ARM指令系统新.ppt
- 嵌入式系统原理与开发 范延滨 于忠清 郑立爱编著 Ch4-ARM汇编程序设计新.ppt
- 嵌入式系统原理与开发 范延滨 于忠清 郑立爱编著 Ch5-μCOS-II嵌入式操作系统新.ppt
最近下载
- 小学英语新人教精通版三年级上册Unit 4 Friends Lesson 2教学课件2024秋.pptx
- 2025年易制毒化学品考试练习测试题附答案.doc
- 能源技术革命创新行动计划(2025-2030年).pptx VIP
- 创业资源的管理与整合.pptx VIP
- 2024科技住宅设计标准.docx VIP
- 2025年信息管理系统项目立项申请报告模板.docx
- 管道施工ppt课件学习资料.ppt VIP
- 【2024年7月中考试题观察研讨课件】7. 滨州中考第21题 解析.pptx VIP
- GB50156-2012(2014年版) 汽车加油加气站设计与施工规范.pdf VIP
- _黄帝内经_中相关_血气_气血_论述辨析.kdh.pdf VIP
原创力文档


文档评论(0)