首页资源分类嵌入式系统 > tkstudio IDE用户手册

tkstudio IDE用户手册

已有 447944个资源

下载专区

上传者其他资源

    文档信息举报收藏

    标    签:tkstudio

    分    享:

    文档简介

    TKStudio IDE用户手册

    文档预览

    User Manual TKStudio IDE 用户手册 TKStudio IDE 帮助模块 UM09010101 V2.10 Date: 2008/09/06 产品用户手册 类别 关键词 摘要 内容 TKStudio,IDE,用户手册,帮助文档 从安装、用户界面、第一个程序、代码编辑器、工程管理器、 编译器、调试器、快捷键详细讲解了 TKStudio IDE 的各项特 征和利用 TKStudio 进行项目开发的方法流程,帮助用户快速 掌握 TKStudio IDE 的使用。 广州致远电子有限公司 广州致远电子有限公司 修订历史 版本 V2.00 V2.10 日期 2008/09/06 2008/12/19 TKStudio IDE 用户手册 TKStudio 集成开发环境 原因 创建文档 更新安装程序图片 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. i 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 销售与服务网络(一) 广州周立功单片机发展有限公司 地址:广州市天河北路 689 号光大银行大厦 12 楼 F4 邮编:510630 电话:(020)38730916 38730917 38730972 38730976 38730977 传真:(020)38730925 网址:www.zlgmcu.com 广州专卖店 地址:广州市天河区新赛格电子城 203-204 室 电话:(020)87578634 87569917 传真:(020)87578842 南京周立功 地址:南京市珠江路 280 号珠江大厦 2006 室 电话:(025)83613221 83613271 83603500 传真:(025)83613271 北京周立功 地址:北京市海淀区知春路 113 号银网中心 A 座 1207-1208 室(中发电子市场斜对面) 电话:(010)62536178 62536179 82628073 传真:(010)82614433 重庆周立功 地址:重庆市石桥铺科园一路二号大西洋国际大厦 (赛格电子市场)1611 室 电话:(023)68796438 68796439 传真:(023)68796439 杭州周立功 成都周立功 地址:杭州市天目山路 217 号杭州电子科技大楼 502 地址:成都市一环路南二段 1 号数码同人港 401 室(磨 室 子桥立交西北角) 电话:(0571) 28139611 28139612 28139613 电话:(028)85439836 85437446 传真:(0571) 28139621 传真:(028)85437896 深圳周立功 武汉周立功 地址:深圳市深南中路 2070 号电子科技大厦 C 座 4 地址:武汉市洪山区广埠屯珞瑜路 158 号 12128 室(华 楼D室 中电脑数码市场) 电话:(0755)83781788(5 线) 电话:(027)87168497 87168297 87168397 传真:(0755)83793285 传真:(027)87163755 上海周立功 地址:上海市北京东路 668 号科技京城东座 7E 室 电话:(021)53083452 53083453 53083496 传真:(021)53083491 西安办事处 地址:西安市长安北路 54 号太平洋大厦 1201 室 电话:(029)87881296 83063000 87881295 传真:(029)87880865 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. ii 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 销售与服务网络(二) 广州致远电子有限公司 地址:广州市天河区车陂路黄洲工业区 3 栋 2 楼 邮编:510660 传真:(020)38601859 网址:www.embedtools.com (嵌入式系统事业部) www.embedcontrol.com (工控网络事业部) www.ecardsys.com (楼宇自动化事业部) 技术支持: CAN-bus: 电话:(020)22644381 22644382 22644253 邮箱:can.support@embedcontrol.com iCAN 及模块: 电话:(020)28872344 22644373 邮箱:ican@embedcontrol.com MiniARM: 电话:(020)28872684 28267813 邮箱:miniarm.support@embedtools.com 以太网及无线: 电话:(020)22644380 22644385 22644386 邮箱:wireless@embedcontrol.com ethernet.support@embedcontrol.com 编程器: 电话:(020)22644371 邮箱:programmer@embedtools.com 分析仪器: 电话:(020)22644375 28872624 28872345 邮箱:tools@embedtools.com ARM 嵌入式系统: 电话:(020)28872347 28872377 22644383 22644384 邮箱:arm.support@zlgmcu.com 楼宇自动化: 电话:(020)22644376 22644389 28267806 邮箱:mjs.support@ecardsys.com mifare.support@zlgmcu.com 销售: 电话:(020)22644249 22644399 22644372 22644261 28872524 28872342 28872349 28872569 28872573 38601786 维修: 电话:(020)22644245 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. iii 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 目录 1. 功能简介.............................................................................................................. 1 1.1 产生背景................................................................................................................... 1 1.2 特点........................................................................................................................... 1 1.3 开发流程................................................................................................................... 1 1.4 体系结构................................................................................................................... 2 2. 操作说明.............................................................................................................. 3 2.1 安装........................................................................................................................... 3 2.1.1 系统要求...........................................................................................................3 2.1.2 如何安装...........................................................................................................3 2.1.3 如何打开.........................................................................................................10 2.1.4 如何维护.........................................................................................................12 2.1.5 如何更新.........................................................................................................16 2.2 用户界面................................................................................................................. 20 2.2.1 主界面.............................................................................................................21 2.2.2 菜单.................................................................................................................21 2.2.3 工具栏.............................................................................................................31 2.2.4 状态栏.............................................................................................................36 2.2.5 对话框.............................................................................................................36 2.3 第一个程序............................................................................................................. 42 2.3.1 程序.................................................................................................................42 2.3.2 创建工程.........................................................................................................43 2.3.3 配置工程.........................................................................................................46 2.3.4 编译工程.........................................................................................................46 2.3.5 调试工程.........................................................................................................48 2.4 代码编辑器............................................................................................................. 49 2.4.1 界面.................................................................................................................50 2.4.2 特点.................................................................................................................53 2.4.3 选项.................................................................................................................68 2.5 工程管理器............................................................................................................. 71 2.5.1 工程窗口.........................................................................................................71 2.5.2 文件管理.........................................................................................................74 2.5.3 工程管理.........................................................................................................77 2.6 工程配置................................................................................................................. 80 2.6.1 Keil 工程配置.................................................................................................81 2.6.2 SDCC 工程配置 .............................................................................................88 2.6.3 ADS 工程配置................................................................................................98 2.6.4 Gnu ARM 工程配置 ..................................................................................... 113 2.6.5 MDK 工程配置.............................................................................................125 2.6.6 Gcc AVR 工程配置.......................................................................................136 2.7 编译器................................................................................................................... 146 2.7.1 编译链...........................................................................................................146 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 1 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 2.7.2 编译工具设置...............................................................................................146 2.7.3 编译窗口.......................................................................................................147 2.8 调试器................................................................................................................... 148 2.8.1 源代码窗口...................................................................................................149 2.8.2 断点管理.......................................................................................................149 2.8.3 调试窗口.......................................................................................................151 2.8.4 寄存器窗口...................................................................................................151 2.8.5 特殊功能寄存器...........................................................................................151 2.8.6 命令窗口.......................................................................................................152 2.8.7 观察窗...........................................................................................................152 2.8.8 存储器窗口...................................................................................................154 2.8.9 反汇编窗口...................................................................................................156 2.8.10 串行窗口.......................................................................................................158 2.8.11 调用堆栈.......................................................................................................159 2.8.12 跟踪窗口.......................................................................................................159 2.8.13 性能分析器...................................................................................................160 2.8.14 覆盖分析器...................................................................................................162 2.8.15 外围设备.......................................................................................................164 2.9 默认快捷键........................................................................................................... 164 2.9.1 文本操作.......................................................................................................164 2.9.2 文本导航.......................................................................................................165 2.9.3 文本选择.......................................................................................................166 2.9.4 搜索替换.......................................................................................................166 2.9.5 编译调试.......................................................................................................167 2.9.6 全局操作.......................................................................................................167 2.10 客户服务...............................................................................................................167 3. FAQ....................................................................................................................169 4. 免责声明...........................................................................................................171 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 2 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 1. 功能简介 TKStudio IDE 集成开发环境是广州致远电子有限公司开发的一个微处理软件开发平 台,是一款具有强大内置编辑器的多内核编译/调试环境,支持 8051、ARM v4/v5/v7、AVR 等内核,可以完成从工程建立和管理、编译、链接、目标代码的生成, 到软件仿真、硬件 仿真(挂接 TKS 系列仿真器的硬件)等完整的开发流程。 1.1 产生背景 嵌入式系统是当前最热门最有发展前景的 IT 应用领域之一。我们平常用的手机、可视 电话、数码相机、摄像机、机顶盒、路由器、数控设备或仪表、医疗仪器、航天航空设备等 都是嵌入式系统。近年来,IT 业的核心技术已经集中在集成电路芯片和软件这两个部分, 而嵌入式软件则是驱动硬件系统的灵魂。因此,通过嵌入式软件增加产品的附加值无疑是最 好的选择。世界各国和各知名厂商都在为嵌入式软件的发展而努力。 为了促进嵌入式软件的发展,方便开发人员进行嵌入式开发,广州致远电子有限公司在 2003 年就开始致力于开发一个集多平台编译/调试的集成开发环境 TKStudio。到目前为止, TKStudio 已发展到了 3.xx 版本,功能越来越强大,编译器方面,支持的工具链由单一的 Keil C51 演变为多样化的 Keil C51、SDCC 51、ADS ARM、GCC ARM、GCC AVR、Realview MDK, 以及即将支持的 Cortex M3,让用户在开发过程中随心所意,免除了学习编译器所发费的大 量时间。编辑器方面,越过了嵌入式 IDE 的界限,增加了大量帮助用户提高效率的功能, 带来了完美的用户体验。调试器方面,支持源码级调试,配备大量调试窗口、性能分析、覆 盖分析、运行轨迹回溯工具,帮助您快速定位无用代码、无用变量,更好地优化完善整个嵌 入式系统,还内置了完备的软件仿真系统,帮助您“手中无剑”也能快速上道。 1.2 特点  支持众多主流内核,全部操作界面高度统一,免除开发环境熟悉周期  傻瓜式的成员提示及代码模板功能,提升编码速度及准确度  智能的代码导航系统,方便阅读和分析代码  方便的原型对比功能,快速追踪分析代码结构  专业的文件比较/差异合并功能,显示处理不同版本的细微差别  支持超大文件及十六进制编辑功能  完善的工程管理,多目标模式,多工具链编译  强大的专业编辑器,可配置语法高亮,独立元素颜色、大小突出显示,代码智能格式化 和折叠,列编辑功能等  完美的兼容性,支持 uV2、uV3、ADS1.2 工程导入  支持系统级调试,配备大量调试工具 1.3 开发流程 使用 TKStudio IDE 进行嵌入式系统开发的步骤如下: 1) 建立工程 (或导入工程) 2) 为工程选择目标器件。 3) 设置工程的配置参数 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 1 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 4) 打开/建立程序文件 5) 编译和链接工程 6) 纠正程序中的书写和语法错误,并重新编译连接 7) 使用软件对程序中某些纯软件的部分进行仿真验证 8) 使用硬件仿真器对应用程序进行硬件仿真 9) 将生成的可烧写文件烧写到 ROM 中运行测试 上面的是一般的开发流程,有些步骤可能会重复进行。 1.4 体系结构 图 1.1 体系结构 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 2 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 2. 操作说明 2.1 安装 2.1.1 系统要求 必须满足最小的硬件和软件要求,才能确保编译器以及其他程序功能正常。您必须具有 以下配置:  Pentium、Pentium-2 或兼容处理器的 PC  Windows95、Windows98、WindowsNT4.0  至少 16MB 内存  至少 1GB 硬盘空间 2.1.2 如何安装 登 陆 TKStudio 网 站 http://www.embedtools.com/pro_tools/emluator/studio.asp 进 行 TKStudio IDE 的下载,下载后点击 TKSetup.exe 开始安装。 1. 欢迎界面 图 2.1 欢迎界面-安装 描述了当前安装的版本。点击“下一步”继续。 2. 阅读许可证协议 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 3 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.2 阅读许可证协议 描述当前版本许可证协议授于用户的权利和相关规定。仔细阅读后,选择“我接受‘许 可证协议’中的条款”,点击“下一步”继续。 3. 选择安装路径 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 4 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.3 设置安装路径 描 述 TKStudio IDE 的 安 装 路 径 。 默 认 路 径 为 “ C:\Program Files\Zhiyuan Electronic\TKStudio”,您也可以通过点击“浏览”或直接修改目标文件夹的位置。点击“下 一步”继续。 4. 设置开始菜单 图 2.4 设置开始菜单 描述了在开始菜单中要显示的 TKStudio 的名字,用户可以根据自己的需要进行修改。 点击“安装”开始安装。 5. 正在安装 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 5 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.5 正在安装 显示当前正在进行的动作,此过程由程序自动控制。 6. 完成主程序的安装 产品用户手册 图 2.6 完成主程序安装 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 6 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 提示用户已经安装完主程序。点击“安装工具链”继续。 7. 欢迎安装工具链 点击“下一步”继续。 8. 安装组件 图 2.7 欢迎界面-工具链安装 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 7 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.8 设置安装组件 描述了 TKStudio 支持的工具链,Keil C51 工具链在安装主程序的时候已经安装,所以 在此处不再提供。用户可以根据自己的需要进行选择安装,点击工具链名即可以在安装或不 安装状态下转换。设置好后,点击“安装”开始安装。 9. 设置关联文件 图 2.9 设置关联文件 设置需要默认用 TKStudio 打开的文件类型。设置好后点击“下一步”继续。 10. 设置工具链路径 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 8 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.10 设置工具链路径 程序会自动配置已安装工具链的路径,用户也可以根据自己的需要进行修改,点击要修 改的工具链路径右边的按扭即可进行修改。点击“下一步”继续。 11. 完成 TKStudio 的安装 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 9 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.11 完成安装 用户可以根据需要设置完成后要进行的动作,点击“完成”完成 TKStudio 的安装,并 进行相关动作。 2.1.3 如何打开 安装完成后,在桌面会出现 TKStudio 的图标,点击图标即可打开。 图 2.12 打开-桌面图标 同时在开始【菜单】->【程序】下也可以找到【TKStudio】。如果您在安装过程中修 改了 TKStudio 在开始菜单显示的名字,这里就将显示您所设置的名字而不是【TKStudio】。 找到 TKStudio 点击即可打开。 图 2.13 打开-开始菜单 您还可以直接打开您的安装文件夹,找到“TKStudio.exe”点击打开。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 10 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.14 打开-安装目录 第一次打开 TKStudio,TKStudio 会根据您安装的工具链默认打开一个工程。以后再打 开时,TKStudio 会打开上一次关闭时打开的工程。 产品用户手册 图 2.15 初次打开界面 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 11 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 2.1.4 如何维护 可以直接在【开始】->【程序】找到 TKStudio,可以发现 TKStudio 下有一个【Uninstall】, 点击就可以进行维护。 图 2.16 维护-开始菜单 也可以打开控制面板中的【添加删除程序】,在里面找到 TKStudio,点击“更改/删除”。 图 2.17 维护-控制面板 还可以在 TKStudio 的安装目录下找到“ComponentSetup.exe”,双击打开即可。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 12 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.18 维护-安装目录 点击打开后,操作类似安装。 1. 欢迎界面 点击“下一步”继续。 2. 程序维护 图 2.19 欢迎界面-维护 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 13 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.20 程序维护 有三个选项,分别是“修改”、“修复”和“删除”,具体做些什么都有描述。选择要进 行的操作,点击“确定”。 3. 如果选择的是“修复”,程序会自动重新安装。 4. 如果选择的是“修改”程序会跳转到工具链安装界面,供用户修改相关设置。 5. 如果选择的是“删除”,则出现如下对话框。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 14 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.21 卸载确定 6. 选择“移除”则进行卸载,完成后提示已卸载完成。 产品用户手册 图 2.22 完成卸载 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 15 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 2.1.5 如何更新 打开 TKStudio,点击菜单【帮助】->【更新】。 图 2.23 更新-主菜单 也可以在 TKStudio 的安装目录下找到“TKSUpdate.exe”,双击打开。 图 2.24 更新-安装目录 还可以在 Windows 菜单【开始】->【程序】下找到 TKStudio,可以看到 TKStudio 下 有个【TKSUpdate】,点击打开。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 16 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.25 更新-开始菜单 1. 检查更新 如果当前版本已是最新版本,则提示没有找到更新。 图 2.26 没有检查到更新 如果当前版本不是最新版本,则会提示检查到了更新。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 17 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.27 检查到了更新 2. 进行更新 点击“更新”,程序就会自动更新,包括自动下载新文件,覆盖旧文件。 图 2.28 正在更新 下载完成后,会提示用户关闭所有与 TKStudio 相关的程序,以进行更新。 图 2.29 提示关闭相关程序 点击“确定”后,程序就将有关文件更新了,但由于有些是用户配置文件,所以需要用 户自己选择性地修改。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 18 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.30 提示用户配置文件操作 点击“确定”,程序自动调用 TKStudio 附带的文件比较器 TKSDiff,供用户对用户配置 文件进行操作。 图 2.31 比较用户配置文件 点击“比较”则进入到文件比较器进行相关操作,点击“取消”则不对用户配置文件进 行修改。 点击“比较”后进入文件比较器的主界面。用户则可以根据自己的需要进行相关的操作。 对于文件比较器的操作,这里就不再一一讲解,具体详情请查看《TKSDiff 用户手册》。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 19 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 3. 更新完成 图 2.32 文件比较器-用户配置文件 图 2.33 完成更新 2.2 用户界面 TKStudio 提供了两种不同的模式,一是构建模式,供用户编辑配置工程,一是调试模 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 20 广州致远电子有限公司 式,供用户调试仿真。 2.2.1 主界面 2.2.2 菜单 1. 主菜单 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.34 主界面 寄存器窗口突出显示改变了的寄存器 源代码窗口显示代码覆盖情况 特殊功能寄存器模拟当前芯片的所有SFR信息 反汇编窗口显示反汇编指令及执行情况 性能分析和覆盖分析窗口显示代码和数据的执行情况 外部设备窗口模拟当前芯片的所有外设信息 跟踪窗口可以随时观察执行指令的状态 存储器窗口和观察窗可以随时查看重要的程序变量 图 2.35 主菜单 表 2.1 主菜单 菜单项 文件 编辑 查看 工程 调试 外部设备 工具 窗口 帮助 快捷键 Alt + F Alt + E Alt + V Alt + P Alt + D Alt + R Alt + T Alt + W Alt + H 描述 对文件和设备库的操作 对编辑区的操作 对显示的操作 对工程的操作 调试的相关命令 对外部设备的操作 对环境和外部小工具的配置操作 对窗口的操作 帮助信息 缩小当前文件窗口 还原当前文件窗口 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 21 广州致远电子有限公司 2. 文件菜单 关闭当前文件窗口 TKStudio IDE 用户手册 TKStudio 集成开发环境 菜单项 新文件 快捷键 图标 图 2.36 文件菜单 表 2.2 文件菜单 创建一个新文件 描述 新建… Ctrl+N 创建一个源文件、文本文件或利用模板创建一个工程 打开… Ctrl+O 关闭 打开工程… 保存 Ctrl+S 另存为… 打开已存在的文件 关闭当前文件 打开已存在的 TKStudio 工程 保存当前文件 另外取名保存当前文件 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 22 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 全部保存 比较文件… 设备库… 打印… Ctrl+P 打印预览… 打印设置… 1~3 退出 保存所有文件 打开文件比较器进行文件比较 进行设备库维护操作 打印当前文件 打印前预览当前文件 设置打印机参数 最近打开的文件,点击可打开 退出 TKStudio,提示保存文件 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 23 广州致远电子有限公司 3. 编辑菜单 TKStudio IDE 用户手册 TKStudio 集成开发环境 菜单项 撤消 快捷键 Ctrl+Z 图 2.37 编辑菜单 表 2.3 编辑菜单 图标 撤消上一次操作 描述 重做 Ctrl+Y 重做上一次撤消的操作 剪切 Ctrl+X 将选中的文本剪切到剪贴板 复制 Ctrl+C 将选中的文本复制到剪贴板 粘贴 Ctrl+V 粘贴剪贴板的文本到当前光标处 放置/移除书签 Ctrl+F2 在当前行放置/移除书签 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 24 广州致远电子有限公司 下一书签位置 F2 前一书签位置 Shift+F2 清除所有书签 Ctrl+Shift+F2 查找… Ctrl+F 查找下一个 F3 查找上一个 Shift+F3 替换… Ctrl+R 在文件中查找… 十六进制编辑器 Ctrl+H 格式化选区 Alt+F8 切换自动换行 显示所有字符 显示缩进参考线 TKStudio IDE 用户手册 TKStudio 集成开发环境 移动光标到下一个书签 移动光标到上一个书签 清除当前文件的所有书签 在当前文件查找字符串 查找下一个匹配的字符串 查找上一个匹配的字符串 替换已查找到的字符串 在多个文件中查找字符串 在文本视图和十六进制视图之间切换 将选中的文本智能排版 设置或取消自动换行 显示或隐藏所有控制字符或空格 显示或隐藏缩进参考线 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 25 广州致远电子有限公司 4. 查看菜单 TKStudio IDE 用户手册 TKStudio 集成开发环境 菜单项 工具条 状态栏 放大字体 快捷键 图 2.38 查看菜单 表 2.4 查看菜单 图标 显示或隐藏各工具条 描述 显示或隐藏状态栏 放大编辑区的字体 缩小字体 缩小编辑区的字体 撤销字体缩放 撤销对编辑区字体的缩放 工程窗口 显示或隐藏工程窗口 函数窗口 显示或隐藏函数窗口 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 26 广州致远电子有限公司 编译窗口 调试窗口 命令窗口 查找窗口 1 查找窗口 2 定义窗口 1~6 风格 5. 工程菜单 TKStudio IDE 用户手册 TKStudio 集成开发环境 显示或隐藏编译窗口 显示或隐藏调试窗口 显示或隐藏命令窗口 显示或隐藏查找窗口 1 显示或隐藏查找窗口 2 显示或隐藏代码定义窗口 设置风格为相应编辑器的风格 菜单项 新建工程 导入工程... 打开工程... 关闭工程 编译工具设置 产品用户手册 图 2.39 工程菜单 表 2.5 工程菜单 快捷键 图标 创建新工程 描述 将已有的 Keil、ADS 工程转换为 TKStudio 工程 打开一个已有的 TKStudio 工程 关闭当前的工程并提示保存 设置编译工具路径 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 27 广州致远电子有限公司 选择工程目标 CPU 配置目标工程 构建目标工程 F7 重建全部 编译当前文件 停止构建 1~4 6. 调试菜单 TKStudio IDE 用户手册 TKStudio 集成开发环境 从器件库选择目标 CPU 配置目标工程参数 编译修改过的文件并生成应用 重新编译所有的文件并生成应用 编译当前文件 停止正在进行的构建过程 显示最近打开过的工程,点击可打开 窗口 菜单项 启动/停止调试 产品用户手册 图 2.40 调试菜单 表 2.6 调试菜单 快捷键 图标 描述 对调试信息的输出窗口的操作 Shift+F5 启动或停止调试模式 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 28 广州致远电子有限公司 运行 F5 忽略断点运行 Ctrl+F5 停止运行 Shift+Esc 步进 F11 步越 F10 步出 Shift+F11 运行到当前行 跳转到当前行 断点管理 插入/移除断点 Ctrl+F10 Ctrl+F12 F9 禁止/使能断点 禁止所有断点 清除所有断点 显示程序指针(PC)所在行 7. 外部设备菜单 TKStudio IDE 用户手册 TKStudio 集成开发环境 运行,直到下一个激活的断点 忽略断点运行 停止运行 单步执行程序,遇到子程序则进入 单步执行程序,跳过子程序 执行到当前函数的结束 运行到当前行 不执行中间的代码,直接跳转到当前行 进行断点管理 在当前行插入或移除断点 使当前行的断点有效或无效 使整个工程的所有断点无效 清除整个工程的所有断点 显示下一个即将执行的指令行 产品用户手册 图 2.41 外部设备菜单 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 29 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 外部设备在构建模式下不可用,是在调试模式下对当前目标 CPU 存在的外部设备进行 模拟,点击相应的部件可以进行查看或设置。外部设备菜单根据 CPU 不同加载的菜单不同, 这里不进行一一说明。 8. 工具菜单 菜单项 编辑器风格 自定义 外部工具管理器 文件比较器-TKSDiff SFR 维护工具-SMT 9. 窗口菜单 图 2.42 工具菜单 表 2.7 工具菜单 快捷键 图标 描述 设置编辑器的风格、样式 打开自定义自对话框 打开外部工具管理器 打开文件比较器 打开 SFR 维护工具 菜单项 切分窗口 快捷键 图 2.43 窗口菜单 表 2.8 窗口菜单 图标 描述 将当前窗口切分成 2 个或 4 个窗口 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 30 广州致远电子有限公司 全部关闭 层叠 水平平铺 垂直平铺 1~2 更多窗口… 10. 帮助菜单 TKStudio IDE 用户手册 TKStudio 集成开发环境 关闭所有打开的文件 以互相重叠的形式排列打开的文件窗口 以互不重叠的形式水平排列打开的文件窗口 以互不重叠的形式垂直排列打开的文件窗口 打开的文件 设置窗口排列的相关参数 图 2.44 帮助菜单 表 2.9 帮助菜单 菜单项 TKStudio 帮助 快捷键 图标 描述 打开 TKStudio 用户手册 C51 语法与应用帮助 打开 C51 语法与应用帮助 关于 MCU 集成开发环境… 更新… 11. 工具栏右键菜单 显示 TKStudio 相关信息 检查更新并进行更新操作 图 2.45 工具栏右键菜单 其中,“主工具条”、“文本编辑器”、“生成工具条”、“调试工具条”是控制相应的工具 条是否显示。点击“Customize”即弹出<自定义>对话框。 2.2.3 工具栏 1. 主工具条 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 31 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 按扭 快捷键 图 2.46 主工具条 表 2.10 主工具条 提示 新文件 创建一个新文件 描述 Ctrl+N 新建 创建一个文件或利用模板创建一个工程 Ctrl+O 打开 打开已经存在的文件 Ctrl+S 保存 保存当前文件 另存为 保存所有文件 Ctrl+X 剪切 将选中的文本剪切到剪贴板 Ctrl+C 复制 将选中的文本复制到剪贴板 Ctrl+V 粘贴 粘贴剪贴板的文本 Ctrl+Z 撤消 撤消上一次操作 Ctrl+Y 重做 重做上一次撤消的操作(撤消后有效) Alt+ <- 向后定位 将光标定位到上一次出现的位置 Alt+ -> 向前定位 将光标定位到下一次出现的位置(向后定位后有效) 向右缩进 向右缩进一个 Tab 向左缩进 向左缩进一个 Tab 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 32 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 Ctrl+F2 放置/移除书签 在当前行放置/移除书签 F2 下一书签 移动光标到下一个书签 Shift+F2 前一书签 移动光标到上一个书签 Ctrl+Shift+F2 清除所有书签 清除当前文件的所有书签 在文件中查找 在多个文件中查找字符串 输入要查找的文本 查找字符串输入框 Shift+F5 启动/停止调试 启动或停止调试模式 F9 插入/移除断点 在当前行插入或移除断点 启用/禁止断点 使当前行的断点有效或无效 禁止所有断点 使整个工程的所有断点无效 清除所有断点 清除整个工程的所有断点 工程窗口 显示或隐藏工程窗口 函数窗口 显示或隐藏函数窗口 编译窗口 显示或隐藏编译窗口 命令窗口 2. 文本编辑器 显示或隐藏命令窗口 产品用户手册 图 2.47 文本编辑器 表 2.11 文本编辑器 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 33 广州致远电子有限公司 按扭 快捷键 提示 放大字体 TKStudio IDE 用户手册 TKStudio 集成开发环境 描述 放大编辑区字体 缩小字体 缩小编辑区字体 撤消字体缩放 撤销对编辑区字体的缩放 比较两个文件 打开文件比较器 Ctrl+F 查找 在当前文件查找字符串 Shift+F3 查找上一个 查找上一个匹配的字符串 F3 查找下一个 查找下一个匹配的字符串 Ctrl+R 替换 替换已查找到的字符串 注释/取消注释所选代码 注释或取消注释所选代码 注释/取消注释所选代码块 注释或取消注释所选代码块 打开源代码/头文件 切换至相应的头文件或实现文件 Ctrl+H 十六进制编辑器 在文本视图和十六进制视图之间切换 切换自动换行 设置或取消自动换行 显示所有字符 显示或隐藏所有控制字符或空格 显示缩进参考线 3. 生成工具条 显示或隐藏缩进参考线 产品用户手册 图 2.48 生成工具条 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 34 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 按扭 快捷键 表 2.12 生成工具条 提示 描述 编译当前文件 编译当前文件 F7 构建 编译修改过的文件并生成应用 重建所有工程文件 重新编译所有的文件并生成应用 停止构建 停止正在进行的编译过程 工程配置 配置目标工程相关参数 选择目标工程 4. 调试工具条 选择当前的目标工程 按扭 快捷键 复位 图 2.49 调试工具条 表 2.13 调试工具条 提示 复位 CPU 描述 F5 运行 运行,直到下一个激活的断点 Ctrl+F5 忽略断点运行 忽略断点运行 Shift+Esc 停止运行 停止运行 F11 单步运行 单步执行程序,遇到子程序则进入 F10 步越 单步执行程序,跳过子程序 Shift+F11 步出 执行到当前函数的结束 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 35 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 Ctrl+F10 运行到当前行 运行到当前行 显示下一个即将执行的指令行 显示下一个即将执行的指令行 反汇编窗口 显示或隐藏反汇编窗口 观察窗口 显示或隐藏观察窗口 串行窗口 显示或隐藏串行窗口#1 存储器窗口 显示或隐藏存储器窗口 寄存器 显示或隐藏寄存器窗口 SFRS 显示或隐藏特殊功能寄存器 2.2.4 状态栏 跟踪窗口 显示或隐藏跟踪窗口 图 2.50 状态栏 共有 4 个状态指示。  第一个指示当前的状态或菜单、工具栏按扭的提示。  第二个指示当前目标 CPU  第三个指示当前光标所在位置信息,第几行第几列第几个字符  第四个指示键盘 Caps Lock 和 Num Lock 是否按下和当前文件是否只读 2.2.5 对话框 1. 设备库 <设备库>是提供给用户维护 TKStudio 单片机器件的对话框。用户除了可以查看各器 件的相关信息,还可以根据需要向设备库添加新型号的单片机器件,可进行删除、修改。选 择【文件】->【设备库…】,将弹出对话框如图 2.51 所示。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 36 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.51 设备库  添加芯片:选择“添加芯片”,将弹出如图 2.52 所示对话框,用户填好信息选择“确 定”,即将芯片信息添加到了设备库。 产品用户手册 图 2.52 添加芯片 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 37 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境  删除芯片:选中要删除的芯片,选择“删除芯片”则将芯片信息从设备库删除了。  修改芯片:对芯片详细信息进行了修改后,选择“修改芯片”则将修改后的芯片信息保 存在了设备库。 2. 自定义对话框 <自定义>选项提供了一个用户自定义的工具条方法,点击【自定义】选项,弹出对话 框后点击“New”按钮。 图 2.53 用户定义的工具条 在 toolbar name 标签提示下填充工具条的名字,例如:NewToolBar,点击“OK“按钮, 那么新的工具条已经创建好了,然后选择“commands”属性页。: 图 2.54 往工具条里添加命令操作 最后用鼠标把“Commands”列表上的项目直接拖拉到刚刚建好的工具条上,就可以定 制出自己的工具条了。如果不想要,就可以在“ToolBars”属性页选中删除的项目,点击删 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 38 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 除按钮就可以直接删除工具条了。 “Options”属性页如图 2.55 所示,可以对图标的大小和样式进行设置。 图 2.55 Options 3. 外部工具管理器 TKStudio 的外部工具栏可以把其它工具引入到界面上,使用它就像使用 TKStudio 本身的 功能一样方便容易。通过外部工具栏,您不再需要切换到其它地方来启动需要的工具,并且 您还可以设定这些工具随着 TKStudio 关闭而关闭。 图 2.56 外部工具管理器 1) 外部工具清单,即红色方框内的部分,该部分以树的形式罗列了您拥有的所有外部工具。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 39 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 2) 指定外部工具的配置信息,即蓝色方框内的部分。通过该部分可以编辑外部工具的配置 信息。 3) 外部工具的编辑,即咖啡色方框内的部分。该部分来完成外部工具的添加、删除,以及 外部工具位置改变等。 关于外部工具管理器的具体使用请参考《ExternTool 用户手册》。 4. 窗口排列对话框 窗口排列对话框可以对打开的窗口进行激活、保存、关闭、排列和最小化。 图 2.57 窗口排列 选中多个文件时,可以对选中文件进行排列。 产品用户手册 图 2.58 Cascade ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 40 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.59 Tile Horizontally 产品用户手册 图 2.60 Tile Veritically ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 41 广州致远电子有限公司 5. 关于 MCU 集成开发环境 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.61 关于 MCU 集成开发环境 关于对话框描述了集成开发环境的一些相关信息,包括系统名称、版本号、版权信息、 制作人员,此外,还提供了快速链接,供用户获取 TKStudio 相关的信息和帮助。 2.3 第一个程序 这里我们通过一个简单的 SDCC 小工程来说明如何运用 TKStudio IDE 进行项目开发。 整个过程会使您对 TKStudio 项目开发的流程有个简单的认识。这里旨在快速开发一个工程, 所以先不对各个步骤作详细介绍。创建这个工程的步骤如下: 1) 创建工程:创建一个项目,从器件数据库中选择目标芯片,并配置工具软件的设置。 2) 建立源文件:用 C 或汇编建立源程序。 3) 编译工程:编译和链接工程。纠正程序中的书写和语法错误,并重新编译链接。 4) 调试工程:调试链接后的应用。 2.3.1 程序 实验目的:持续改变 PO 端口的状态,实现亮灯。 源程序清单: 程序清单 2.1 简单的亮灯程序 #include<8051.h> sfr at (0x80) LEDPORT; void Delay(void) { int i,j; for(i=200;i>0;i--) for(j=248;j>0;j--) ; 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 42 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 } void main(void) { LEDPORT=0x00; Delay(); while(1) { LEDPORT=~LEDPORT; Delay(); } } 运行结果:PO 端口状态在 0x00 和 0xFF 间转换。 2.3.2 创建工程 点击【工程】->【新建工程】,将弹出一个<新建工程>对话框,在其中输入工程名, 按“保存”即可。在新建工程时推荐为每个工程单独新建一个文件夹,便于工程的管理。 图 2.62 新建工程 接下来将弹出<选择目标 CPU>对话框,主要用来选择 CPU 和使用的开发工具链。先 在“器件家簇”中选择“MCS-51”,这时左边对应的列表将显示所有的 51 系列单片机。选 择所使用的型号即可,最后在“选择编译工具”中选择“SDCC Tools for 51”,现在就已经 选择好了,按“确定”即可。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 43 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.63 选择目标 CPU 现在工程就建好了,在工程管理栏上将显示有关的信息。 产品用户手册 图 2.64 新建工程后 TKStudio 界面 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 44 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 这时就可以开始新建工程里面的文件了。这个工程非常简单,只包含一个文件。创建过 程非常简单。在【文件】菜单中选择【新建文件】,将会弹出如图 2.65 所示的对话框。在其 中选择文件类型和输入文件名即可。 图 2.65 新建文件 现在就可以开始源代码编辑工作了,建议手工输入该代码,亲身体验一下 TKStudio 的 编辑器。输入代码后点击 保存。 产品用户手册 图 2.66 输入代码后的 TKStudio ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 45 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 2.3.3 配置工程 创建好工程后,就需要对工程作一些适当的配置。 点击 将弹出如图 2.67 所示的对话框。该对话框有四个选项页:“Assembler”与汇编 器有关的选项;“Compiler”与 C 编译器有关的选项;“Linker”与连接以及输出文件相关的 选项,默认情况下生成.cdb 调试文件和 Intel hex(.ihx)文件,其中 Intel hex 可直接下载到 单片机运行;“Debug”与调试有关的选项,默认情况下使用软件模拟去调试代码,也可以 根据需要选择硬件调试。同时每个选项下面又包括不同的子选项,通过在每个选项页下的 “Category”,来选择不同的子选项。这里比较简单,而且考虑到复杂性,对这些选项不作 任何修改,都按默认的选项。在一般的项目中,这些也是足够的。 图 2.67 SDCC 工程配置 2.3.4 编译工程 配置好工程后,就可以进行编译了。 在编译之前需要配置好编译工具所在的位置,以便开发环境能够正确找到编译工具链。 这时首先需要确定工具链所在的目录。TKStudio 已经自带了 SDCC 工具链,安装时也已经 设置好了工具链的路径。用户也可以根据自己的需要另外安装 SDCC 工具链,这时就需要 选择【工程】->【编译工具设置】,将弹出如图 2.68 所示的对话框。在“工具安装目录” 的最右选择“…”按钮,选择 SDCC 工具链 BIN 文件夹所在的路径。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 46 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.68 编译工具设置 现在就可以点击 开始编译了。如果编译成功,将在编译窗口显示有关的编译信息。 通过该信息可以知道编译完成的情况。 图 2.69 编译成功 如果出现如上图所示的信息,说明工程编译成功了。如果在输入代码时输错了信息,这 时编译窗口将给出提示。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 47 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.70 编译失败 用户根据提示,改正错误后重新编译,直到编译成功即可。 2.3.5 调试工程 编译成功以后,就可以开始调试了。这里程序比较简单,可以直接下载到开发板上运行。 这里讲述如何使用软件模拟来调试程序,不需要作任何设置。在工具栏选择 或者在【调 试】菜单中选择【启动/停止调试】选项,进入调试状态。 这时【调试】和【外部设备】菜单下的选项可以使用了。这里使用单步调试,按 F10 就可以了。这时寄存器和 SFRS 窗口将显示有关的寄存器值,可以观察其中的变化。同时下 面的各个窗口有些也开始有效,将显示相关信息。同时可以在编辑区的左边小框条旁边有一 点点蓝色的小点,这说明调试信息已经被加载了。 产品用户手册 图 2.71 调试状态下的窗口 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 48 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 现在选择【外部设备】->【输入/输出口】,选择其中的【输入/输出 0】,因为在程序 中,使用了 P0 作为输出口。相关语句为:sfr at (0x80) LEDPORT;查一下手册就可以知道 地址 0x80 处为 P0。默认情况下,P0 输出全为 1。 图 2.72 初始时 P0 状态 当前程序指示下一条指令为黄色箭头所指指令:LEDPORT=0x00,按下 F10,查看<输 入/输出口 0>对话框变化。 图 2.73 单步运行后 P0 状态 一直按 F10,将会看到 P0 的值交替变化为 0 和 1,正如程序演示的那样。 到此,我们的第一个程序就建立好了。相信通过这个简单的亮灯程序,大家对 TKStudio 已经有初步的认识和了解,对利用 TKStudio 进行项目的开发整体流程也有了更深的认识。 2.4 代码编辑器 一个程序员在开发项目时,至少 60%的时间都是在用编辑器,编写、修改、阅读程序。 所以编辑器的效率对于整个项目的开发效率来说是至关重要的。 TKStudio 编辑器以最大化 用户编码体验为目标,功能强大,能非常有效地提高编码效率,并提高整体开发效率。 智能感知 代码折叠 及提示 快速打开 包含文件 差异行显示 代码参照 文件交叉 参考 列选择 和编辑 一档多视 快速格式化 支持超大 文件 跟踪光标 轨迹 快速注释 智能缩进 自由缩放 代码 语法高亮 显示 文件比较器 函数定位 和导航 完美支持 中文 多区选择和 括号选择 十六进制 编辑器 产品用户手册 图 2.74 功能特点 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 49 广州致远电子有限公司 2.4.1 界面 1. 主界面 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.75 编辑器主界面 红色边框范围就是主编辑区。 在编辑区点击鼠标右键,TKStudio 将根据当前所处的状态弹出相应的右键菜单。 图 2.76 构建模式和调试模式下的右键菜单 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 50 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 菜单项 表 2.14 构建模式和调试模式下的右键菜单 快捷键 图标 描述 剪切 Ctrl+X 将选中的文本剪切到剪贴板 复制 Ctrl+C 将选中的文本复制到剪贴板 粘贴 打开文档 打开源代码/头文件 Ctrl+V 粘贴剪贴板的文本 打开光标所在行的包含文件 打开当前文件对应的源文件/头文件 放置/移除书签 Ctrl+F2 在当前行放置/移除书签 转到… 插入/移除断点 Ctrl+G F9 转到特定行 在当前行插入/移除断点 运行到当前行 Ctrl+F10 运行到当前行 设置程序计数器(PC) Ctrl+F12 设置 PC 指针的值为当前行 从 0xc1d 显示反汇编 从下一行开始显示反汇编,转入到反汇编窗口 添加变量“TL1”到观察窗 添加当前光标所在单词到观察窗进行观察 2. 代码定义窗口 <代码定义窗口>主要用于函数或宏的参照。可以通过【查看】->【代码定义窗口】, 控制它的显示和隐藏。 对应代码行 图 2.77 代码定义窗口  下拉框是在主编辑区光标所在函数或宏在当前工程中出现的位置,通过选择可以在定位 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 51 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 到相应的位置。  红色边框里显示的是下拉框所选位置函数或宏的细节。  对应代码行是与主编辑区光标所在函数或宏相对应的代码。 3. 函数窗口 <函数窗口>主要用于源文件中函数的定位。在此窗口中会显示出当前项目中包含的所 有源文件的所有函数,函数以所属文件分组,双击函数名即可定位到该函数。可以通过【查 看】->【函数窗口】或 ,控制它的显示和隐藏。 图 2.78 函数窗口 4. 查找窗口 TKStudio 有两个查找窗口,用来输出查找信息。默认查找的输出是在<查找窗口 1>, 双击查找到的结果或选择右键菜单的【定位】可以将光标定位到目标行。当<查找窗口>不 可见时,进行查找后,<查找窗口>也会自动显示出来。您也可以通过【查看】->【查找 窗口 1】、【查找窗口 2】,控制它的显示和隐藏。 产品用户手册 图 2.79 查找窗口 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 52 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 2.4.2 特点 1. 智能感知 智能感知是指根据用户当前已经输入的字符,自动提示所有可用的变量名推荐列表,供 用户参考或直接进行选择,这样就不用牢牢记住每个变量名的拼写,避免了在输入变量名时 的拼写错误,减轻了记忆负担,提升了编码速度和准确度。智能感知包括成员提示和代码模 板。 成员提示是指具有复杂结构的变量,当用户意图引用它的成员时,系统自动列出它所有 的成员供选择。 图 2.80 成员提示 代码模板是指根据输入的单词,系统自动判断其是否有常用的代码模板,如果有则自动 给出补全提示,避免用户的疏漏和繁琐。 产品用户手册 图 2.81 代码模板 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 53 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 2. 代码参照 代码参照是指不用关闭当前窗口,就可以清楚地知道代码出现过的位置,以及清晰方便 地查看其声明或实现。代码参照是 TKStudio 独有的功能特点,方便了代码的阅读,避免为 了查看某段代码而被迫关闭当前阅读的代码,避免了窗口之间的切换。 操作方法:点击【查看】->【代码定义窗口】,将光标置于要查看的代码上,代码定 义窗口就会显示出该代码的信息,包括出现过的位置和在所选位置上对代码进行的操作。 显示调用函数的具 体实现 图 2.82 代码参照 3. 快速格式化 快速格式化是指以快速的方式调整代码的缩进量,使代码格式合理美观,便于阅读。快 速格式化也是 TKStudio 非常突出的功能之一,可以高效地调整乱码,这对复制粘贴代码非 常方便,免除了手工调整的麻烦,此功能在嵌入式开发环境中非常少见。 操作方法:选中要调整格式的代码,点击【编辑】->【格式化选区】,或是按下快捷 键〖Alt+F8〗。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 54 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.83 快速格式化 4. 智能缩进 智能缩进是指编辑器会实时根据输入的内容判断缩进量,并自动完成缩进的工作,使代 码格式合理美观,便于阅读。免除了手动进行缩进的麻烦。根据开发者个人的习惯,还可以 方便地进行个性化调整。 操作方法:选中要进行个性化调整缩进的代码,点击“主工具条”按扭 或 ,即 可看到代码向右或向左缩进。 图 2.84 个性化缩进 5. 函数导航和定位 函数导航是指编辑器会列出当前文件中的所有函数,方便定位到要查看的函数,大大地 缩减了查找函数的时间。函数定位是指可以在代码导航条里快速跳转到函数或宏对应的声明 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 55 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 或实现。函数导航和函数定位区别在于,函数导航是在当前文件快速定位要查看的函数,函 数定位是在当前文件或其他文件快速定位要查看的函数或宏。 操作方法:点击编辑区左上方的函数导航条,可以看到下拉列表框中列出了当前文件出 现的所有函数,选择即可定位到函数。当光标位于函数或宏上,该函数或宏就会出现在编辑 区右上角的代码导航条里,点击右边的“Go”按扭,即可跳转到该函数或宏的相关声明或 实现。 图 2.85 函数导航 图 2.86 函数定位 6. 代码折叠及提示 代码折叠是指隐藏代码的具体实现细节,这样就将整个文件的组织框架体现出来,方便 开发者理解整个程序的思路。代码提示是指进行代码折叠后,编辑器根据用户的行为自动显 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 56 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 示代码的具体实现细节。 操作方法:鼠标左键点击代码前面的“-”号,代码呈折叠状态,代码前面的“-”号 变为“+”号,并且在代码的最右边出现一个橙黄色的小矩形。把光标置于橙黄色的小矩形 处将出现被隐藏的代码。鼠标左键点击代码前面的“+”号,代码将重新展开。 图 2.87 代码折叠及提示 7. 头文件和实现文件的交叉参考 通常在头文件和实现文件之间需要频繁切换,比如增加一个函数,要在头文件写函数声 明,在实现文件写函数实现,每次都要移动鼠标在窗口之间找到再切换,在文件比较多的情 况下是很累的。TKStudio 提供的头文件和实现文件交叉参考功能不管文件的数目有多少, 都可以快速进行切换。 具体操作:选择 ,或点击编辑区右键菜单的【打开文件】。 产品用户手册 图 2.88 交叉参考 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 57 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 8. 支持超大文件 大文件的支持是当用户编辑一个 4G 容量的文件(通常是二进制文件)时,会立即反映 上来,不用等待就可以通过滚动条来浏览 4G 文件里面的任何数据,不会出现任何卡机和出 错的现象。这样对用户编辑大文件提供了很方便的接口。 9. 自由缩放代码 自由缩放代码是指开发者可以根据视力情况或喜好,快速自由地放大或缩小代码,想恢 复字体大小时亦可以一键恢复,避免了频繁更改字体大小的麻烦。 操作方法:按住〖Ctrl〗键,向前滚动鼠标中键会看到当前文件的字体在放大,向后滚 动鼠标中键会看到当前文件的字体在缩小。或是点击【查看】菜单下的相关子菜单,或是点 击“文本编辑器”工具栏的 、 、 也可以进行代码的放大、缩小、撤销缩放。 图 2.89 自由缩放代码 10. 完美支持中文 杜绝半个汉字现象,中文显示完全正常。 产品用户手册 图 2.90 完美支持中文 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 58 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 11. 快速打开包含文件 一个文件或多或少会包含一些头文件,有时要查看在包含文件中的相关信息,想切换到 这个文件,只能在 windows 中进行搜索,这将花费一定的时间,效率比较低又麻烦。TKStudio 提供的鼠标右键直接打开包含文件可以一步到位,快速打开包含文件。 具体操作:将光标定位在包含文件所在行,选择右键菜单【打开文档】。 图 2.91 快速打开包含文件 12. 列选择和编辑 避免进行多次的复制、剪切和粘贴,一次性完成所有操作。 具体操作:按住“ALT”键,按住鼠标左键并拖动鼠标进行列选择。 图 2.92 列选择和编辑 13. 语法高亮显示 根据单词的类型显示颜色和字体,不同的类型显示不同的颜色和字体,使代码显得更加 清晰美观,便于阅读。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 59 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.93 语法高亮显示 14. 多区选择和括号选择 想复制或剪切几部分非连续的代码时,如果有 N 部分,就必须选择 N 次,再复制或剪 切 N 次,效率非常低,又显得繁琐,TKStudio 提供的多区选择功能可以高效地解决这个问 题,不管有多少部分,只需复制或剪切一次即可。 具体操作:按住〖Ctrl〗键,再拖动鼠标进行选择。 图 2.94 多区选择 括号选择:在左右任一括号上双击,TKStudio 智能地将当前括号包括的区域(包括左 右括号)选中。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 60 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.95 括号选择 15. 差异行显示 差异行:差异行是指每行的高度都不同,放大显示关键字的效果,这样就可以把阅读者 的注意力集中到关键的地方,看起来特别醒目,对比特别强烈。用户可以通过配置 TKStduio 中编辑器配置选项来打开或关闭差异行显示功能。 图 2.96 差异行显示 16. 一档多视 一档多视是指把窗口切分成 2 个或 4 个窗口,每个窗口可以显示当前文件的不同部分, 这样就能避免频繁拖动滚动条的麻烦,特别是在阅读或编辑大文件时能大大提高效率。 操作方法:点击【窗口】菜单中的【切分窗口】,可以看到光标变成了十字状,按下鼠 标左键当前窗口就被切分了,切分窗口之后,还可以拖动分隔条调整各子窗口的大小,把分 隔条拖动到编辑区的边上或双击分隔条就可以合并窗口。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 61 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.97 一档多视 17. 快速注释 注释:通过简单的一次鼠标点击,就可以注释任意连续行代码。 操作方法:选中待注释的代码行,点击 注释代码。取消注释时,操作方法相同。 对连续的行 进行注释 图 2.98 代码注释 块注释:通过简单的鼠标点击,可以对同一行中的一部分代码或任意连续代码进行注释。 操作方法:选中待注释的代码行,点击 注释代码。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 62 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 对任意连续代码进 行注释 图 2.99 块注释 18. 即时显示配对括号 无论当前光标在哪个位置,光标所在的括号都会突出显示。这就有助于从视觉上区别代 码块,避免括号的不匹配。 配对括号红色显示 图 2.100 显示配对括号 19. 查找 查找分为普通查找和文件查找。 普通查找是指在当前文件查找,具体操作:选择【文件】->【查找...】或用快捷键 〖Ctrl+F〗。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 63 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.101 查找对话框  查找内容:可以直接输入,如果之前查找过,也可以通过下拉框选择。或在未打开 对话框前,将要查找的内容选中,打开对话框后,待查找的内容就会出现在这里。  查找结果添加到书签::在查找到的单词所在行设置书签。  查找结果用高亮显示:将查找到的单词用不同的颜色进行显示,颜色可以通过选择 【工具】->【编辑器选项…】打开<设置语言格式>对话框进行设置。  查找前清除上次书签:查找前清除上次设置的书签,以免混淆。  查找全部:查找所有符合要求的单词。只有在选中“查找结果添加到书签”、“查找 结果用高亮显示”至少其中一项时,才呈可用状态。  选区范围内:只在选中的范围内进行单词查找。  清除:清除上一次查找所作的所有标记。  全字匹配:按整个单词匹配来查找。  区分大小写:按字母大小写匹配来查找。  正则表达式:选中此项,“全字匹配”不可用,查找方向为“向下”,此时,将待查 找内容当正则表达式进行查找。  循环查找:选中此项,则到达文件末尾时,又从头开始查找。  查找方向:控制查找的方向,分别为向上查找,向下查找。  显示位置:有顶部,中间,底部三个选项。在文件长度比较长时,显示查找到的单词 的位置,分别是第一行,中间,最后一行。  查找下一个:查找下一个匹配的单词。如果没有任何匹配的单词,则弹出一提示对 话框“Can’t find the word”,选择“确定”即可修改查找条件,进行下一次的查找。 如果有找到匹配的单词,则突出显示当前匹配的单词。可以通过 或“F3”进行 查找。  统计出现次数:计算查找到的匹配的单词个数。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 64 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境  取消:关闭对话框,退出查找。  透明度:选中此项,可以通过调整下面的滑动条以调整对话框透明度。 正则表达式,就是用某种模式去匹配一类字符串的一个公式。正则表达式由一些普通字 符和一些元字符(metacharacters)组成。普通字符包括大小写的字母和数字,而元字符则具 有特殊的含义。 表 2.15 列出了 TKStudio 支持的所有元字符和对它们的一个简短的描述。 表 2.15 正则表达式元字符表 元字符 描述 . 匹配任何单个字符。例如正则表达式 r.t 匹配这些字符串:rat、rut、r t, 但是不匹配 root。 $ 匹配行结束符。例如正则表达式 weasel$ 能够匹配字符串“He's a weasel”, 但是不能匹配字符串"They are a bunch of weasels."。 ^ 匹配一行的开始。例如正则表达式^When in 能够匹配字符串"When in the course of human events"的开始,但是不能匹配"What and When in the" [] [c1-c2] [^c1-c2] 匹配括号中的任何一个字符。例如正则表达式 r[aou]t 匹配 rat、rot 和 rut, 但是不匹配 ret。可以在括号中使用连字符-来指定字符的区间,例如正则表 达式[0-9]可以匹配任何数字字符;还可以制定多个区间,例如正则表达式 [A-Za-z]可以匹配任何大小写字母。另一个重要的用法是“排除”,要想匹 配除了指定区间之外的字符——也就是所谓的补集——在左边的括号和第一 个字符之间使用^字符,例如正则表达式[^269A-Z] 将匹配除了 2、6、9 和所 有大写字母之外的任何字符。 这是引用符,用来将这里列出的这些元字符当作普通的字符来进行匹配。例 \ 如正则表达式\$被用来匹配美元符号,而不是行尾,类似的,正则表达式\. 用来匹配点字符,而不是任何字符的通配符。 在最简单的情况下,一个正则表达式看上去就是一个普通的查找串。例如,正则表达式 "testing"中没有包含任何元字符,,它可以匹配"testing"和"123testing"等字符串,但是不能匹 配"Testing"。要想真正的用好正则表达式,正确的理解元字符是最重要的事情。 文件中查找:具体操作:选择工具栏按扭【文件查找】,即可弹出<文件中查找>对话框。 图 2.102 文件中查找对话框  查找内容:待查找内容,可以直接输入,如果之前查找过,也可以通过下拉框选择。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 65 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境  文件类型:待查找的文件的类型。  查找文件夹:待查找的文件夹目录,可以直接输入目标文件夹,可以通过下拉框选 择,也可以通过对浏览按扭进行修改。  全字匹配:选中此项则只查找和待查找内容整个匹配的单词。  区分大小写:选中此项则只查找和待查找内容大小写匹配的单词。  搜索子目录:选中此项,则在搜索目标文件夹同时,也搜索目标文件夹下的子文件 夹。  输出到查找窗口 2:查找结束默认是输出到查找窗口 1,选中此项,则把查找内容 输出到窗口 2 中,这就可以保留两个查找内容,方便查看。  查找:在没有查找内容时不可用。否则就在目标文件夹下查找匹配的内容,将结果 输出。  浏览:弹出一文件夹选择框,供修改目标文件夹。  取消:取消查找,退出对话框。 20. 替换 具体操作:选择【文件】->【替换...】或用快捷键〖CTRL+R〗,弹出<替换>对话框。 图 2.103 替换对话框  查找内容:可以直接输入,如果之前查找过,也可以通过下拉框选择。  替换为:将查找到的字符串替换为这个字符串,如果之前有过记录,也可以通过下拉框 选择。  全字匹配:按整个字符串匹配来查找。  区分大小写:按字符串大小写匹配来查找。  正则表达式:选中此项,“全字匹配”不可用,查找方向为“向下”,此时,将查找内 容当正则表达式进行查找。  循环查找:到达文件末尾时,又从头开始查找。  查找方向:控制查找的方向,分别为向上查找,向下查找。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 66 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境  查找下一个:查找下一个匹配的字符串。如果没有任何匹配的字符串,则弹出一提示对 话框“Can’t find the word”,选择“确定”即可修改查找条件,进行下一次的查找。如 果有找到匹配的字符串,则突出显示当前匹配的字符串。  替换:将相匹配的字符串进行替换。  全部替换:将所有相匹配的字符串都进行替换。  选区范围内:只在选中的范围内进行查找替换。  取消:关闭对话框,退出替换。  透明度:选中此项,可以通过调整下面的滑动条以调整对话框的透明度。 21. 文件比较器 文件比较器是 TKStudio 附带的辅助工具,用来比较两个或三个文件,并且可以同时运 行多个实例。系统用图形界面显示出比较结果,并显示出冲突的分布和比例。此外还可以进 行冲突的替换和合并。文件比较器在查看文件差异时非常直观高效,能有效地避免人工查找 的繁琐和疏漏。详细使用请参考《TKSDiff 用户手册》。 图 2.104 文件比较器 22. 十六进制编辑器 十六进制编辑器是 TKStudio 附带的辅助工具,用来显示或编辑十六进制文件。十六进 制编辑器除了编辑、复制、粘贴等基本功能外,还具有与文本编辑窗口同步选择、支持当前 行的高亮显示、支持中文的显示、支持地址行选择、鼠标拖动选择等功能,同时对文本栏不 可打印字符和中文字符处于边界时进行了特殊的处理,有效地避免了乱码。详细使用请参考 《HexEditor 用户手册》。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 67 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 目前支持快捷键操作,右键菜单还未支持(3.0.9 版本)。 图 2.105 十六进制编辑器 2.4.3 选项 前面提到了语法高亮,独立元素的颜色和字体都可以不同,这些都是可以通过【工具】 —>【编辑器风格】打开<设置语言格式>对话框进行更改设置的。 可以看到“设置语言格式”对话框总共有几大项。  语言:能进行设置的所有语言。  格式名称:当前语言所有元素的格式名称。  色彩格式:对当前语言格式的前景颜色、背景颜色和阴影颜色的设置。  字体格式:对当前语言格式的字体、粗体、斜体、下划线、字体大小以及是否有阴 影的设置,只有在字体格式里选择使用阴影,色彩格式里的阴影颜色才能设置。  默认关键字:指示当前语言格式具有的关键字。  自定义关键字:可自定义关键字,使之与当前语言格式具有同样的样式。  默认扩展名:指示当前语言的扩展名,具有这些扩展名的文件语言都属于当前语言。  自定义扩展名:可自定义扩展名,使具有这些扩展名的文件与当前语言具有同样的 样式。  保存并关闭:保存当前设置并关闭对话框。  应用:将当前设置应用到文件中。  取消:取消当前修改并关闭对话框。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 68 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.106 设置语言格式 不同的语言可以有不同的风格,各种语言的不同类型的颜色和字体又可以不同,在<设 置语言格式>对话框中您可以随心所意设置您想要的风格样式。 由于每种语言的元素分类都不同,这里只讲解两种语言:Global Styles 和 C。 Global Styles 是指通用格式。选择后,格式名称下可以看到有:  Default Style:所有未定义格式的默认格式  Indent guideline style:缩进参考线格式  Brace highlight style:配对括号格式  Bad brace colour:匹配错误的括号  Current line background colour:光标所在当前行背景颜色  Mark colour:书签的颜色(在 C 程序里面我们用不上,因为书签有真彩图)  Selected text coulour:选择的文本格式  Caret colour:光标的颜色  Find Mark Style:高亮显示样式,用于在查找对话框中查找到的结果  Select Mark Style: 在代码定义窗口显示的,与光标所在函数或宏相对应行的格式  Edge colour:文本长度边界线的颜色(目前 IDE 没开启)  Line number margin:行号显示所在边界的格式  Fold:折叠标记的格式  Fold margin:折叠标记所在边界的格式  White space symbol:空格显示的样式,在显示所有字符时可见 C 是指 C 语言格式,默认为.c 文件,用户还可以根据需要自定义扩展名。  PREPROCESSOR:预定义格式 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 69 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境  DEFAULT:所有未定义格式的默认格式  INSTRUCTION WORD:指令格式,包括 if、switch 等  TYPE WORD:类型格式,包括 void、long 等  NUMBER:数字格式  STRING:字符串格式  CHARACTER:字符格式  OPERATOR:操作符格式,包括=、|等  VERBATIM:无格式的引用文本,比如@”和”包含的文本  REGEX:函数名格式  COMMENT:用/*和*/注释的格式  COMMENT LINE:用//注释的格式  COMMENT DOC:用/**和*/注释的格式  COMMENT LINE DOC:用///注释的行的格式  COMMENT DOC KEYWORD:注释中的文档关键字,比如///@author  COMMENT DOC KEYWORD ERROR: 注释中有文法错误的文档关键字,比如///@s 同时,TKStudio 默认提供了多种常见编辑器的风格,让您在编辑代码时轻松拥有熟悉 的感觉,您只要在【查看】下选择要设置的风格即可。 图 2.107 多种可选择风格 产品用户手册 图 2.108 VI 风格 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 70 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 2.5 工程管理器 工程是一个非常重要的概念。它是用户组织一个应用的所有源文件、设置编译链接选项、 生成可调试下载文件和最终目标文件的一个基本结构,所有的工作都应围绕工程而展开。在 TKStudio 中,工程管理功能强大,具有如下突出特点:  基于虚目录管理机制,帮助您用“有限的”时间管理“无限的”文件。您可以通过定义 文件组来规划您的工程,模块化您的工程,跟踪您系统的演化。  醒目的图标帮助您区分各种文件类型。工程内检索、替换功能完备。  与主流的上游厂商合作密切,能便捷地导入 uV2、uV3,ADS1.2 的工程,帮助您从旧 的系统升级上来。  针对目标(Target)进行工程管理的概念符合嵌入式工作流的科学理念,能帮助您将一份 代码发布到系列芯片的不同平台上。 2.5.1 工程窗口 图 2.109 工程窗口 TKStudio 是使用树型的结构管理工程中的所有文件,树的根目录是项目名,项目不能 同时创建多个,如果创建另一个项目,那么当前项目就被关闭。 工程窗口主要用于显示工程的内容,包括工程名、文件组、文件。工程窗口不同的图标 代表不同的类型,这样就可以很容易区分类型。 根目录下是由文件组或文件组成,这里说的文件组是种虚拟的目录,用来管理源程序文 件的,是用来让您把项目中相关的文件放在一组,这在要求把文件按功能模块组织和确定您 的软件开发团体中的工程师们的职责时特别有用。利用这个技术可以轻松地管理拥有几百个 文件的复杂项目。实际中可能不存在这样的文件目录。文件组下可以添加新的文件或者追加 已存在的源程序文件。 可以在工程窗口中看到不同的图标,这些图标让你能够快速浏览到一个项目不同的目标 中的工具设置。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 71 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 表 2.16 工程窗口图标 图标 工程 代表的类型 文件组 头文件,包括后缀名为.h、.hpp、.hxx、.inl 实现文件,包括后缀名为.c、.cc、.cxx 其它文件 找不到的文件 在工程窗口中,右键菜单会根据选择的结点(工程、文件组、文件)不同而不同。 图 2.110 工程右键菜单 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 72 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.111 文件组右键菜单 菜单项 选择目标 CPU 配置工程、文件组、文件 产品用户手册 图 2.112 文件右键菜单 表 2.17 工程窗口右键菜单 快捷键 按扭 描述 从设备库选择或更改目标 CPU 配置工程、文件组、文件选项 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 73 广州致远电子有限公司 打开文件 重建全部 TKStudio IDE 用户手册 TKStudio 集成开发环境 在编辑区打开选择的结点文件 重新编译所有的源文件并链接产生输出文件 构建目标工程 F7 编译修改过的源文件并链接产生输出文件 编译文件 编译选择的结点文件 停止构建 停止当前的构建过程 新文件… 新文件组… 追加文件到文件组… 重命名选中项 移除文件、工程组及其所属文件 2.5.2 文件管理 1. 新建文件 添加一个新文件到选择的结点 添加一个新文件组到选择的结点 添加一个已有文件到选择的结点 修改选择的结点名 移除选择的结点文件或结点文件组及其所有文件 1) 选择【文件】->【新文件】或 ,弹出一个空白窗口,此时这个新文件还没有文件 名,也跟当前工程无关。如果要把这个新文件加到工程,就要保存该文件,然后再将它 加入工程。具体如何保存、加入工程,可参考打开文件、保存文件一节。 2) 选择【文件】->【新建…】或〖Ctrl + N〗或 ,弹出如图 2.113 所示对话框。左边 是要新建的文件类型,点击可选择。右边依次是:是否要将该文件加入到工程、当前工 程名、文件组、文件名、文件保存的路径。设置好这些参数之后,点击“确定”即可产 生相应的新文件。 产品用户手册 图 2.113 新建-文件 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 74 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 3) 将新文件直接加到工程下或某个文件组下,也可以在工程窗口中利用右键菜单进行操 作。选中目标地点(工程或目标文件组),选择右键菜单【新文件…】,将弹出如图 2.114 所示对话框,选择要保存的位置和类型,在文件名一栏填写文件名,选择“保存”即可。 2. 打开文件 图 2.114 新建文件 选择【文件】->【打开…】或〖Ctrl + O〗或 ,将弹出如图 2.115 所示对话框。选 择要打开的文件,选择【打开】即可。 图 2.115 打开文件 如果要打开的文件是最近打开过的,可以在【文件】下的最近打开文件中找到,点击即 可打开。 3. 关闭和保存文件 关闭文件可以选择【文件】->【关闭】,也可以在文件的标签栏,选择右键菜单【关 闭】,还可以在选择文件的标签最右边的“X”关闭。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 75 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.116 关闭文件 如果文件被修改过,会出现如图 2.117 所示对话框,选择“是”保存修改后关闭文件, 选择“否”不保存修改直接关闭文件,选择“取消”取消关闭文件。 图 2.117 提示保存 保存文件可以选择【文件】->【保存】或〖Ctrl + S〗或 ,也可以在文件的标签栏 选择右键菜单“保存”。 将打开的文件全部保存可以选择【文件】->【全部保存】或 。 以另一个文件名保存,可以选择【文件】->【另存为…】,弹出如图 2.118 所示对话 框,填写文件名选择“保存”即可。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 76 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.118 保存文件 4. 配置文件和文件组 TKStudio 支持对文件和文件组进行单独的配置,可以配置它们的属性、编译和汇编选 项。每个工具链的配置稍有不同,但与它们的工程配置中的选项相同。所以在这里不再讲述, 请参考各工具链的工程配置章节。 2.5.3 工程管理 1. 新建工程 新建工程,即创建一个新的项目。选择【工程】->【新建工程】,将弹出如图 2.119 所示对话框。 图 2.119 新建工程 通常为工程创建一个新的文件夹,比如“hello”,然后进入“hello”文件夹,输入工程 名,选择“保存”即可。 同时,TKStudio 也提供了大量模板供用户直接使用,从工程模板建立一个新的工程, 可以选择【文件】->【新建】或〖Ctrl + N〗或 ,切换到第二个属性页“工程”,如图 2.120 所示。在模板一栏选择您想要创建的工程模板,填写工程名。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 77 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.120 新建-工程 这样 TKStudio 就以 hello.xmp 为工程名新建了一个工程,hello.xmp 将包含了默认的目 标和文件组名,您可以在工程窗口中看到。 2. 打开工程 打开工程,即打开一个已存在的 TKStudio 工程。选择【工程】->【打开工程…】或 【文 件】->【打开工程…】,将弹出如图 2.121 所示对话框。 图 2.121 打开工程 选择要打开的工程名,然后选择【打开】即可。 如果要打开的工程是最近打开过的,还可以在【工程】下的最近打开的工程中找到,点 击即可打开。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 78 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 3. 导入工程 导入工程,即导入一个已经存在的非 TKStudio 工程,目前支持 uV2、uV3 和 ADS 工程 的导入。选择【工程】->【导入工程】,即弹出如图 2.122 所示对话框。 图 2.122 导入工程 选择好要导入的工程类型和工程名,选择“打开”,就把工程导入到 TKStudio 了,然后 就可以在 TKStudio 里进行编译等操作。具体的导入工程操作请参考《Keil 工程导入到 TKStudio》和《ADS 工程导入到 TKStudio》。 4. 关闭和保存工程 选择【工程】->【关闭工程】,即可关闭当前工程。如果当前工程被修改过又没进行 保存,则会弹出如图 2.123 所示对话框,提示用户进行保存。选择“是”保存后关闭工程, 选择“否”不保存直接关闭工程,选择“取消”则取消关闭工程。 当没有关闭当前工程时,直接打开或导入另一个工程,相当于关闭当前工程,再开启另 一个工程。 图 2.123 提示保存 保存工程可以选择【文件】->【全部保存】或 。 5. 配置目标 CPU 启动一个新的项目时,其中一个最艰难的部分是选择编译器、汇编器和所使用的特殊芯 片连接器选项三者的适当混合。TKStudio 提供了一个器件数据库,这个数据库自动为您选 择的芯片设置汇编器、编译器和连接器选项。这就节省了您的配置工具的时间,并帮助您更 快地编写代码。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 79 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 当新建一个工程时或选择【工程】->【选择工程目标 CPU】或选择工程窗口右键菜 单【选择目标 CPU】,将弹出如图 2.124 所示对话框。 图 2.124 配置目标 CPU TKStudio 支持多种器件家簇,包括 MCS-51、AVR 及 ARM 系列。在“器件家簇”中, 选择所使用的器件家簇,不同的器件家簇支持不同的编译工具。因此在“选择编译工具”中, 仅列出了所选家簇支持的编译工具。选择编译工具,TKStudio 便会自动设置编译器、汇编 器及链接器的路径。在器件库内容中也只列出了当前家簇的芯片,所有芯片按厂商组织。找 到所要选择的芯片所在的厂商,点击打开后再选择好芯片,点击“确定”即可。 6. 配置工程 目标工程的配置对话框因所选工具链不同而不同,每个工具链的工程配置选项都比较 多,在这里不作一一介绍,具体详细信息请参考各工具链工程配置章节。 2.6 工程配置 在工程窗口选中工程名,点击右键菜单【配置目标工程】或【工程】->【配置目标工 程】或 打开工程配置对话框,该对话框包括了许多项,根据需要来配置不同的选项。这 些配置只对当前工程的当前目标有效。开发者可以自由添加目标配置,默认情况下的目标配 置是“DebugRel”,我们可以为各个目标配置不一样的参数,用于不同的目的。我们还可以 添加新的工程配置。 产品用户手册 图 2.125 DebugRel ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 80 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 可以看到我们有两个选择:新建【New】子菜单和编辑【Edit】 子菜单。我们可以新建 工程目标配置,一般需要两个工程配置,一个是做调试用的,一个是最终烧入 FLASH 中用 的。分别取名为:DebugRel,FlashRel。我们所有的例子都将用这两个目标配置。新建以后 的工程目标配置如下图所示。 图 2.126 DebugRel-FlashRel 编译构建目标代码时,我们就可以选择相应的工程目标配置,在工程目录下将会有分别 以工程配置名为名字的文件夹,最终生成的代码都会放到该子目录下。 2.6.1 Keil 工程配置 Keil 工程配置分为八大项: 1) 目标工程:定义您应用的硬件; 2) 输出:定义 Keil 工具输出文件并让您定义生成处理后执行的用户程序; 3) 列表:定义 Keil 工具输出的所有列表文件; 4) C51 编译器:设置 C51 编译器的特别的工具选项,如:代码优化或变量分配; 5) A51 汇编器:设置汇编器的特别的工具选项,如宏处理; 6) 连接器定位:定义不同类型的存储器和存储器的不同段的的处理; 7) 连接器杂项:其它的与连接器相关的设置,如:告警或存储器指示; 8) 调试:设置相关的调试选项。 产品用户手册 图 2.127 Keil 工程配置 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 81 广州致远电子有限公司 1. 目标工程 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.128 目标工程 1) 目标器件:显示当前选择的目标 CPU 信息。 2) 时钟频率:默认值是所选目标 CPU 的最高可用频率值,正确设置该数值可使显示时间 与实际所用时间一致,一般将其设置成与您的硬件所用晶振频率相同,如果没必要了解 程序执行时间,也可以不设。 3) 数据存储模式:用于设置 RAM 使用情况,有三个选择项。小模式:变量位于 DATA, 即所有变量都在内部 RAM 中;压缩模式:变量位于 PDATA,即可以使用一页外部扩 展 RAM,大模式:变量位于 XDATA,即可以使用全部外部的扩展 RAM。 4) 代码存储模式:用于设置 ROM 空间的使用,同样也有三个选择项,小模式:小于 2K 程序,即只用低于 2K 的程序空间;压缩模式:2K 函数,64K 程序,即单个函数的代 码量不能超过 2K,整个程序可以使用 64K 程序空间;大模式:64K 程序,即可用全部 64K 空间。 5) 操作系统(RTOS)选项:TKStudio 提供了两种操作系统,RTX-51 Tiny 和 RTX-51 Full, 关于操作系统是另外一个很大的话题了,通常我们不使用任何操作系统,即使用该项的 默认值:None(不使用任何操作系统)。 6) 使用片内 ROM(0-0xFFF)选项:确认是否使用片内 ROM(注意:选中此项并不会 影响最终生成的目标代码量)。 7) 使用双 DPTR 寄存器:可提高 C51 库函数 memcpy、memmove、memcmp、strcpy 和 strcmp 等库函数的执行速度。 8) 使用片内 XRAM(0X0-0X1FFF):定义在启动代码中使能的片上元器件的使用。 9) 代码存储器:用于确定系统扩展 ROM 的地址范围。 10) 数据存储器:用于确定系统扩展 RAM 的地址范围,这些选项必须由硬件来决定。 注意:你或许应该一直使用小模式,它产生最快最紧凑效率最高的代码,你最好显式定 义你的变量的存储器类型。只有当你的应用不能在 SMALL 模式下操作时,你才需要往上增 加你的存储模式。 2. 输出 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 82 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.129 输出 1) 目标文件输出文件夹:当您为项目的各个目标的目标文件指定一个独立的文件夹时, TKStudio 仍然把在此之前的生成过程产生的目标文件视为有效,即使您修改了您的项 目目标工程命令,也只是重新编译那些修改过的文件。 2) 输出文件名:输出工程的文件名。 3) 创建应用文件(A):创建应用文件,TKStudio 调用连接/定位器。 4) 创建库文件(L):选择创建库文件,TKStudio 将调用库管理器,而不是连接/定位器, 此时由于库中的代码将不需要连接和定位,所以在连接器定位和连接器杂项页的输入将 被忽略,同时在目标页中的 CPU 和储存器的设置也无关紧要。 5) 创建结束动作:允许您输入最多两个用户程序在 Build 成功后开始执行。 3. 列表 用于调整生成的列表文件选项。在汇编或编译完成后将产生(*.lst)的列表文件,在连 接完成后也将产生(*.m51)的列表文件,该页用于对列表文件的内容和形式进行细致的调 节。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 83 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.130 列表 1) 列表输出文件夹:设置列表输出目录。 2) C 编译器列表:产生 C 编译器列表文件,相当于 PRINT。 3) 条件编译列表:在 C 编译器列表文件中列出被条件编译忽略的程序行,相当于 COND。 4) 产生符号列表:在 C 编译器列表文件中列出程序模块使用过的符号表,相当于 SYMBOLS。 5) 列出包含文件:在 C 编译器列表文件中列出包含文件内容,相当于 LISTINCLUDE。 6) 产生汇编代码:在 C 编译器列表文件中附加汇编程序代码,相当于 CODE。 7) 预处理信息列表:产生预处理器列表文件,相当于 PREPRINT。 8) 汇编器列表:产生汇编器列表文件,相当于 PRINT。 9) 条件汇编列表:在汇编器列表文件中列出条件汇编块结构中未汇编的部分,相当于 COND。 10) 产生符号列表:在汇编器列表文件中列出符号表,相当于 SYMBOLS。 11) 宏:选择宏的方式。 12) 交叉参考:在汇编器列表文件中产生一个交叉参考表,相当于 XREF。 13) 连接器列表:产生连接器列表文件,相当于 PRINT。 14) 存储器映像:在连接器列表文件中输出存储器映像,相当于 MAP。 15) 公用符号:在连接器列表文件中列出公共符号,相当于 PUBLICS。 16) 产生行号: 在连接器列表文件中产生行号,相当于 LINES。 17) 交叉参考:在连接器列表文件中附加交叉报告表,相当于 IXREF。 18) 生成的符号: 在连接器列表文件中附加生成的符号 19) 局部符号:在连接器列表文件中列出局部符号,相当于 SYMBOLS 20) 注释记录:在连接器列表文件中附加注释记录。 21) 库符号:在连接器列表文件中附加库符号。 4. C51 编译器 用于对 C51 编译器的编译过程进行控制。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 84 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.131 C51 编译器 1) 定义:定义预处理符号。 2) 取消定义:仅仅在组或文件的配置中有效,它允许您删除高一级的配置中定义的预处理 符号。 3) 优化级,C51 在对源程序进行编译时,可以对代码多至9级优化,默认使用第8级,一 般不必修改,如果在编译中出现一些问题,可以降低优化级别试一试, 4) 优化重点:第一项是最小代码长度,最终生成的代码量最小;第二项是最短执行时间, 最终生成的代码速度快;第三项是默认上一级设置。默认的是最短执行时间,可根据需 要更改。 5) 全局寄存器定义文件:利用大范围寄存器优化,C51 编译器知道哪些寄存器被外部程序 修改。那些没有被外部程序修改的寄存器将被用来存储寄存器变量。这样,C 编译器产 生的代码将占用较少的空间,并且执行速度更快。 6) 不使用绝对寄存器寻址:禁止使用寄存器 R0-R7 的绝对地址访问。 7) 警告级:选择 C51 输出告警信息的级别。级别 0 禁止所有告警。 8) 浮点数四舍五入位数:决定浮点数比较的位数。 9) 产生中断矢量表于: 通知 C51 编译器为中断函数产生中断向量并定义中断向量表的基 地址 。 10) 变量(按定义顺序)排序:通知 C51 编译器根据变量在 C 语言源程序中的定义来排序 分配变量地址。这些选项不影响代码质量。 11) 允许 ANSI 标准整数提升规则:当为进行比较,将比整型表达式短的表达式类型转换为 整型表达式时,进行符号位扩展的表达式。此选项通常将增加代码长度,但是需要兼容 ANSI 标准时必须这样做。 12) 包含路径:编译时搜索头文件的路径。 13) 杂项控制:允许您输入特别的 C51 编译指导参数。当您使用一个非常新的 8051 器件而 需要特别的编译指导参数时,使用这些选项。 14) 编译控制串:显示 C51 编译器运行时的编译指导参数的名称。让您能够立即确认您的 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 85 广州致远电子有限公司 源文件的各个编译选项。 5. A51 汇编器 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.132 A51 汇编器 1) SET 命令:用于将一个数值或寄存器名赋给一个指定的符号名,可被重新定义。 2) RESET 命令:重新定义用 SET 命令定义过的符号名。 3) 标准宏处理:宏处理器的选择方式。 4) Intel 宏处理 MPL:宏处理器的选择方式。 5) 定义 8051-SFR 寄存器:定义特殊功能寄存器。 6) 包含路径:汇编时搜索头文件的路径。 7) 杂项控制:允许您输入特别的 A51 汇编指导参数。 8) 汇编控制串:显示 A51 汇编器运行时的汇编指导参数的名称。让您能够立即确认您的 各个汇编选项。 6. 连接器定位 允许您定义任何段的起始地址。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 86 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 定位控制 图 2.133 连接器定位 1) 使用目标的存储器规划:用于控制代码范围和数据范围等。 2) CODE 范围:代码范围控制。 3) XDATA 范围:数据范围控制。 4) 定位控制:相当于各定位控制命令。这些定位命令允许在 8051 的不同地址空间进行段 定位,另外这些定位参数也影响段的定位算法,对于 8051 的内部数据 RAM 来说,这 些细微调整有时是很有必要的。 5) 连接控制串:显示连接器运行时的连接指导参数的名称。让您能够立即确认您的各个连 接选项。 7. 连接器杂项 产品用户手册 图 2.134 连接器杂项 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 87 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 1) 禁止警告编号:在连接时禁止掉编号对应的警告信息,使其不输出到连接信息中 2) 重叠:允许输入一些参数等,但一般不用。 3) 杂项控制:允许您输入特别的 BL51 连接指导参数。 4) 连接控制串:显示连接器运行时的连接指导参数的名称,让您能够立即确认您的各个连 接选项。 8. 调试 图 2.135 调试 1) 使用软件仿真:进行软件仿真。 2) 运行到 main():选择调试运行的范围。 3) 使用仿真器:进行硬件仿真,选择仿真器,有:TKS_DEB、 TKS_DEB_S 、 TKS_Monitor-932 Driver 、 TKS_764B 、 TKS_935Driver、TKS-B 系列、TKScope Debug for 8051。 4) 设置:设置仿真器的相关参数,弹出的对话框根据选择的仿真器不同而有所不同。 5) 启动时加载调试文件。 6) 运行到 main():选择调试运行的范围。 2.6.2 SDCC 工程配置 SDCC 工程配置分为四大项: 1. Compiler:设置编译参数; 2. Assembler:设置汇编参数; 3. Linker:设置连接参数; 4. Debug:设置 Debug 相关选项。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 88 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.136 SDCC 工程配置 1. Compiler 这个选项页是用来配置 SDCC 工具链里的编译参数,它和使用命令行参数一致对应的, TKStudio 为用户提供了灵活的工具链参数配置页面,用户无须记住命令行参数,主要在配 置对话框中选中相应的选项,就可以设置编译参数了。这样更符合用户的开发习惯,减少用 户的开发时间,提高开发效率。Category 下共有五个选项,通过选择可以进入不同的配置界 面。 General Options(通用配置) 图 2.137 General options 1) Include Directories:包含头文件路径。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 89 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 2) Preprocessor Definition:预编译宏定义。 3) Compile Options:显示编译器运行时的编译指导参数的名称。让您能够立即确认您的各 个编译选项。 Code generation options(代码生成选项) 图 2.138 Code generation options 1) Model:模式选择。它分为小端模式、平衡模式、大端模式选项。 2) Reenterant calls:折返类型可以是整型,也可以是浮点型。 3) Stack:堆栈选项。  Stack_probe:堆栈探针。  External_stack:扩展堆栈。  stack-automatic:所有源文件函数被编译为可重入函数,也就是,参数跟本地 变量将被分配到堆栈上去。如果这选项被使用,工程里所有的源文件也该使用 这选项被编译。 4) No Generation:隐藏信息。  No_c_code_in_asm:在 asm 文件中隐藏丑陋的和低效的 C 语言代码。  Ram:隐藏初始化的外部存储器信息。  No_peep_comments:隐藏窥视孔内容。 5) Code Segment Name:代码段名。 6) Const Segment Name:常量段名。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 90 广州致远电子有限公司 Optimization options(优化选项) TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.139 Optimization options 1) Optimization:优化选项,可以选择任意一种。  nooverlay:编译器将不会覆盖任何函数的参数和局部变量。  Nojtbound:当 switch 语句使用跳表被实现,将不产生边界条件检查。这里推 荐不使用此选项,#pragma nojtbound 通常用来关闭给定函数跳表边界检查。  Nogcse:不消除全局子表达式,当编译器创建不需要的大型堆或数据空间去存 储编译时的临时文件,这个选项可能被使用。当这情况发生,将产生一个警告 消息,编译器会指示出已经分配的额外字节数。这里推荐不使用此选项, #pragma nogcse 通常被用来关闭给定函数里的全局子表达式消除。  Noloopreverse:将不做回路循环优化处理。  Noinduction:将不会做循环感应优化。这里推荐不使用此选项, #pragma noinduction 通常用来关闭给定函数的循环感应优化。  Nolabelopt:将不进行标签优化(使打印文件更加易读)。  Noinvariant:不作循环不变量优化,由于前一个选项的说明使这项可能被关闭。 这里推荐不使用此选项,#pragma noinvariant 通常用来关闭给定函数的不变量 优化。  no-xinit-opt:不会把已被初始化的数据从 code 空间复制到 xdata 空间。如果没 有已初始化的数据,这样可以节省一些代码空间的字节数。 2) Speed and Size:编译器优化生成代码。  Opt-code-balanced:编译器优化代码生成实现在代码大小和生成代码速度之间 的平衡。  opt-code-speed:编译器优化代码生成实现快速的代码,可能是在牺牲代码大 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 91 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 小。  opt-code-size:编译器优化代码生成实现简洁的代码,可能是在牺牲代码速度。 3) Peephole Option:窥视孔优化的内置式规则选项,一般选择默认。 4) Use this extra peephole file:使用附加规则来被窥视孔优化器使用。 Internal debugging options(内部调试选项) 图 2.140 Internal debugging options 1) Enable debugging symbol output:当该选项被使用时,编译器将产生调试信息。所 有的调试信息将被保存到一个后缀名为.cdb 的文件中,并且能够被 SDCDB 工具使 用。 2) dump gcse:将产生一个消除全局子表达式后的中间代码文件。 3) Dump iternal structure:将打印上面所提及到的所有中间代码文件信息。 4) Dump loop:将产生一个循环优化后的中间代码文件。 5) Dump reg assign:将产生一个分配寄存器后的中间代码文件。 6) Dump dead code:将产生一个删除死代码后的中间代码文件。 7) Dump after init parse:在初始解析后打印内部结构。 8) Dump live range:将打印所有符号的生命期信息。 9) Include i-code:包括 i-codes,主要用来帮助调试编译器本身。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 92 广州致远电子有限公司 Other options(其他选项) TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.141 Other options 1) Use Standary:对 C89 标准进行选择。 2) Warnings:对 pedantic 警告和增加的特殊警告的可见性进行设置。 3) Others:主要是对 cyclomatic 、nostdlib 、use-stdout 三个选项进行设置。 2. Assembler Assembler 主要是汇编参数的设置,Category 下有三个选项,通过选择可以进入不同的 配置界面。 General options(通用配置) 产品用户手册 图 2.142 General options ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 93 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 1) Listing type:反汇编输出的列表类别。 2) Compile Options:显示汇编器运行时的汇编指导参数的名称。让您能够立即确认您 的各个汇编选项。 Code generation options(代码生成选项) 图 2.143 Code generation options 主要是对代码生成参数选项进行配置。它主要是用来配置文件调试信息、全局标志、用 户标志、页码选项。 Output options(输出选项) 产品用户手册 图 2.144 Output options ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 94 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 该选项主要是对输出文件类型进行设置,它分为 LST、REL、SYM 三种类型。 3. Linker Linker 主要是连接参数的设置,Category 下有三个选项,通过选择可以进入不同的配置 界面。 General options(通用配置) 图 2.145 General options 1) Create debug info in file:在连接列表中附加调试信息。 2) Output in Intel hex format:以 Intel 十六进制格式输出。 3) Output in S19 hex format:以 S19 十六进制格式输出。 4) Output File Name:输出的文件名。 5) Compile Options:显示连接器运行时的连接指导参数的名称。让您能够立即确认您 的各个连接选项。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 95 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 Start Location options(定位开始选项) 图 2.146 Start Location options 1) Ram Location:外部 RAM 的起始地址, 默认值是 0。指定值可以是十六进制格式, 也可以是十进制格式,例如:--xram-loc 0x8000 或者 --xram-loc 32768。 2) Stack Location:堆栈定位选项。  stack locate:默认是堆栈分配在紧跟在数据段之后。指定值可以是十六进制格 式,也可以是十进制格式。  xstack locate:默认是外部堆栈紧分配在紧跟 pdata 段之后。指定值可以是十六 进制格式,也可以是十进制格式,如:--xstack-loc 0x8000 或 --stack-loc 32768. 那提供的值应该不覆盖任何其他存储空间(pdadta 或者 xdata 段)和保证当前 应用程序有足够的空间。 3) Code Location:代码段的起始地址,默认值是 0。注意:当这选项被使用,那么中 断向量表也要被重定位给出的地址。指定值可以是十六进制格式,也可以是十进制 格式,如:--xram-loc 0x8000 或 --xram-loc 32768。 4) Data Location:定位数据段的起始地址。  data location:定位内部存储数据段的起始地址,指定值可以是十六进制格式, 也可以是十进制格式,如:--data-loc 0x20 或 --data-loc 32。(内部数据段的 起始地址被默认设置为尽量低的存储地址,必须考虑到寄存器组跟 0x20 地址 的位段情况,例如:如果寄存器 0 组跟 1 组被使用而没有位变量被使用,同时 --data-loc 没被使用,那么数据段将被设置为 0x10)。  idata location:设定 8051 内部存储器间接可寻址区的起始地址,默认值是 0x80。 指定值可以是十六进制格式,也可以是十进制格式,如:--idata-loc 0x88 或 --idata-loc 136。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 96 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 Include library options(包含库选项) 图 2.147 Include library options Include Lib path:设置包含库的路径。 4. Debug 图 2.148 Debug 选项 1) Category:类别选项。必须选中 General Options。 2) Software Simulation:进行软件模拟。 3) Hardwave Emulation:进行硬件仿真。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 97 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 4) Load debug info:当进行软件模拟时,装载调试信息 5) run into main():当进行软件模拟时,运行到 main 函数 6) 选择仿真器:TKStudio 中硬件系列选项。 7) config:配置仿真器参数 8) load the file when start:当进行硬件仿真时,开始时装载文件 9) run into main():当进行硬件仿真时,运行到 main 函数 10) clock:仿真参数设置,时钟频率 11) Debug File:输出的调试文件路径 12) Compile Options:显示调试器运行时的调试指导参数的名称。让您能够立即确认您 的各个调试选项。 2.6.3 ADS 工程配置 ADS 工程配置分为四大项: 1) Target:目标有关的配置; 2) Language Setting:语言有关的配置; 3) Linker:连接有关的配置; 4) Debuger:调试有关的配置。 1. Target 目标配置又分为三选项: 图 2.149 ADS 工程配置 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 98 广州致远电子有限公司 Target Setting TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.150 Target Setting 1) Target Name:当前的目标名称,不可选。它会根据开发当前使用的目标来配置。 2) Linker:选择使用哪个连接编译器和汇编器生成目标文件。在开发选择编译工具时已经 选择好了。 3) Post Linker:用于选择对连接器输出的文件处理方式,可能的取值:  None:不做选择  ARM fromELF:使用 ARM 工具 fromELF 处理连接器输出的 ELF 格式文件,它可 以把 ELF 文件转化为开发者需要的二进制文件,如果需要下载 ROM 中运行,必须 选择该项。 4) Output Directory:用于指定工程最后输出的文件放在哪个目录,默认情况放在工程目录, 开发者可以根据需要改变。 一般情况下,如果需要产生可以下载到 ROM 中运行的代码,只需要在 Post Linker 配置 ARM fromELF 就可以了。 File Mappings 该选项组主要用来指定特定的文件扩展名称所对应的内嵌工具。如扩展名.c,对应 ARM C Compiler。开发者可以自己手动来配置各个扩展名所对应的内嵌工具。如需要在工程中使 用 tcc 来编译.c 文件,以便产生 Thumb 指令代码。只需要将.c 文件与 Thumb C Compiler 对 应起来。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 99 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 ARM Target 图 2.151 File Mapping 图 2.152 ARM Target 1) Output Name:用来配置工程最终的输出文件名字,默认为工程名,也可以由开发者自 己命名。 2) Output Type:用来配置输出的类型。 2. Language Setting 该配置选项主要涉及到汇编,C,C++语言的有关配置。C/C++的配置与汇编语言配置 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 100 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 类似。汇编语言有关配置如下: ARM Assembler Assembler 提供了常用的配置参数,如果有特殊配置需要,就需要在此处增加。 1) Target:  .Archtectrue of Processor (处理器的体系结构):有 ARM7TDMI,ARM720T, ARM9TDMI,ARM920T;  Floating Point(浮点运算):拥有 NO floating point 和 softFP,以及其它的硬件浮点协 处理器。一般的 ARM 处理器都没有支持浮点运算的协处理器,如果用到浮点运算 就需要借助库中的浮点运算函数,这时就需要选择 softFP。如果不使用浮点运算就 选择 NO floating point。如处理器本身带有硬件浮点协处理器,就需要根据其类型进 行选择;  Byte Order:设置大小段模式。一般 ARM7 处理器都为 Little Endian;  Initial state: 产生 ARM 指针还是 Thumb 指针。 图 2.153 Target 2) ATPCS:过程调用接口,用在 C/C++语言与汇编代码相互调用时  Procedure Call Standard Option(过程调用配置);  ARM/Thumb interworking:用在 ARM 和 Thumb 代码相互调用时;  Read-only position independent:(ROPI)只读位置无关;  Read-write position independent :(RWPI)可读写位置无关;  Software stack:软堆栈检查;  有关 ROPI 和 RWPI 详细描述请查阅有关 ADS 编译参数的资料;  Calling Standard :调用接口,一般情况下需要遵循 ATPCS 调用规则;  Predeclared Reg Names。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 101 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.154 ATPCS 3) Option:  Check Register lists:检查寄存器列表;  NO Warings:不产生警告,一般不要选上,让编译器报告尽可能多的警告信息,因 为警告往往可能存在错误隐患;  Source Line Debug:如果要为汇编代码产生调试信息,必须选择该项。否则调试时, 可能找不到汇编的源代码定位;  Keep Symbols:一般与 Source Line Debug 一起配合使用;  Ignore C_style Escape characters: 忽略 C 语言的转定义字符,如\n,\r;  Fault Long running Load and Store Mutiple:当使用 LDM 和 STM 指令时,如果长度 过长,则报错。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 102 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.155 Option 4) Predefines: 预处理宏。用来在汇编语言中定义宏。注意这里说的宏,与汇编代码伪指令 所说的宏不一样。这里相当于 C 语言的宏。 图 2.156 Predefines 5) Listing Control:用来控制当需要产生汇编代码列表时的参数配置。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 103 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.157 List Control 6) Extars:该属性页用来配置汇编器需要的额外的参数时。就需要使用。只需要把额外的 参数写入到一个文本文件中。然后在 Via File Name 选择该文件即可。 图 2.158 Extras Complier ARM C / C++ Complier/ Thumb C / C++ Complier 选项的配置参数相同,故将就 ARM C Complier 为例,其它类似。 1) Target and Source:该项配置与 ARM Assembler 中的 Target 配置差不多。多了一项 Source Language 用来设置编译所遵循的 C 语言标准 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 104 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.159 Target and Source 2) ATPCS:该项配置与 c 的 ATPCS 配置类似; 图 2.160 ATPCS 3) Warings:该选项用来配置警告信息,一般情况下都已经给好配置了,不需要改动。注意 一定不要关闭警告提示。如果需要非常严格的检查,只需要选择 Warn for all condtion; 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 105 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.161 Warnings 4) Errors:该选项用来配置在某种情况下产生的错误信息,而不是警告提示信息; 图 2.162 Errors 5) Debug/Opt:调试和优化选项 如果需要产生调试信息必须选择 Enable debug table generation.。 优化选项分为最小优化(调试时用),最大优化,全部优化(发布时用)。另外两个分别 对空间和时间进行优化,这是两个非常矛盾的地方。优化空间必然会增加运行时间,优化时 间,必定会产生以空间换时间。所以在选择时必须进行考虑。如果对实时性要求比较高,那 么就应该选择时间优化;如果对空间和成本比较敏感那么就需要选择对空间进行优化。总之 鱼与熊掌不可兼得,需就实际情况而论。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 106 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.163 Debug Opt 6) Preprcoessor:定义预处理宏:相当于 C 语言代码: #define XXX_d XXX_s。 图 2.164 Preprocessor 7) Extras:与 ARM Assembler 中的 Extras 类似,用来添加额外的编译参数。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 107 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.165 Extras 3. Linker Linker 有关配置参数主要用在连接产生可执行代码时候用到。 Linker 配置分为:ARM Linker 和 ARM FromELF 两部分。其中 ARM Linker 主要用来配 置连接工具 armlink 有关的参数(用来产生.axf,一般为带调试信息的文件,被用作 FromELF 工具的输入)。ARM FromELF 的配置 FromELF 工具的参数(用来产生可烧入 FLASH 中的 代码)。 ARM Linker 分为以下部分: 1) Output: Linktype:用来设置连接类型。包含三个选项:Partie,Simple,Scattered。其中 Partie 用在部分连接中,详细资料可以查看 ADS 帮助文档。Simple 是比较简单的选择,如果选择 该项,右边的 Simple image 选项将变得可用。只需要配置好 RO BASE 和 RW BASE 地址就 可以了。Scattered 将在连接过程中使用分散加载文件,只要在 Scatter 处选择分散加载文件 就可用了,这里就使用这种配置,处理起来比较麻烦,至于如何书写分散加载文件详细资料 可以查看 ADS 帮助文档。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 108 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.166 Output 2) Option: 该选项主要用来配置连接时的参数。  Remove unused sections:用来选择是否删除那些在程序中没有使用的代码数据段 RO(CODE,RODATA),RW(DATA),ZI(BSS),这样可用明显减少代码的尺 寸。  Include debugging informat:在连接输出的.axf 文件中包含调试信息;  Search standard library:使用标准库;  Use ARMLIB to find library:使用 ARMLIB 来查找库;  Output local symbol:输出符号信息;  port "might fail" conditions:用来报告可能产生的错误。 产品用户手册 图 2.167 Option ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 109 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 3) Layout:该选项配合 Output 中的 Linktype 来配置连接类型。除非选择 Simple Linktype 否则将看不到该属性页。  Place at beginning of image:用来配置首先被定位的段。如有文件名为 Startup.s.其中有 如下代码: Area Start,CODE,REANONLY ;该段用来安装中断向量,初始化 CPU, 为 C 语言运行提供环境,并跳转到 C 语言入口。那么该段就可以作为第一个加载模 块。在 Object/Symbol 中填入:Startup.o(Startup.s 汇编后产生的目标文件)。Section 中 填入 Start。  Place at end of image:类似,只是用来设置最后被定位的段。 图 2.168 Layout 4) Listing:该选项主要用来产生列表输出的信息,对产生的可执行代码无影响。只是用来获 取一些信息,读者可以试着使用一下这些参数。 产品用户手册 图 2.169 Listing ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 110 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 5) Extras:与前面所将的 Extras 类似,用来设置额外的连接配置参数,同样使用一个文本文 件保存,加入进来就可以了。 图 2.170 Extras ARM FromELF 该配置用来产生最终可以烧入到 FLASH 或者 ROM,RAM 中运行的代码。各种格式的 代码都需要相应的烧入软件来支持。常用的格式有 bin,ihx 格式。 1) Output Format:选择输出格式 2) Output file name:输出文件路径名 产品用户手册 图 2.171 ARM FromELF ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 111 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 以上配置几乎与 ADS 1.2 IDE 中的工程配置类似,各个配置的具体参数意义,请查看 ADS 有关的帮助文档。 4. Debuger ARM Debuger 主要用来设置调试相关的信息。其分为三个部分: 1) General:一般配置,主要用来设置使用软件仿真,还是硬件调试 图 2.172 General 2) Software Simulation:用来设置与软件仿真有关的配置。  Run to Main():如果选择该项,进入仿真时将直接运行到 main 函数处。  Load Debug Information:加载调试信息,进行调试时该项必须选择,否则会找不到 调试信息,定位不到源文件。  Init Script:初始化脚本。有关该脚本的介绍请查看 TKStudio IDE 自带的帮助手册。 产品用户手册 图 2.173 Software Simulation ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 112 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 3) Hardware Emulation:与硬件调试有关的配置。  Run to Main():如果选择该项,进入仿真时将直接运行到 main 函数处。  Load Debug Information:加载调试信息,进行调试时该项必须选择,否则会找不到 调试信息,定位不到源文件。  Update Target Before Debugging:调试时更新目标。一般都要选择。  Init Script:初始化脚本。有关该脚本的介绍请查看 TKStudio IDE 自带的帮助手册。  后面部分用来设置目标驱动 DLL,可以通过 ADD,REMOVE 来增加删除驱动。 图 2.174 Hardware Ernulation 2.6.4 Gnu ARM 工程配置 Gnu ARM 工程配置分为四大项: 1) Compiler:编译有关的配置; 2) Assembler:汇编有关的配置; 3) Linker:连接有关的配置; 4) Debuger:调试有关的配置。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 113 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.175 Gnu ARM 工程配置 1. Compiler Compiler 主要是编译相关参数的设置,Category 下共有五个选项,通过选择可以进入不 同的配置界面。 General(通用配置) 图 2.176 General 1) 指定在用户路径搜索系统头文件。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 114 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 2) Object Files Location:目标文件输出路径,默认在工程文件夹下的目标文件夹下。 3) Predefines:设置预处理符号定义。在这里写入一个符号,相当于在程序中的一个宏定 义。 4) Compile Options:显示编译器运行时的编译指导参数的名称。让您能够立即确认您的各 个编译选项。 Warning Options(警告选项) 图 2.177 Warning Options 该选项主要用来对某些情况下是否发出警告做出选择。建议尽量不要关闭警告信息。好 的代码不允许存在警告的,所以尽量让编译提示所有警告信息,从而改进程序中存在的问题。 具体说明如下: 1) Suppress warnings:选中该项,则禁止了所有的警告信息。 2) A variable is unused:一个变量没有被使用。 3) Trigraphs encountered:遇到三字母词(三字母词就是用 3 个字符表示一个单独的字符, 如果该字符不存在于某种计算机的字符集中,就可以用这 3 个字符来表示)。 4) Unqualified porinter cast:不合法的指针强制转换。 5) Missing declarations:没有声明。 6) Incompatible func cast:不匹配的函数强制转换。 7) ANSI C extension:ANSI C 扩展。 8) Confusing type conversions:莫名其妙的的类型转换。 9) Inlined function cannot be inlined:内联函数不能够被内联。 10) One local variable shadows another:变量隐藏。 11) Automatic variables are uninitialized:自动变量没有被初始化。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 115 广州致远电子有限公司 Debug/Optimization(调试与优化) TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.178 Debug/Optimization 1) Debug Options:选择输出的调试文件的格式。 2) Optimization Options:选择要优化的等级。 Target Specific Options(特定目标选项) 产品用户手册 图 2.179 Target Specific Options ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 116 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 该配置主要设置 CPU 类型,具体参数说明如下: 1) Instructions sets:支持 arm 和 thumb 指令 2) endian mode:支持小端和大端两种模式。 3) FP:有硬件 FP 指令和 lib 调用。 4) APCS bit:支持 26bit 和 32bit。 5) APCS stack frame:是否支持 ARM 过程调用标准栈帧。 Code Generation Options(代码生成选项) 图 2.180 Code Generation Option 这些配置主要针对与语言有关的参数。 1) Compile just for ANSI C:仅仅编译 ANSI C 代码。 2) Use the same size for double as for float:对于双精度和单精度都分配相同空间大小。 3) Use the smallist fitting integer to hold enums:使用恰当的整型 smallist 进行枚举。 4) Pretend that host and target use the same FP format:假使宿主和目标使用相同的 FP 格式。 5) Do not recognize any builtin functions:不承认任何内置功能。 6) Do not search the system include directorise 不要搜寻系统包括目录。 7) Do not put uninitialised globals in the common section:不要把未初始化的全局变量放到公 共区。 2. Assembler Assembler 主要是汇编参数的设置,Category 下有四个选项,通过选择可以进入不同的 配置界面。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 117 广州致远电子有限公司 General(通用配置) TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.181 Assembler-General 1) 指定在用户路径搜索系统头文件。 2) Object Files Location:目标文件输出路径,默认在工程文件夹下的目标文件夹下。 3) Predefines:设置预处理符号定义。在这里写入一个符号,相当于在程序中的一个宏定 义。 4) Assembler Options:显示编译器运行时的汇编指导参数的名称。让您能够立即确认您的 各个汇编选项。 Code Generation(代码生成) 产品用户手册 图 2.182 Assembler-Code Generation ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 118 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 主要是对生成信息进行设置。选项说明如下: 1) Generate DWARF2 debugging information:生成 DWARF2 调试信息。 2) Generate listing file:生成列表文件。 3) Keep local symbols:保存本地符号。 4) Assemble in MRI compatibility mode:在 MRI 相容性模式下汇编。 5) Strip local absolute symbols:丢弃本地绝对符号。 Target Specific Options(特定目标选项) 图 2.183 Target Specific Options 该配置主要设置 CPU 类型。具体选项说明如下: 1) Instruction:允许任何指令;仅仅支持 thumb 指令。 2) Make the assembled code as supporting interworking:使汇编代码支持互通。 3) APCS:ARM 过程调用标准。 4) FP architecture:支持 Fpa10、Fpa11 两种 FP 架构。 5) FP Instructions:是否支持 FP 指令。 6) The code is position independent or reentrant:该代码是独立的还是关联的。 7) specity the name of the target CPU:对特定 CPU 的选择。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 119 广州致远电子有限公司 Warning Options(警告选项) TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.184 Warning Options 该选项主要用来对某些情况下是否发出警告做出选择。建议尽量不要关闭警告信息。好 的代码不允许存在警告的,所以尽量让编译提示所有警告信息,从而改进程序中存在的问题。 具体选项说明如下: 1) Suppress warnings;禁止警告。 2) Do not warn about signed overflow:在标志溢出时不警告。 3) Warn when differences aftered for long displacements:对长跳转进行警告 3. Linker Linker 主要是连接参数的设置,Category 下有六个选项,通过选择可以进入不同的配置 界面。 General(通用配置) 产品用户手册 图 2.185 General ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 120 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 1) Output file type:输出文件类型。可以选择 Executable file 或 Library。 2) Linked with C Library:使用 C 链接库。 3) Linked with GCC Library:使用 GCC 链接库。 4) Linker script file:连接的脚本选项。 5) Output file name:必须填写输出文件名。 6) Link Options:显示链接选项。 Image Entry Options(图形入口选项) 图 2.186 Image Entry Options 主要用来对图形文件和图形入口指针进行配置。 Code Generation Options(代码生成选项) 产品用户手册 图 2.187 Code Generation Options ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 121 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 维持编译器的默认值,可以不用对此项的进行配置。 Include Object and Library Modules(包含对象和库模块) 图 2.188 Include Object and Library Modules Library or Object Modules:对库或者是对象模块进行配置。 Add Library Searching Path(添加库搜索路径) 图 2.189 Add Library Searching Path Library Searching Directories:设置搜索地址。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 122 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 ARMFromELF(ARM FromELF 配置) 图 2.190 ARMFromELF 1) Generate hex/bin file after linking:如果要生成二进制代码,必须选择。 2) Output format:选择输出的二进制形式。 3) Output file name:输出文件名,包括路径。必须填写,否则没有输出。 4. Debug Debug 主要是设置调试参数,Category 有三个选项,通过选择可以进入不同的设置界面。 General(通用配置) 产品用户手册 图 2.191 General ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 123 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 1) Debug Symbol File:设置调试信息文件的路径 2) Target Switch:目标选择开关。可以选择进行软件模拟或者是进行硬件仿真。 Software Simulation(软件模拟) 图 2.192 Software Simulation 1) Run to Main:选中该项,软件仿真开始后运行到 main 函数后暂停,等待用户操作。 2) Load Debug Info:在软件仿真时,加载调试信息。调试时务必将该项选上,否则将不能 进行调试。 3) Init Script:该项用于设置软件仿真时连接的初始化脚本文件。 4) Storage Configuration:配置存储器的类型、开始地址、大小和加载文件。  Type:该项选择虚拟存储器类型,可选择为 RAM 或 ROM  Start Address:要配置的虚拟存储器的开始地址。  Size:要配置的虚拟存储器的大小。  Load File:该项选择要载入虚拟存储器的文件。  DownLoad:选择在软件仿真调试前是否载入文件。Yes:仿真调试前加载文件; NO:不进行加载。 用户配置该项后,进入调试前,系统将文件加载到指定的虚拟存储器中。 注意:在 Software Simulator 选项中我们一般不选中 Run to Main 选项,因为在引导代码 中有许多关于硬件相关的配置,有可能不能到达 Main 处,所以我们从引导开始调试,在有 需要时修改指令指针 PC 的值。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 124 广州致远电子有限公司 Hardware Emulation(硬件仿真) TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.193 Hardware Emulation 1) Run to Main:选中该项,硬件调试开始后,即将代码下载到目标板上后运行到 main 函 数后暂停,等待用户操作。 2) Load Debug Info:选中该项,在硬件调试时,加载调试信息。调试时务必将该项选上, 否则将不能进行调试。 3) Update Target Before Debugging:选中该项,调试之前,将代码重新加载到目标板上, 刷新存储器的内容。 4) Init Script:该项用于设置软件仿真时连接的初始化脚本文件。 5) Target DriverDLL:显示调试接口驱动信息。 6) Add:增加仿真器驱动。 7) Remove:从列表中删除所选择的驱动库。 8) Config:配置当前所选择的仿真器 9) Flash:设置烧写参数 2.6.5 MDK 工程配置 如果 MDK 安装目录下的是 BIN30 文件夹,我们在选择编译工具的时候应该选择 Realview MDK 3.04,如果 MDK 安装目录下的是 BIN31 文件夹,我们在选择编译工具的时 候应该选择 Realview MDK 3.2x。由于这两个版本的工具链的工程配置是非常类似的,只有 极少的不同,这里就只介绍 MDK322 的工程配置。 MDK322 工程配置分为八大项: 1) 目标工程:目标有关的配置; 2) 输出:输出文件有关的配置; 3) 列表:列表有关的配置; 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 125 广州致远电子有限公司 4) 用户:用户有关的配置; 5) C/C++:C/C++有关的配置; 6) ASM:ASM 有关的配置; 7) 连接:连接有关的配置; 8) 调试:调试有关的配置。 TKStudio IDE 用户手册 TKStudio 集成开发环境 1. 目标工程 图 2.194 MDK322 工程配置 产品用户手册 图 2.195 目标工程 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 126 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 1) 时钟频率:目标 CPU 的时钟频率。选择 CPU 后,系统自动获取 CPU 的时钟频率来填 充该项,用户也可以自己手动修改目标 CPU 的时钟频率。但建议用户不修改该项。 2) 操作系统:选择是否添加 RTX 库支持和使能内核调试。  None:不添加 RTX 库支持。  RTX Kernel:添加 RTX 库支持和使能内核调试。选择此项,将 RTX Kernel 一起编 译进来,用户可以调用该 RTX 内核提供的的函数来完成所要的功能。如多任务等。 3) 代码生成:  ARM-Mode:选择该项,目标代码生成 ARM 模式代码。  Thumb-Mode:选择该项,目标代码生成 Thumb 模式代码。  使用跨模块优化:选择该项,连接器进行更大程度优化。  大端模式:选择生成代码以大端模式存放,即高地址存放低字节,低地址存放高字 节。用户应根据目标板实际情况来选择此项,如果目标板配置为大端模式,则将此 项选上,否则请不要选择该项。模式不一致,将导致运行结果不正确,甚至系统崩 溃。  使用第三方:MicroLib 库 选择该项,使用第三方 MicroLib 库来改变 C 运行库, 使得目标代码更小。MicroLib 库不完全兼容 C 运行时库,但是对小的嵌入式应用 来说,足够了。 4) 只读存储区:  芯片外部:设置片外 ROM 的开始地址和长度。用户应根据实际情况进行配置。  芯片内部:设置片内 ROM 的开始地址和长度。当所选择的目标 CPU 存在片内 ROM 时,系统自动获取 CPU 的片内 ROM 配置填充该项。  启动区:将该存储区域设置为启动区,系统启动时从该存储区起始地址开始加载。 5) 可以读写存储区:  芯片外部:设置片外 RAM 的开始地址和长度。用户应根据实际情况进行配置。  芯片内部:设置片内 RAM 的开始地址和长度。当所选择的目标 CPU 存在片内 RAM 时,系统自动获取 CPU 的片内 RAM 的配置填充该项。  不初始化:选中此项,系统不对该 RAM 初始化,否则初始化为 0。 2. 输出 产品用户手册 图 2.196 输出 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 127 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 1) 输出文件:  目标文件输出文件夹:选择目标文件存放位置。系统默认为工程目录下的 DebugRel 文件夹。一般情况下,采用默认配置即可。  输出文件名:输出目标文件名。系统默认输出目标文件名与工程名相同。 2) 创建可执行文件:选择此项,编译通过后将输出可执行文件。  调试信息:选中该项,在输出文件中包含调试信息。这些调试信息包括调试信息输 入段、符号表以及字符串表。不选中该项,在输出文件中不包含调试信息。这时调 试器就不能提供源代码级的调试功能。  创建批处理文件:选择该项,成功编译后生成批处理文件(.bat)。该批处理文件含 有整个编译过程的命令。用户可以通过该文件在不打开 IDE 的情况下,将项目重 新编译一遍。大多数情况下该项很少用到。  输出文件格式:  None:选择此项,成功编译后将生成 axf 格式映像文件。axf 文件是 ARM 特 有的调试文件,里面除了包含 bin 文件的内容外,还附加了许多调试信息。调 试时应选择此项。  HEX 文件:选择此项,成功编译后输出 16 进制格式文件。  BIN 文件:选择此项,成功编译后输出 BIN 格式文件。BIN 文件是真正的可 执行文件。当调试完成后,选择此项生 BIN 文件,烧写到设备上。  产生浏览信息:选中该项,在输出文件中包含浏览信息。 3) 创建库文件:选中此项,成功编译之后,生成库文件(后缀名为 lib)。库文件也是二进 制文件。当用户需要提供函数给别的用户使用,但又不想对方看到自己的源代码,即可 以通过提供库文件的形式提供给对方使用。或者可重用的代码也可以生成库文件,方便 后面调用。 3. 列表 图 2.197 列表 1) 列表文件输出文件夹:显示列表文件所存放路径。系统默认为工程目录下的 DebugRel 文件夹。 2) 汇编列表:选中该项,成功编译后将生成汇编列表文件(.list)。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 128 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境  交叉参考:选中该项,在汇编列表文件中列出所有输入段间的交叉引用。 3) C 编译列表:选中该项,成功编译后将生成 C 编译列表文件(.txt)。 4) 连接列表:选中该项,成功编译后,输出连接列表文件(.map)。下列各项指示是否在 该文件包含这些信息。  存储器映像:选中该项,连接器产生一个关于映像文件的信息图。该信息图中包含 各个运行时域、加载时域和映像文件中各输入段的起始地址和大小。  符号信息:选中该项,连接器列出连接过程中的局部和全局符号及其数值,包括连 接器产生的符号,输出到.map 文件中。  大小信息:选中该项,连接器列出映像文件中各输入目标文件和使用到的库文件的 尺寸,输出到.map 文件中。  调用图:选择该项,将在输出文件中显示函数的调用情况。  交叉参考:选中该项,列出所有输入段间的交叉引用。  全部信息:选中该项,连接器列出映像文件中所有输入目标文件和使用到的库文件 的尺寸。  未使用段信息:选中该项,连接器列出被删除的没有被使用的输入段信息。  单板信息:选中该项,连接器列出生成的 veneers 信息。连接器可以根据需要生成 一些小代码段,称为 veneer。这些小的代码段用于实现 ARM 状态到 Thumb 状态的 转换以及长距离跳转。当跳转指令涉及到处理器在 ARM 状态和 Thumb 状态之间进 行转换,或者是跳转指令的目标地址超出了该跳转指令所能到达的范围时,连接器 根据需要生成一些小代码段,这些小代码段实现这些功能。 4. 用户 图 2.198 用户 1) 汇编或者编译 C/C++文件前设置该项,在汇编或者编译 C/C++文件前运行用户设置的程 序。 2) 构建工程之前设置该项,在构建工程之前运行用户设置的程序。 3) 构建工程之后设置该项,在构建工程运行用户设置的程序。 5. C/C++ 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 129 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.199 C/C++ 1) 预处理符号定义:  定义:设置预处理符号定义。在这里写入一个符号,相当于在程序中的一个宏定义。 如 该 项 填 入 : MY_SYMBOL , 相 当 于 在 程 序 中 加 入 这 样 一 条 语 句 : #define MY_SYMBOL,这样就可以在程序中使用条件编译,如#ifdef,#ifndef 来检查该符 号是否定义。  取消定义:取消已定义的符号。 2) 语言/代码生成:  使能 ARM/Thumb 交替使用:选中该项,源程序中 ARM 指令和 Thumb 指令混合 使用。对于那些被另外一种指令系统的程序调用的程序,需要在编译时选中该项。 对于调用者而言不需要指定本选项。选中该项后,在连接目标程序时,连接器将插 入进行状态切换的代码段。  严格遵循 ANSI C 标准:指定源程序满足严格的 ANSI C 标准,这时删除了一些语 言特性,扩展了一些细小的功能。  警告:  All Warnings:选择该项,编译器可以显示所有的警告信息,包括那些默认情 况下被关闭的警告信息。建议用户选择此项,这样有利于发现潜在的错误。  No Warnings:选择该项,编译器不产生任何警告信息。不建议用户选择此项。  优化:  Level 0:选择该项,编译器不进行优化工作,这时目标文件中包含最丰富的调 试信息。在调试环境下,建议用户选择此项。  Level 1:选择该项,编译器不进行那些严重影响调试信息的优化操作,这时在 目标文件中包含大多数的调试信息。  Level 2:选择该项,编译器执行所有的优化操作,这是在目标文件中包含最好 的文件信息。  Level 3:选择该项,编译器执行优化操作,使生成的目标文件运行速度尽可能 的快。调试完成,将要将目标文件烧写到目标机器上时,建议用户选择此项进行编 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 130 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 译一次,然后再进行烧写。这样可以减少需要空间和提高运行速度。  枚举类型总为整型:选择该项,编译器使用整型数据来保存枚举型数据。默认情况 下,编译器使用那些能够容纳枚举型变量所有可能取值的最小数据类型。  在时间上优化:选中该项,编译器尽可能压缩代码空间,以减少运行时间。  一般字符类型为有符号:选中该项,编译器将一般字符类型当作是有符号字符类型 看待。  分离多加载和存储指令:选中该项,编译器将 LDM/STM 指令分成几个 LDM/STM 指令,从而减少每个 LDM/STM 指令中所需要的寄存器数量。  只读位独立:选中该项,源程序是只读位置无关。编译器使用基于 PC 寄存器的寻 址方式访问只读属性的数据;而且编译器将输出文件中只读段的属性设置为 PI。  一个 ELF 段包含一个函数:选中该项,编译器为源程序中的每一个函数产生一个 相应的 ELF 格式的段。该段的名称和生成该段的函数名称相同。  可读写位置独立:选中该项,源程序是读写位置无关。编译器使用基于 SR 寄存器 的寻址方式访问读写属性的数据;而且编译器将输出文件中读写段的属性设置为 PI。 3) 包含路径:指定在用户路径搜索系统头文件。 4) 其它控制:用户可在该编辑框内输入面板中没有提到的参数。控制命令形式参看编译器 帮助文档。 6. ASM 图 2.200 ASM 1) 预处理符号定义:  定义:定义预处理符号。相当于 SETA 指令。  取消定义:清除符号定义。 2) 语言/代码生成  使能 ARM/Thumb 交替使用选中该项,源程序中 ARM 指令和 Thumb 指令混合使 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 131 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 用。对于那些被另外一种指令系统的程序调用的程序,需要在编译时选中该项。对 于调用者而言不需要指定本选项。选中该项后,在连接目标程序时,连接器将插入 进行状态切换的代码段。  软件堆栈检查:选择该项,指定源程序进行软件堆栈限制检查。  只读位置独立选中该项,源程序是只读位置无关。编译器使用基于 PC 寄存器的寻 址方式访问只读属性的数据;而且编译器将输出文件中只读段的属性设置为 PI。  分离多加载和存储指令:选中该项,编译器将 LDM/STM 指令分成几个 LDM/STM 指令,从而减少每个 LDM/STM 指令中所需要的寄存器数量。  可读写位置独立选中该项,源程序是读写位置无关。编译器使用基于 SR 寄存器的 寻址方式访问读写属性的数据;而且编译器将输出文件中读写段的属性设置为 PI。  Thumb 模式:生成 Thumb 模式下代码。  不产生警告:选中该项,编译器不产生任何警告。 3) 包含路径:指定在用户路径搜索系统头文件。 4) 其他控制:用户可在该编辑框内输入面板中没有提到的参数。控制命令形式参看编译器 帮助文档。 7. 连接 图 2.201 连接 1) 使用工程目标属性页中的内存布局:选择该项,TKStudio 将使用目标工程属性页的内 存布局来生成分散加载文件。连接器使用该分散加载文件来加载代码。选中该项,RO 基地址和 RW 基地址不可用。分散加载文件项不可更改。  使 RW 位置独立:选中该项,包含 RW 和 ZI 输出段的变量区域是位置独立的。如 果该项不选上,RW 和 ZI 段将放置到绝对内存地址上。  使 RO 位置独立:选中该项,包含 RO 输出段的常量区和代码区是位置独立的。如 果该项不选上,RO 段将放置到绝对内存地址上。  不使用标准库:选中该项,连接器在进行连接操作时,不扫描默认的 C/C++运行时 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 132 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 库来解释各目标文件引用的符号。  把“可能失败”的条件报告为错误:选中该项,连接器将可能造成错误的条件作为 错误信息,而不是作为警告信息。  RO 基地址:文本框用于设置映像文件中 RO 属性输出段的加载时地址和运行时地 址。地址值必须是字对齐的。如果没有指定地址值,则使用默认的地址值:0x0。 当“使用工程目标属性页中的内存布局”选中时,该项不可用。注意:在当前版本 (3.0.9)下,该属性尚未作处理。  RW 基地址:文本框用于设置映像文件包含 RW 属性和 ZI 属性的输出段的运行时 域的起始地址。地址值必须是字对齐的。如果没有指定地址值,则使用默认的地址 值:0x0000。“使用工程目标属性页中的内存布局”选中时,该项不可用。注意: 在当前版本(3.0.9)下,该属性尚未作处理。 2) 加载选项  最先被加载的段名:用户可以指定最先加载的段名。段名是指在汇编程序中用 AREA 声明的名称。如下声明: AREA TEST,CODE,READONLY ENTRY TEST 就是段名。如果填入的符号不是定义的段名,编译时将产生错误。在该处指 定段名后,该段名指示的段将最先被加载。一般情况下,用户不需指定最先加载的 段名,因为在分散加载文件已经进行描述。当“使用工程目标属性页中的内存布局” 未选中时,该项不可用  分散加载文件:该项用于选择分散加载文件。当“使用工程目标属性页中的内存布 局”选中时,系统默认的分散加载文件为系统生成分散加载文件。当“使用工程目 标属性页中的内存布局”未选中时,用户可以选择使用其他的分散加载文件。如果 用户对分散加载文件不是很熟悉,建议用户使用系统生成的分散加载文件。分散加 载文件将在后面介绍。 3) 其他控制:用户可在该编辑框内输入面板中没有提到的参数。控制命令形式参看编译器 帮助文档。比较常用的就是—entry 命令。如果使用 TKStudio 自动产生分散加载文件, 而没有定义--entry 参数,默认情况下将使用--entry 0x00 参数,如果用户需要,可以加 入--entry 参数(该参数后可以是地址,也可以是符号,符号必须导出,在汇编中使用 EXPORT SYMBOL)。如果用户使用自己编写的分散加载文件则必须加入--entry 参数否 则就会出现加载地址不正确的情况。 8. 调试 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 133 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.202 基本设置 类别主要设置类型,分为基本设置、软件仿真和硬件调试。 1) 基本设置  调试文件:指明调试文件的名称。  调试目标:选择调试的类型。分为软件仿真和硬件调试。软件仿真可以在没有硬件 的情况下调试程序,使得软件跟硬件的开发工作可以同时进行,而不必等待硬件调试好 以后再开发软件,大大减短了开发周期,使得软件工程师能够更好的与硬件工程师协同 工作。硬件调试是将代码下载到硬件上执行,并可及时观察和跟踪硬件的执行情况。  基本信息:目标 CPU 的基本信息。这些信息可帮助用户了解 CPU 的内核类型、频 率、RAM 和 Flash 的地址和大小。 2) 软件仿真 产品用户手册 图 2.203 软件仿真 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 134 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境  软件仿真配置  运行到 main:选中该项,软件仿真开始后运行到 main 函数后暂停,等待用户 操作。  加载调试信息:在软件仿真时,加载调试信息。调试时务必将该项选上,否则 将不能进行调试。  初始化脚本文件:该项用于设置软件仿真时连接的初始化脚本文件。初始化脚本文 件介绍将在后面小节介绍。  存储配置:配置存储器的类型、开始地址、大小和加载文件。  Type:该项选择虚拟存储器类型,可选择为 RAM 或 ROM  Start Address:要配置的虚拟存储器的开始地址。  Size:要配置的虚拟存储器的大小。  Load File:该项选择要载入虚拟存储器的文件。  DownLoad:选择在软件仿真调试前是否载入文件。Yes:仿真调试前加载文件; NO:不进行加载。用户配置该项后,进入调试前,系统将文件加载到指定的 虚拟存储器中。 3) 硬件调试 图 2.204 硬件调试 1) 硬件调试配置  运行到 main:选中该项,硬件调试开始后,即将代码下载到目标板上后运行到 main 函数后暂停,等待用户操作。  加载调试信息:选中该项,在硬件调试时,加载调试信息。调试时务必将该项选上, 否则将不能进行调试。  调试之前更新目标:选中该项,调试之前,将代码重新加载到目标板上,刷新存储 器的内容。 2) 初始化脚本文件:该项用于设置软件仿真时连接的初始化脚本文件。初始化脚本文件介 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 135 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 绍将在后面小节介绍。 3) 目标驱动 DLL:该项配置调试接口驱动。  增加:增加驱动。点击“增加”按钮,将弹出选择驱动类型对话框 图 2.205 选择驱动类型  删除:从列表中删除所选择的驱动库。 2.6.6 Gcc AVR 工程配置 Gcc AVR 工程配置分为四大项: 1) Compiler:编译相关参数; 2) Assembler:汇编相关参数; 3) Linker:连接相关参数; 4) Debug:调试相关参数。 图 2.206 Gcc AVR 工程配置 1. Compiler Compiler 选项主要是编译相关的参数设置,在 Category 中包括了 General(通用配置)、 Warning Options(警告选项)、Debug/Optimization(调试与优化)、Code Generation Options (代码生成选项),以及 Target Specific Options(特定目标选项)。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 136 广州致远电子有限公司 General(通用配置) TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.207 General 1) 指定在用户路径搜索系统头文件。 2) Object Files Location:目标文件输出路径,默认在工程文件夹下的目标文件夹下。 3) Predefines:设置预处理符号定义。在这里写入一个符号,相当于在程序中的一个宏定 义。 4) Compile Options:显示编译器运行时的编译指导参数的名称。让您能够立即确认您的各 个编译选项。 Warning Options(警告选项) 产品用户手册 图 2.208 Warning Options ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 137 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 Suppress Warnings:禁止所有警告,选中后,所有警告设置都将失效。其它选项选中的 话则代表如果存在这种情况就发出警告。建议尽量不要关闭警告信息。好的代码不允许存在 警告,所以尽量让编译提示所有警告信息,从而改进程序中存在的问题。 Debug/Optimization(调试与优化) 图 2.209 Debug/Optimization 1) Optimization Level:优化的等级,有 disable,Level 1,Level 2,Level 3,Level s,级别越高, 优化程序越大,disable=不优化,Level s=2+优化代码大小,Level 3 优化并不总是最 好的。 2) Debug format:生成的调试文件格式,目前 TKStudio 支持 ELF/DWARF-2 格式的调试文 件,如果要进行调试,请选择该格式。 Code Generation Options(代码生成选项) 产品用户手册 图 2.210 Code Generation Options ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 138 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 这些配置主要针对与语言有关的参数。 Target Specific Options(特定目标选项) 图 2.211 Target Specific Options 主要设置 CPU 类型、寄存器顺序和与堆栈 SP 有关的设置,以及函数调用时跳转指针可 以跳转的位置设置参数。 2. Assembler Assembler 选项主要是汇编相关的参数设置,在 Category 中也包括了 General(通用配 置)、Warning Option(s 警告选项)、Debug/Optimization(调试与优化)、Code Generation Options (代码生成选项),以及 Target Specific Options(特定目标选项)。 General(通用配置) 图 2.212 Assembler-General 1) 指定在用户路径搜索系统头文件。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 139 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 2) Object Files Location:目标文件输出路径,默认在工程文件夹下的目标文件夹下。 3) Predefines:设置预处理符号定义。在这里写入一个符号,相当于在程序中的一个宏定 义。 4) Assembler Options:显示编译器运行时的汇编指导参数的名称。让您能够立即确认您的 各个汇编选项。 Warning Options(警告选项) 图 2.213 Assembler-Warning Options 该选项主要用来对某些情况下是否发出警告做出选择。建议尽量不要关闭警告信息。这 里警告配置选项比 Compiler 中要少了很多。 1) Suppress Warnings:禁止所有警告,选中后,则所有警告设置都将失效。 2) Don’t warn about signed overflow:不警告符号数的溢出。 3) Warn when differences alter for long displacements:对长跳转进行警告 Debug/Optimization(调试与优化) 产品用户手册 图 2.214 Debug/Optimization ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 140 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 该选项用来配置与输出调试格式有关的配置。如果需要调试代码一定要选择生成 DWARF2 格式的调试信息。 Code Generation Options(代码生成选项) 图 2.215 Code Generation Options 该配置用来设置编译时使用的语言,以及对堆栈的操作和是否输出列表信息。 1) Turn on listing:创建汇编列表文件,选择之后 Set listing details 为可选状态 2) Omit false conditionals:省略错误的条件 3) Omit debugging directives:省略调试的指令 4) Include high-level source:包含最高层的源文件 5) Include assembly:包含汇编文件 6) Include macro expansions:包含宏的展开 7) Omit forms processing:省略处理的框架 8) Include symbols:包含标号 9) Listfile path:设置生成的汇编列表文件的路径 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 141 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 Target Specific Options(特定目标选项) 图 2.216 Target Specific Options 该配置主要设 CPU 类型。 3. Linker Linker 选项主要是连接相关的参数设置,在 Category 中也包括了 General(通用配置)、 Include Object and Library Modules(目标文件和库模块)、Other Options(其它选项)。 General(通用配置) 图 2.217 General 该配置主要用来设置输出文件类型为可以执行文件还是库文件。以及 CPU 类型。是否 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 142 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 使用 C 库和数学库(math lib).以及输出时使用的连接脚本(一般情况下如果没有使用自定义的 段,一般都不要定义该连接脚本,使用默认即可,如果使用了某些自定义的段那就需要自己 编写连接脚本,有关连接脚本的书写可参考 AVR-GCC 帮助手册)。最后一个配置用来设置 输出文件的路径。 Include Object and Library Modules(目标文件和库模块) 图 2.218 Include Object and Library Modules 如果工程用到了其它的库,就需要在这里将库文件加入到工程里面来。否则会在连接时 出现符号没定义的情况。这个使用者必须要注意,在使用第三方库的时候,一定要加入进来。 Other Options(其它选项) 图 2.219 Other Options 主要用来设置一些全局符号表达式,以及段(主要是指自定义段)的开始绝对地址。以及 bss(未初始化数据段),data(数据段),text(代码段)的开始地址。以及输出映象文件的路径。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 143 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 4. Debug Debug 选项主要是调试相关的参数设置,在 Category 中包括了 General(通用配置)、 Software Simulation(软件模拟)、Hardware Emulation(硬件仿真)。 General(通用配置) 显示目标 CPU 的基本信息,提供调试文件的路径和当前使用的调试模式的设置。 图 2.220 General Software Simulation(软件模拟) 产品用户手册 图 2.221 Sofeware Simulation ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 144 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 1) Run to Main:选中该项,软件仿真开始后运行到 main 函数后暂停,等待用户操作。 2) Load Debug Info:在软件仿真时,加载调试信息。调试时务必将该项选上,否则将不能 进行调试。 3) Storage Configuration:配置存储器的类型、开始地址、大小和加载文件。  Type:该项选择虚拟存储器类型,可选择为 RAM 或 ROM  Start Address:要配置的虚拟存储器的开始地址。  Size:要配置的虚拟存储器的大小。  Load File:该项选择要载入虚拟存储器的文件。  DownLoad:选择在软件仿真调试前是否载入文件。Yes:仿真调试前加载文件; NO:不进行加载。 用户配置该项后,进入调试前,系统将文件加载到指定的虚拟存储器中。 Hardware Emulation(硬件仿真) 仿真器 驱动信息 图 2.222 Hardware Emulation 1) Run to Main:选中该项,硬件调试开始后,即将代码下载到目标板上后运行到 main 函 数后暂停,等待用户操作。 2) Load Debug Info:选中该项,在硬件调试时,加载调试信息。调试时务必将该项选上, 否则将不能进行调试。 3) Update Target Before Debugging:选中该项,调试之前,将代码重新加载到目标板上, 刷新存储器的内容。 4) Target Driver DLL:显示调试接口驱动信息 5) Add:点击可以添加仿真器驱动 6) Remove:将选择的驱动删除 7) Config:配置当前所选的仿真器 8) Flash:设置烧写参数 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 145 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 2.7 编译器 2.7.1 编译链 TKStudio 具备了丰富的编译器选项配置信息,对各种工具链的编译、链接、调试提供 了灵活的配置参数,对 MCS-51、ARM、AVR 等芯片都提供了支持,灵活多样的工具链, 这是优于国内其它厂商 IDE 的关键之一。主要有 Keil C51、SDCC 51、ARM GCC、ADS ARM、 Realview MDK、AVR GCC 等编译链。 2.7.2 编译工具设置 图 2.223 编译链 产品用户手册 图 2.224 编译工具设置 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 146 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 选择【工程】->【编译工具设置】,将弹出如图 2.224 所示对话框。在“选择编译工 具”选项中列出的仅仅是所选器件支持的编译工具,其他工具没有列出。设置工具的路径后, 选择“确定”。 在安装 TKStudio 工具链时,系统会自动搜索各工具链所在的路径,自动进行配置,如 果在安装 TKStudio 工具链时,系统没有搜索到工具链,之后则可以在<编译工具设置>对 话框中进行设置修改。 当前工程工具链是 Keil C51,则配置 C51 工具框内的参数,分别是 Keil 工具链安装目 录下的 BIN 目录、INC 目录、LIB 目录,可直接修改也可以通过它们右边的按扭进行修改。 RegFile 暂时保留,不用填写。 选择编译工具是指要选用的工具链,一般在新建工程时选择好,之后不再作修改,因为 每个工具链的语法不同,改变后因语法差异有可能造成编译无法通过。 工具安装目录用来设置当前工具链的路径,当前的工具链是 Keil C51 时,此项不用再 填写。对于其它工具链则要进行设置。按如下规则进行设置。  SDCC:TKStudio 安装目录\Build\SDCC\bin  ADS ARM:ADS 安装目录\Bin  Gnu ARM:TKStudio 安装目录\Build\GNUARM  Realview MDK(3.04 工具链):MDK 安装目录\ARM\BIN30,  Realview MDK(3.2x 工具链):MDK 安装目录\ARM\BIN31  GCC AVR:TKStudio 安装目录\Build\avr-gcc\bin 2.7.3 编译窗口 编译窗口显示的是编译工程的结果信息,在用户编译工程时会自动显示。一般显示的信 息有当前工程路径、目标配置、编译是否成功,如果成功则显示目标代码的大小信息,如果 不成功能则显示工程存在的错误和警告数,并提示错误的位置和原因。双击错误提示或点击 右键菜单【定位】,则可将光标定位到编辑区中错误的代码行。 产品用户手册 图 2.225 SDCC-编译成功 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 147 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.226 SDCC-编译失败 提示的信息格式会根据所选用的工具链不同而不同。 图 2.227 Keil-编译成功 2.8 调试器 TKStudio 调试器是一个功能强大的工具,它使您可以观察程序的运行时行为并确定逻 辑错误的位置。调试器包括一个高速模拟器,您可以使用它模拟整个系统,包括片上外围器 件和外部硬件。可利用多种调试方式。最为常用的调试方法,如设置断点或控制程序执行都 可以通过方便的鼠标点击来实现,同样,程序列表以及数据察看等都可以提供立即可视的界 面来显示,对于复杂和不可预料的需求,命令行命令接口可以提供用户对被调试系统的安全 访问和检查。程序经过调试、找到所有的错误后,修改源代码,重新编译,以一种标准格式 生成目标代码文件,比如 Intel HEX。这个目标代码将被存储在最终产品的非挥发存储器, 比如 EPROM 或 FLASH 中。 TKStudio 调试模块特点突出:  支持多模块、混合语言调试。  强大的程序和数据存储空间定位编辑、观察和修改(支持数据填充)功能,图形化 界面,通俗易懂。数据可按不同数制,不同类型显示,红色指示变化数据,非常方 便用户观察各种调试信息。  支持鼠标获取显示变量,这样可以缩短用户的开发时间,大大提高用户的开发效率。  强大的 C 语言特性支持。变量窗可观察修改联合、结构体、多维数组及其成员(成 员可单独查看),指示数据变化。支持 C 指针运算符“*”、“&”、“->”,可直接观 察变量的地址及指针的内容。如“&P2”,查看 P2 的地址及内容。  自动跟踪收集局部变量。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 148 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境  支持显示模块和符号信息,支持函数(子程序)定位。  各调试窗口支持多种数据格式:十进制(85)、十六进制(0X55、55H)、二进制 (01010101B)等格式。  SFR 寄存器和位窗口,根据仿真芯片的不同动态改变,并提示寄存器的主要功能和 用法。  增强的硬件调试功能  C 程序调试时可选择是否执行到“main()”函数,零起始时,单步、步越均一 步到位,决无 keil 的延迟。  智能识别“for(int i=0;i<10000;i++)”等指令,一步完成。  支持不运行跳转,方便子程序(函数)的调试。 在调试模式下,TKStudio 提供了大量的窗口和对话框供用户查看调试信息。 2.8.1 源代码窗口 在调试状态下,源代码窗口可以观察到很多的调试信息。 图 2.228 源代码窗口 例如:移动鼠标到 main 函数里的公共变量 g_count 处,就会出现一个小的提示窗口, 显示的就是在当前程序中变量 g_count 的值的大小(这里十六进制表示)。用户可以在调试 状态中随时下断点,非常方便用户调试程序。 2.8.2 断点管理 断点是一个信号,它通知调试器,在某个特定点上暂时将程序执行挂起。当执行在某个 断点处挂起时,我们称程序处于中断模式。进入中断模式并不会终止或结束程序的执行。执 行可以在任何时候继续。 断点模式可以看作一种超时。所有元素(例如,函数、变量和对象)都保留在内存中, 但它们的移动和活动被挂起了。在中断模式下,您可以检查它们的位置和状态, 以查看是 否存在冲突或 bug。您可以在中断模式下对程序进行调整。例如,可以更改变量的值。可以 移动执行点,这会改变执行恢复后将要执行的下一条语句。 断点提供了一种强大的工具,使您能够在需要的时间和位置挂起执行。与逐句或逐条指 令地检查代码不同的是,可以让程序一直执行,直到遇到断点,然后开始调试。这大大地加 快了调试过程。没有这个功能,调试大的程序几乎是不可能的。 要插入行断点,请在要设置断点的行旁边的灰色空白中单击。利用全功能的<断点管理 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 149 广州致远电子有限公司 >,可以处理更复杂的断点。 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.229 断点管理  表达式:它确定断点是命中还是跳过。当调试器到达该断点时,它会计算条件的值。只 有当条件满足时,断点才会命中。可以在某个位置断点处设置条件,只有当条件为真时, 才会中断执行。若断点表达式为一个特定代码地址(如函数地址或语句行号),则为执 行断点,每当程序运行到该地址时被暂停。执行断点必须设置在正确的代码地址处。若 断点表达式不是代码地址时即为条件断点。对于条件断点,每一条指令执行结束后重新 计算其逻辑表达式,若计算逻辑结果为假(0 值),继续执行程序,若计算逻辑结果为 真(非 0 值),程序执行被暂停。利用条件断点可以检查用户程序中的一些特殊错误。 使用条件断点可能会降低程序的执行速度。  计数: 使您能够确定在调试器中断执行之前命中断点的次数。在默认情况下,每次命 中断点,调试器就中断执行。通过设置命中次数,您可以让调试器每命中两次断点中断 执行一次,也可以每 10 次、每 512 次或任意选择的次数中断一次。程序中的某些 bug 不会在第一次执行循环、调用函数或访问变量时显现出来,这时候命中次数设置就很有 用了。有些时候,bug 直到重复 100 次或 1000 次时才显现出来。此时可以设置命中 次数为 100 或 1000 以解决问题。(以后支持)  命令:指定在命中断点时应执行的操作。默认情况下,调试器中断执行,但是您可以选 择打印一条消息或者运行一个宏。如果选择打印消息而不是中断,则断点的效果与 Trace 语句非常类似。这种使用断点的方法称为跟踪点。  访问方式:带有访问方式(读、写)标志的断点为存取断点,用于捕捉对于非法存储器 地址的存取操作。读—进行读操作时激活断点;写—进行写操作时激活断点。  定义:使设置生效  清除断点:清除当前断点  全部清除:清除全部断点  关闭:关闭<断点管理>对话框 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 150 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 2.8.3 调试窗口 进入调试状态的时候,可以观察到如图 2.230 示信息,这提示用户加载代码文件成功, 可以进行调试。 图 2.230 调试窗口 2.8.4 寄存器窗口 在调试过程中,寄存器窗口可实时观察各个状态和模式下的寄存器的值。寄存器的值改 变时,用深蓝色表示。用户可以通过双击某个寄存器的数值项,来修改寄存器的值。 图 2.231 寄存器窗口 2.8.5 特殊功能寄存器 在该窗口中显示特殊功能寄存器的值,用户可以对该寄存器的值进行修改。主要用于观 察各个端口和引脚的状态。右键菜单是对位域和地址栏的显示和隐藏的控制。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 151 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.232 特殊功能寄存器 2.8.6 命令窗口 命令窗口是 TKStudio 自带的脚本交互窗口,类似于 unix 的 shell 终端。在此窗口可以 直接输入内置命令或直接编写脚本。 图 2.233 命令窗口 命令窗口可以用来:  在命令窗口输入已有脚本模拟信号输出,支持与调试器同步的信号函数。  定制脚本,在命令窗口调用脚本,由脚本来配置或者启动一些外部插件,定制调试器和 编辑器的一些行为,并可进行动态拓展。(以后版本实现)。 2.8.7 观察窗 观察窗口只在中断模式下显示数据提示。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 152 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 调试器提供了很多变量窗口,这些窗口用于显示、计算和编辑变量与表达式。每个变量 窗口都是网格窗口,其中包含四列:“名称”、“数值”、 “类型”和“地址”。“名称” 列包含变量名称或表达式。“数值”、 “类型”和“地址”列显示变量或表达式的值、数 据类型和地址。 显示在网格中的信息类型取决于正在使用的变量窗口:  <局部变量>显示对于当前上下文或范围来说位于本地的变量。通常,这是当前正在执 行的过程或函数。调试器自动填充此窗口。  在<观察>中可以添加要观察其值的变量。此外,还可以添加变量以外的其他内容。您 可以添加调试器所能识别的任何有效表达式。 数值显示方式可以用右键菜单控制,选择是十六进制显示还是十进制显示,默认是十六 进制。 在设计模式下不能访问这些菜单项,也不能显示这些窗口。若要显示这些菜单项,调试 器必须正在运行或处于中断模式。 图 2.234 观察窗 在编辑器窗口选择右键菜单【添加变量”sec”到观察窗】。TKStudio 会自动选择光标位 置上的变量名添加到<观察#1>,如图 2.235 所示。 要删除一个变量,单击该行并按下 Delete 按钮即可。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 153 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.235 添加变量到观察窗 2.8.8 存储器窗口 存储器窗口是能够把芯片里的所有存储空间列举出来,根据不同的需要,选择要查看的 存储空间,存储空间有多个选择,例如:IDATA 空间,DATA 空间, XDATA 空间,CODE 空间。 图 2.236 存储器窗口 在调试过程中,按【步进】选项进行逐步的调试,打开 CODE 存储空间窗口,可以观 察到每执行一条指令,都会用绿色的背景覆盖当前正在执行指令的数据,可以让用户清晰地 知道当前正在执行到哪些指令数据,哪些指令数据是已经被执行过,哪些指令数据还没被执 行。打开 IDATA 存储空间窗口,可以观察到数据存储区的数据变化的情况,用户也可以修 改其中的内容,对用户调试来说,非常的方便灵活。为了用户方便查找地址位置,用户可以 直接在地址栏中输入地址位置,按“回车”就可用跳到要查找的地址位置,或者拉动滚动条, 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 154 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 就会在傍边弹出一个小提示窗口显示当前的地址数据,在查找地址位置时非常好用。在存储 窗口上单击右键菜单,如图 2.237 所示: 菜单项 复制 图 2.237 存储器窗口右键菜单 表 2.18 存储器窗口右键菜单 快捷键 Ctrl+C 图标 复制文本到剪贴板 描述 粘贴 Ctrl+X 从剪贴板粘贴文本 字节模式 字模式 长整型 浮点型 双精度数 显示 Ascii 码区 十六进制显示 无符号数 设置/取消读观察点 设置/取消写观察点 以一个字节为单位显示 以一个字为单位显示 以一个长整型为单位显示 以一个浮点型为单位显示 以一个双精度为单位显示 显示或隐藏 Ascii 码区 十六进制或十进制显示 用无符号数或有符号数表示 设置或取消读观察点 设置或取消写观察点 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 155 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 清除所有观察点 清除所有观察点 数据填充… 用特定的数据填充某个地址范围 修改存储器内容 修改特定存储地址的值 如果要改变存储器内容,将光标定位在要修改的地址处,选择右键菜单【修改存储器内 容,地址…】,将弹出如图 2.238 所示对话框。参照提示输入您想要设置的值,选择“确定” 即可。 图 2.238 修改存储器内容 如果要进行数据填充,选择右键菜单【数据填充…】,将弹出如图 2.239 所示对话框, 填好想要填充的地址和数值,选择“确定”即可进行数据填充。 图 2.239 数据填充 2.8.9 反汇编窗口 <反汇编窗口>显示与编译器所创建的指令对应的汇编代码。除汇编指令外,<反汇编 窗口>还可显示如下可选信息:  每条指令所在的内存地址。  程序集代码派生于的源代码。  代码字节 — 实际计算机或 MSIL 指令的字节表示形式。  内存地址的符号名。  对应于源代码的行号。 汇编语言指令由助记符(指令名称的缩写)和代表变量、寄存器以及常量的符号所组成。 每一条机器语言指令由一个汇编语言助记符代表,通常其后还跟有一个或多个变量、寄存器 或常量。 汇编语言代码严重依赖处理器的寄存器,同时使用<反汇编窗口>和<寄存器窗口> (利用它可看到寄存器内容)将很有好处。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 156 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 指令地址 代码行号 源代码 反汇编代码 菜单项 放置/移除书签 图 2.240 反汇编窗口 表 2.19 反汇编窗口右键菜单 快捷键 图标 描述 Ctrl+F2 在当前行放置书签或移除当前行的书签 插入/移除断点 F9 在当前行插入断点或移除当前行的断点 显示程序指针(PC)所在行 显示下一个即将执行的指令 显示当前地址源代码 转到编辑窗口,显示当前地址源代码 运行到当前行 Ctrl+F10 运行到当前行 设置程序计数器(PC) Ctrl+F12 设置 PC 指针的值为当前行 定位… 定位到特定地址 选择右键菜单【定位…】,将弹出如图 2.241 所示对话框。输入目的地址,选择“确定” 即可定位到目的地址所在的汇编代码行。 产品用户手册 图 2.241 反汇编窗口定位 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 157 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 2.8.10 串行窗口 <串行窗口>可以用于串行输入和输出。可以在没有外部硬件的条件下模拟 CPU 的 UART。模拟 CPU 的串行数据输出显示在这个窗口,在这个窗口您输入的字符串也将输入 到模拟 CPU 中。 图 2.242 串行窗口 表 2.20 串行窗口 菜单项 快捷键 按扭 描述 Ascii 显示模式 显示 Ascii 视图 Hex 显示模式 显示十六进制视图 清除窗口内容 清除窗口所有内容 设置„ 设置串口选项 连接串口 连接串口 关闭连接 关闭串口的连接 选择右键菜单【设置…】,将弹出<串行窗口设置>对话框,可对串行窗口进行设置。 串行窗口的设置当前版本(TKStudio 3.0.9)还未支持,以后版本会支持。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 158 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.243 串行窗口设置 2.8.11 调用堆栈 使用<调用堆栈>可以查看当前堆栈上的函数或过程调用。 <调用堆栈>显示每个函数的名称和编写它所用的编程语言。函数或过程名可能伴随有 可选信息,如模块名、行号、字节偏移量以及参数的名称、类型和值。可以打开或关闭这些 可选信息的显示。 一个黄色箭头标识执行指针当前所位于的堆栈帧。默认情况下,该帧的信息显示在源代 码编辑区、<反汇编窗口>、<局部变量>、<监视>和<自动>窗口中。如果想将上下文 更改为堆栈上的另一个帧,可以在<调用堆栈>中执行相应的操作。 图 2.244 调用堆栈 右键菜单可控制模块名、参数类型、参数名、参数值、行号、字节偏移量等的显示或隐 藏。 2.8.12 跟踪窗口 在进入调试环境里,跟踪窗口可以显示已经被执行过的指令的运行轨迹。这主要用于查 看程序运行中各种状态的连续变化,用来实时记录运行的程序轨迹,便于用户分析程序的运 行流程。 <跟踪窗口>是用于显示已执行过的程序指令,包括帧号、时标、反汇编指令、地址、 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 159 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 源指令,通过点击选择可使程序跟踪到当前指令,此时如果仿真器支持的话,<寄存器等窗 口>也会显示当前指令的相关信息。 图 2.245 跟踪窗口 在跟踪窗口中,用户可以非常清楚地看出程序运行轨迹。帧号栏-n(n=1,2,3„) 标记,它表明了程序执行的先后次序。“-1”表明该行是刚执行过的程序行,“-2”表明是 在“-1”前执行的那个程序行,依次类推。当鼠标点击某行程序时,弯曲的移动条就指到 某行程序,此时在右侧的寄存器窗口中可以看到当时执行这条指令的所有寄存器的状态信 息,时标栏目记录的是时刻信息,例如图 2.245 所示,语句 n++;指令执行的时间为 1.500us-1.000us=0.500us,语句 n &= 0x07;执行的时间为 1.000us。 点击右键菜单将弹出如图 2.246 所示对话框。输入想要转到的索引位置,选择“确定” 即可定位到相应的索引位置进行查看。 2.8.13 性能分析器 产品用户手册 图 2.246 跟踪窗口转到 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 160 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 性能分析(Performance Analyzer)用来分析代码和数据的执行效率,并以统计图形的方式 表现出来。性能分析是 TKStudio 一项杰出的调试功能,对于快速定位死区代码、死区变量, 帮助和分析优化代码起到了关键的作用。 性能分析器(代码)显示了模块/函数、周期数、毫秒数、耗时比率、耗时比率槽。 图 2.247 性能分析器-代码 性能分析器(数据)显示了模块/函数/变量、所属空间、访问次数、访问周期数、访问 比率槽。 图 2.248 性能分析器-数据 性能分析除了显示以上的内容外,还可以选择显示方式(选择显示所有模块的信息或显 示所有函数的信息),可以配置是否观察某一条目,可以选择统计清零以重新开始分析。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 161 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.249 性能分析器(代码)配置 图 2.250 性能分析器(数据)配置 2.8.14 覆盖分析器 覆盖分析包括代码覆盖和数据覆盖。 代码覆盖即代码执行覆盖分析,是指系统把程序中的各个功能函数的执行情况,以百分 比的形式显示出来,便于用户直观地观察到代码的执行覆盖情况。 代码覆盖窗口显示了模块/函数、指令总数、已执行指令数、已执行百分比、起始地址、 结束地址。还可以配置是否观察某一条目。这里的指令是指汇编指令,C 语言文件可以通过 反汇编窗口查看其汇编指令。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 162 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 图 2.251 代码覆盖 代码覆盖在编辑窗口的直观表现就是加彩显示。 加彩显示即加彩运行轨迹显示,是指系统把执行过的程序指令用彩色标注出来。默认是 在程序行的前端以绿色标注,用户可以很清楚地看到哪些程序执行过,哪些程序还没有执行。 用户也可以改变加彩的颜色。 数据覆盖即数据执行覆盖分析,是指系统把程序中的各个变量的执行情况,以是否被访 问的形式显示出来,便于用户直观地观察到数据的执行覆盖情况。 数据覆盖显示了模块/函数/变量、变量地址、所属空间、读访问触发、写访问触发。还 可以配置是否观察某一条目。当变量被访问时,就会改变相应的访问触发状态,并以高亮显 示。 图 2.252 数据覆盖 覆盖分析除了显示以上的内容外,还可以选择显示方式(选择显示所有模块的信息或显 示所有函数的信息)。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 163 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 2.8.15 外围设备 当进入调试模式时,【外部设备】下就出现一些关于外部设备的菜单项,根据不同的目 标芯片,通过装入不同的 CPU 动态驱动库文件来实现对各种单片机外围集成功能的仿真。 下图是 CPU 为 NXP 的 P89LPC932 时的外设设备菜单。由于不同的 CPU 菜单都不同,这里 就不作一一讲解了。 2.9 默认快捷键 2.9.1 文本操作 图 2.253 外围设备 表 2.21 文本操作快捷键 命令 快捷键 说明 分行 插入/移除书签 清除书签 删除 向后删除 格式化选定内容 产品用户手册 Enter、Shift + Enter 插入一个新行 Ctrl + F2 在当前行插入或移除书签 Ctrl + Shift + F2 移除当前文档中所有书签 Delete 删除光标右侧的一个字符 Backspace、Shift + Backspace 删除光标左侧的一个字符 Alt + F8 根据周围的代码行,正确缩进选定的代码行 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 164 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 插入制表符 Tab 将选定行右移一个制表位,如果没有选定行,则 将当前行右移一个制表位 左缩进 Shift + Tab 将选定行左移一个制表位,如果没有选定行,则 将当前行左移一个制表位 剪切行 Ctrl + L 将所有选定的行剪切到“剪贴板”,若尚未选定 任何内容,则将当前行剪切到剪贴板 删除行 Ctrl + Shift + L 删除所有选定行;如果没有选定行,则删除当前 行 上开新行 Ctrl + Enter 在插入点之上插入一个空行 行转置 Ctrl + T 将当前行与上一行交换位置,如果连续按,则连 续调换当前行与未调换前的上一行的位置 转换为小写 Ctrl + U 将选定文本更改为小写字符 转换为大写 Ctrl + Shift + U 将选定文本更改为大写字符 改写模式 Insert 在插入和改写插入模式之间切换 字删除直至结尾处 Ctrl + Delete 删除插入点右侧的单词 字删除直至开始处 Ctrl + Backspace 删除插入点左侧的单词 复制 剪切 粘贴 撤消 重做 十六进制编辑 Ctrl + C Ctrl + X Ctrl + V Ctrl + Z Ctrl + Y Ctrl + H 复制选定的文本到剪贴板 剪切选定诉文本到剪贴板 粘贴剪贴板的内容 撤消上一次操作 重做上一次撤消的操作 转换至十六进制视图 2.9.2 文本导航 表 2.22 文本导航快捷键 命令 左移字符 向左键 快捷键 说明 将光标向左移动一个字符 右移字符 文档结尾 文档开始 向下移动一行 向上移动一行 行尾 产品用户手册 向右键 Ctrl + End Ctrl + Home 向下键 向上键 End 将光标向右移动一个字符 将插入点移动到文档的最后一行 将插入点移动到文档首行 将光标下移一行 将光标上移一行 将光标移至当前行的结尾 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 165 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 行首 下一书签 上一书签 向下翻页 向上翻页 向下滚动一行 向上滚动一行 下一字 上一字 2.9.3 文本选择 Home F2 Shift + F2 Page Down Page Up Ctrl + 向下键 Ctrl + 向上键 Ctrl + 向右键 Ctrl + 向左键 将光标移至当前行的开头 移动到文档中下一个书签处 移动到文档中上一个书签处 在编辑器窗口中向下滚动一屏 在编辑器窗口中向上滚动一屏 将文本向下滚动一行 将文本向上滚动一行 将插入点向右移动一个单词 将插入点向左移动一个单词 表 2.23 文本选择快捷键 命令 快捷键 向左扩展一个字符 Shift + 向左键 说明 将光标左移一个字符以扩展所选内容 向右扩展一个字符 Shift + 向右键 将光标右移一个字符以扩展所选内容 文档结尾扩展 文档开始扩展 向下扩展一行 向上扩展一行 扩展到行尾 扩展到行首 全选 扩展到下一字 扩展到上一字 向下扩展一页 向上扩展一页 Ctrl + Shift + End Ctrl + Shift + Home Shift + 向下键 Shift + 向上键 Shift + End Shift + Home Ctrl + A Ctrl + Shift + 向右键 Ctrl + Shift + 向左键 Shift + Page Down Shift + Page Up 选择从插入点到文档最后一行的文本 选择从插入点到文档首行的文本 从插入点位置开始,将选定文本向下扩展一行 从插入点位置开始,将选定文本向上扩展一行 选择从插入点到当前行行尾的文本 选择从插入点到当前行行首的文本 选择当前文档中的所有内容 将选定内容向右扩展一个单词的位置 将选定内容向左扩展一个单词的位置 将选定内容向下扩展一页 将选定内容向上扩展一页 2.9.4 搜索替换 表 2.24 搜索替换快捷键 命令 查找 快捷键 Ctrl + F 显示查找对话框 说明 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 166 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 查找下一个 查找上一个 替换 2.9.5 编译调试 F3 Shift + F3 Ctrl + R 查找下一个匹配的字符串 查找上一个匹配的字符串 显示替换对话框 表 2.25 编译调试快捷键 命令 构建目标工程 启动/停止调试 运行 忽略断点运行 停止运行 步进 步越 步出 运行到当前行 跳转到当前行 插入/移除断点 2.9.6 全局操作 快捷键 F7 Shift + F5 F5 Ctrl + F5 Shift + Esc F11 F10 Shift + F11 Ctrl + F10 Ctrl + F12 F9 说明 编译修改过的源文件并链接产生输出文件 启动或停止调试模式 运行程序,直到遇到下一个断点 忽略断点,直接运行程序 停止运行程序 在执行进入函数调用后,逐条语句执行代码 执行下一行代码,但不继续执行任何函数调用 执行当前执行点所处函数的剩余行 在中断模式下,从当前语句继续执行代码,直到 执行到选定的语句。“当前执行行”边距指示符 出现在“边距指示符”栏中 不执行中间代码,直接跳转到当前行 在当前行插入或移除断点 表 2.26 全局操作快捷键 命令 新建 快捷键 Ctrl + N 说明 打开新建文件或从模板中新建工程对话框 打开 Ctrl + O 弹出打开文件对话框 保存 Ctrl + S 保存当前文件 打印 Ctrl + P 显示打印对话框,可以在其中选择打印机设置 2.10 客户服务 我们的产品开发部门在努力做好产品的同时,也为您提供了完善的售前售后服务。在我 们的网站上,您可以免费下载到我们的产品,也能够在线观看我们的应用软件的界面,并能 够随时下载我们最新整理的常见问题。当然,碰到任何困难需要求助,您可以直接向我们的 工程师寻求技术支持。我们的客户支持人员将会对您的问题进行彻底的跟踪解决。您可以在 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 167 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 我们的网站随时查看问题的反馈。 网站:http://www.embedtools.com/pro_tools/emluator/studio.asp 论坛:http://www.zlgmcu.com.cn/index.asp?boardid=43&page=1 电话:(020)22644398 28267805 邮箱:tkstudio@zlgmcu.com 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 168 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 3. FAQ 1) 问:什么原因造成反应速度慢,有明显的滞后现象? 答:引起此现象是因为内存不足,加大内存即可解决此问题。 2) 问:进入调试运行后,无法退出调试,怎么解决? 答:如果当前处于运行状态是无法直接退出调试的,必须先停止运行。点击 ,然后 再点击 即可退出调试。 3) 问:调试的时候不能进入到 C 界面,一直停留在汇编界面,怎么解决? 答:因为调试信息没有被加载。确保配置好编译器输出调试信息,检查调试镜像路径正 确与否,最后,一定要让 tkstudio 加载调试信息。 4) 问:怎样保存自定义风格吗? 答:设置好后,打开系统所在盘下的 Documents and Settings,找到当前用户,打开隐藏 文件夹 Application Data 下的 TKStudio,可以看到有个 styles.xml 文件。把它拷贝一份放在 TKStudio 安装目录下的 EStyle 文件夹下,改个名比如 Mystyle.xml。然后在 TKStudio 安装 目录下找到 McuDev.ini 打开,在 ESTYLE 项中加上 STYL6=EStyle\Mystyle.xml("我的风格>") 保存。 5) 问:从 ADS1.2 导入到 TKStudio 必须注意什么? 答:首先编译工具必须选择“ADS 1.2 for ARM”,然后要保证 ADS 工程文件(.mcp),导 出的 xml 文件以及和 TKStudio 工程文件 xmp 在同一个目录下。 6) 问:支持哪些仿真器? 答:目前 TKS 支持符合 RDI 接口标准类型的所有仿真器。如 TKScope 全系列。 7) 问:可以和 proteus 联合仿真吗? 答 : 可 以! 加 载方 式就 是 在 TKStudio 安 装 目 录 下 的 McuDev.ini 文 件 里 面 加 入 TDRV7=D:\IDE\Keil\C51\BIN\VDM51.dll ("Proteus"),配置工程的调试目标为 Proteus!其中 “D:\IDE\Keil”是指您的 Keil 安装目录。 8) 问:是不是不支持 TKStudio2.5 的工程了? 答:可以这么说,因为 2.5 跟 3.0 版本区别太大了。在工程管理方面我们做了更多工作, 使用了更通用的工程文件格式。 9) 问:安装过程中出现类似“安装包试图定位 D:,但是不能找到它。”,如何解决? 答:点击【开始】->【运行】,输入“subst D: %TEMP% ",重启再安装。 10) 问:使用 MDK 工具链编译并进行软件仿真时出现加载地址不正确的情况,如何解决? 答:那是因为在连接时没有使用--entry 连接参数。如果使用 TKStudio 自动产生分散加 载文件,而没有定义--entry 参数,默认情况下将使用--entry 0x00 参数,如果用户需要,可 以在工程配置属性对话框中“连接”属性页中的其它控制中加入--entry 参数(该参数后可以 是地址,也可以是符号,符号必须导出,在汇编中使用 EXPORT SYMBOL)。如果用户使用 自己编写的分散加载文件则必须加入--entry 参数否则就会出现加载地址不正确的情况。 11) 问:用 ADS 编译工具,选用软仿真,在 SOFTWARE SLIMULATION 选项下有个要加 INIT 文件,这个该怎么写? 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 169 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 答:该 INIT 文件,是在运行设备之前,对设备进行的初始化工作。一般情况下不需要。 12) 问:为什么按下 Tab 键,编辑器将它变成了空格键? 答:因为空格更具备移植性和平台无关性,很多人对 tab 键的宽度设置是不同的,这导 致同一代码在另一台电脑或另一个软件中格式就惨不忍睹,因此我们选择在任何情况下都表 现稳定的空格键。 这 里 只 列 出 了 一 部 分 FAQ , 更 多 的 FAQ 详 情 请 参 考 TKStudio 论 坛 http://www.zlgmcu.com.cn/。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 170 广州致远电子有限公司 TKStudio IDE 用户手册 TKStudio 集成开发环境 4. 免责声明 此用户手册的著作权属于广州致远电子有限公司。任何个人或者是单位,未经广州致远 电子有限公司同意,私自使用此用户手册进行商业往来,导致或产生的任何第三方主张的任 何索赔、要求或损失,包括合理的律师费,由您赔偿,广州致远电子有限公司与合作公司、 关联公司不承担任何法律责任。 广州致远电子有限公司特别提请用户注意:广州致远电子有限公司为了保障公司业务发 展和调整的自主权,广州致远电子有限公司拥有随时自行修改此用户手册而不需通知用户的 权利,如有必要,修改会以通告形式公布于广州致远电子有限公司网站重要页面上。 产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD. 171

    Top_arrow
    回到顶部
    EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱bbs_service@eeworld.com.cn 或通过站内短信息或QQ:273568022联系管理员 高进,我们会尽快处理。