MDK使用手册

上传人:飞****9 文档编号:127618437 上传时间:2020-04-04 格式:PDF 页数:35 大小:687.48KB
返回 下载 相关 举报
MDK使用手册_第1页
第1页 / 共35页
MDK使用手册_第2页
第2页 / 共35页
MDK使用手册_第3页
第3页 / 共35页
MDK使用手册_第4页
第4页 / 共35页
MDK使用手册_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《MDK使用手册》由会员分享,可在线阅读,更多相关《MDK使用手册(35页珍藏版)》请在金锄头文库上搜索。

1、陈吏弘陈吏弘 13425121935 glidz MDK 使用手册使用手册 设计手册设计手册 V1 0 设计 陈吏弘设计 陈吏弘 时间 时间 2012 06 01 陈吏弘陈吏弘 13425121935 glidz 目目 录录 一 序 3 二 MDK支持平台 3 三 MDK工程创建介绍 3 3 1 创建一个工程Test 5 3 2 工程配置 11 四 MDK加Ulink2 调试 25 五 MDK实现RAM调试 31 陈吏弘陈吏弘 13425121935 glidz 一 序一 序 给予 ARM 的开发会越来越多 这个过程也会有越来越多的工程 师需要学习相关的技术知识 这里主要是列出 MDK 使用的

2、一些实践 操作 为新用户认识和使用 MDK 提供一个参考手册 其实在 MDK 自带的帮助文档里也是有相当多的介绍资料 建议用户在使用过程遇 到问题是可以考虑阅读 MDK 自带的帮助文档 二 二 MDK 支持平台支持平台 MDK 是 Keil For ARM 的软件集成开发环境 对于习惯使用集成 开发环境的工程师 MDK 的集成开发环境还是挺友好的 不过本人 建议软件开发如果条件合适还是使用 gmake 更为灵活 MDK 主要是针对 ARM7 ARM9 Cortex M 系列的处理器 如 果你选择的是更为高端的处理器 那么请使用其它编译器 例如 ARM 公司提供的专业编译器 当然还有很多第三方的

3、工具 三 三 MDK 工程创建介绍工程创建介绍 下面以一个实际操作的例子 来创建一个工程 如下图是打开的 MDK 软件截图 如果你是初次打开 MDK 那么通常工程中会打开一个示例工程 这个你可以把它关闭 关闭的方法是菜单 Project Close Project 就可 以了 陈吏弘陈吏弘 13425121935 glidz 工程管理工程管理 编辑窗口编辑窗口 编译输出编译输出 工程管理窗口工程管理窗口 如果你打开的环境中没有 那么可以在菜单 View Project Windows 打开 这里还可以打开 Books functions Templates 窗口 这几个窗口共用一个视窗 所以如

4、果要查看不同的 内容可以在下面点选切换 如图中红圈部分 编辑窗口编辑窗口 这个窗口当你双击你的源代码文件时 就会打开显示 并且可以再这里编辑你的源代码 当然如果你有其它更好的编辑工具 也可以不在这里编辑 编译输出窗口编译输出窗口 这个窗口可以显示编译过程的信息 例如编译当 前状态 警告信息 错误信息 代码量 数据量等等 如果你的环境 没有输出窗口 那么仍然可以在菜单 View Build Out Windows 打开 MDK 工具打开的工作环境大概是这样子 这里补充说一点关于 Templates 的使用问题 实际上可能很多的 工程师都没有去关注或者真真去使用 Templates 那么这是一个什

5、么 陈吏弘陈吏弘 13425121935 glidz 东西呢 其实这是一个非常好的工具 虽然它还不是很强大 当确实 还是挺有用的 它可以让你轻松的实现设计代码复用 而且是快速的 复用 你可以把一些设计代码作为一个 Templates 在你新的工程中 需要使用的时候就可以快速的调入 这个调入是把你的代码完成的拷 贝到你的代码文件中 而不是一种引用 不过我没有发现这些 Templates 是存放在那些位置的 这样对管理来说还不是很好 但是 对于个人来说已经很不错了 不适用版本管理 所以在公司适用 版本变动可能就会有版本不同意的问题 管理版本统一比较麻烦 3 1 创建一个工程 创建一个工程 Test

6、 创建工程 在菜单 Project New uVersion Project 然后弹出的对 话框需要你输入工程的名称 如下图 陈吏弘陈吏弘 13425121935 glidz 工程名称我们就输入 Test 然后保存 如果你的当前路径下已经 存在一个这样的工程 那么它会提示你是否替换原有的工程 保存完 之后会弹出一个新的设备选择对话框 如下图 这里需要你选择你这个工程使用的是那一款芯片 在 MDK 中基 本上所有的芯片都已经列出 你可以直接根据公司进行选择你需要的 芯片型号 如果你使用的芯片型号非常新 那么有可能在列表中 没 有 如果是这样你还可以通过选择类似的型号或者直接选择 ARM 公 司下

7、的 ARM Cortex M 内核型号 这样也是可以的 这里示例选择 STM32F103C4 型号 选择之后 接着会提示你是 否需要拷贝启动代码 如下图 陈吏弘陈吏弘 13425121935 glidz 建议拷贝 这样你就不需要自己去设计这部分启动代码了 当然 这里的启动代码可能不是你需要的 但是你还是可以自行根据实际使 用情况进行修改 如果在你当前路径下 这个文件已经存在 那么还 会提示你是否覆盖 之后工程就创建完成了 如下所示 创建工程的一级目录是 Target 1 二级目录是 Source Group 1 这 两个目录都是自动创建的 名称的修改 选择按 F2 就可以修改了 另外还可以添加

8、新的二级目录 但是在 MDK 中仅仅支持二级目录 所以如果你的目录树比较深建议你使用 gmake 工具 或者调整目录 级别 下面我们就这个创建的工程进行编译 看看结果是什么 这里我 陈吏弘陈吏弘 13425121935 glidz 们可什么都没有修改 编译方法编译方法 1 通过菜单Project Bulid target 或者Rebuild all target files来实 现 2 选择工程 右键 在弹出的菜单中选择 Rebuild all target files 或者 Build target 实现 对刚创建的工程编译后 输出信息如下 图中编译时有一个警告和错误 警告可以先不管 我们先

9、看错误 错误内容如下 Test axf Error L6411E No compatible library exists with a definition of startup symbol main 陈吏弘陈吏弘 13425121935 glidz 这个错误中有一个 main 符号 所以 不用想多 这个错误就 是在你的工程中没有 main 函数 因为 C 程序的入口是 main 函数 没有 main 函数显然就不是一个完成的程序 所以接下来在工程中添 加一个 c 文件 完善 main 函数 新建文件在菜单 File New 这个 时候右边的编辑框就可以正常编辑了 输入如下代码 inclu

10、de stdio h Int main Printf 你好 n Return 0 然后把文件保存为 Test c 选中工程中的二级目录 右键 弹出的菜单中选中添加文件到目 录中 如下图 陈吏弘陈吏弘 13425121935 glidz 添加完 Test c 到工程后 我们再次编译工程 这是输出信息如下 提示中还有一个错误 这个错误是说在 startup stm32f10 x ld o 文 件中用到 SystemInit 符号 但是这个符号没有定义 所以打开 startup stm32f10 x ld s 文件 找到使用这个符号的代码 如下 Reset Handler PROC EXPORT R

11、eset Handler WEAK IMPORT main IMPORT SystemInit LDR R0 SystemInit BLX R0 LDR R0 main BX R0 ENDP 这里确实有使用到 SystemInit 符号 怎么办 简单的办法就是把 这两条指令删除 或者你指定在 C 文件中定义一个符号 函数 这里我们就在 Test c 中建一个空函数 Void SystemInit void 然后再次编译 这是输出内容如下 陈吏弘陈吏弘 13425121935 glidz 终于看到 Program Size Code 3196 Ro data 280 RW data 12 ZI

12、data 1876 Test axf 0 Error s 0 Waring s 到这里我们的工程创建 编译整个就已经完成了 接下来 C 代 码的设计问题就是工程师们仁者见仁 智者见智的事情了 3 2 工程配置 工程配置 前一节完成了整个工程的创建以及编译 但是我们都是采用默认 的配置 这样肯定不能够满足我们自主的愿望 所以对于工程的配置 摆上了我们的桌面 下面一起看看如何对我们创建的工程进行配置 打开配置菜单 有两种方法 1 在菜单 project Option for Target Target 1 2 选择工程 右键 快捷菜单中选择 Option for target Target 1 弹

13、出配置向导如下图所示 陈吏弘陈吏弘 13425121935 glidz 在这个配置向导中 有很多子选项 列举如下 Device Target Output listing User C C Asm Linker Debug Utilities Q 其中 Device 在我们创建工程时选择芯片型号的 时候已经设定过 所以弹出这个向导时默认选择的是 Target 当然这 里你也是可以重新选择 Device 即芯片型号 Target 选项卡选项卡 在 Target 选项卡里可以配置以下内容 分别是 设定晶体时钟 设定是否使用操作系统如 MDK 自带的 RTX 设定系统显示内容存放文件路径及名称 这个

14、不太清楚用法 默 认的存放文件可以在安装路径下找到 但是不是文本文件没有详细研 究 我们可以使用默认配置 陈吏弘陈吏弘 13425121935 glidz 设定使用交叉优化模式 设定使用微库 默认是标准库 标准库与微库是有区别的 用户 可以自行选择 最后就是定义片内与片外的 ROM 和 RAM 选择型号的时候 片内的 ROM 与 RAM 都已经定义好 通常并不需要用户再次定义配 置 Output 选项卡选项卡 Output 选项卡可以配置以下内容 分别是 设定目标存放路径 指定生成可执行文件名 指定是否生成调试信息 指定是否生成 hex 文件 陈吏弘陈吏弘 13425121935 glidz

15、指定是否产生 browse 信息 这个在 debug 的时候 打开 source browse windows 需要这项选择 指定是否创建批处理文件 指定是否生成 lib 文件 Listing 选项卡选项卡 Listing 选项卡可以配置以下内容 分别是 设定存放路径 指定输出页宽度 长度 指定生成汇编 lst 信息 同时指定是否包含交叉参考信息 可以指定是否生成 C 预处理信息 指定是否生成链接信息 同时可以选择是否包含存储映射 符号 调用层次关系 交叉参考信息 Size 信息 总体信息 未使用 Sections 陈吏弘陈吏弘 13425121935 glidz 信息 Veneers 信息

16、User 选项卡选项卡 用户选项卡 主要是用来实现用户在编译器工作前后做的一些事 情 这里都是指定运行一些程序 这样可以实现一些代码设计传递时 的保护机制 这里不做太多介绍 C C 选项卡选项卡 陈吏弘陈吏弘 13425121935 glidz C C 选项卡可以配置以下内容 分别是 预处理符号定义 建议不要在工程中使用这些定义 语言及代码编译参数定义 优化级别 优化时间与空间的选择 指定非对齐数据采用多次访问 指定为每个函数生成一个独立的 section 指定使用标准 ANSI C 语法 指定枚举类型总是整形 指定字符型默认是带符号的 指定只读部分是位置无关 指定读写部分时位置无关 陈吏弘陈吏弘 13425121935 glidz 指定警告输出 可以使不输出也可以全部输出 或者采用默 认设置 指定包含的路径 其它编译参数输出栏 此外 所有的配置 都在最下面框框中显示出来 这样你可以看 到实际在编译时使用的参数情况 Asm 选项卡选项卡 汇编选项卡与 C C 选项卡类似 不过汇编选项卡会简单很多 可以配置内容如下 条件汇编符号定义 语言及代码编译参数定义 只读部分位置无关 陈吏弘陈吏弘

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号