已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 1 keil mdk4.keil mdk4.6 60+jlink v80+jlink v8基于基于lpc1788lpc1788的调试的调试v1.v1.1 1 1 1 调试具备的最基本条件调试具备的最基本条件 1.1 首先应安装好keil mdk编译器 上网下载keil mdk的最新版本 (要求版本最好4.6以上, 因为此 文档是基于4.6版编写的,目前最新版本为4.7),如已经含有破解补 丁最好,如没有,则还需下载破解补丁,否则编译代码长度和使用年 限会受限制,一般最新版本没有破解补丁,但你可下载低版本的破解 补丁,按照破解说明做破解即可。 1.2 其次要安装好j-link的驱动 j-link的驱动,一般购买j-link arm jtag仿真器(现在固件最 新版为v9)时,都会带一张含驱动程序的光盘,按照光盘中的驱动 安装说明安装即可,但我个人建议你安装最新的驱动,最新的驱动到 segger官网即可免费下载,下面是我下载最新的驱动的地址: /cms/jlink-software.html。 1.3 目标板、仿真器和pc机间连接 首先将仿真器的jtag口连接到目标板的调试接口, 其次将目标 板上电,最后,将仿真器的usb口连接到pc机上。此时电脑会告诉 你发现新硬件并自动安装新的驱动。 安装完成后会告诉你新驱动已安 装完成。至此,准备工作已完成,接下去的工作是新项目的建立、代 码编写、项目配置(包含仿真器的选择等)、编译项目、调试项目。 2 2 新项目的建立新项目的建立 个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 2 2.1 首先选择菜单project 下的new vision project.项,见图1。 图1 选择菜单project 下的new vision project.项 2.2 选择new vision project.项后keil vision 4将打开一个项目 保存对话框,见图2。 图2 项目保存对话框 在这个对话框处,你可选择新建项目保存路径或保存位置,建议 保存到自己熟悉的位置,以便日后查询;项目名称建议选择你要实现 功能的简称 (如你要驱动led灯, 则可将项目名称定为gpio_led) 。 选择好保存路径后,在“文件名(n):”对应栏中输入希望新建项目 的名字,即可创建一个新的项目。我选择保存路径为保存路径为d: gpio_led gpio_led.uvproj,见图3。 个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 3 图3 新项目保存路径 点击图3中“保存”按钮,则会弹出选择cpu类型对话框,选择厂 商“nxp(founded by philips)”下面的“lpc1788”,见图4。 图4 选择cpu类型 个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 4 点击“ok”即可。 会弹出需要复制启动文件到项目文件夹和添加文 件到项目对话框, 见图5, 点击“是” 即可, 至此一个项目新建完成 (注: 对于一些设备而言,keil vision需要用户手动地输入额外的参数)。 图5 复制启动文件到项目文件夹和添加文件到项目对话框 新项目建完后,keil vision环境中项目窗口显示见图6。 图6 项目窗口显示新建项目 2.3 此项点旨在告诉读者一个项目需要链接的文件,也为接下来的 项目配置打下伏笔。打开一个驱动led的例子程序。见图7。 个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 5 图7 项目视窗中一个项目需要链接的文件 3 3 项目配置项目配置 3.1 进入项目配置 选择“project”下的“options for target flash”选项,见图8。 图8 选择“project”下的“options for target flash”选项 个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 6 3.2 选择“options for target flash”选项后弹出项目配置对话 框,或者目标flash或ram选项,见图9。 图9 目标flash或ram选项 此次仅对几个关键项点作介绍,以后版本更新时再做详细介绍, 这几个关键项点是:(1) target(目标选项);(2) output(输出选 项);(3) debug(调试选项);(4) utilities(工具选项)。 3.2.1 target(目标选项)设置,我仅更改了晶振“xtal(mhz)”频率, 和目标板晶振频率一致, 也可不做修改, 默认即可, 其它项采用默认, 也可进行优化修订,这个以后再做介绍。见图10。 个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 7 图10 “xtal(mhz)”频率改为24 3.2.2 output(输出选项)设置,按图11选择,选择创建扩展名为 hex,文件保存路径选择按图11上的按钮,选择hex文件保存位置, 建议保存在项目所在的文件夹下建议保存在项目所在的文件夹下。 图11 output(输出选项)设置 个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 8 3.2.3 debug(调试选项)设置,硬件仿真“use:”选择见图12。 图12 硬件仿真“use:”选择 硬件仿真“use:”选择完成后,选择好用于硬件仿真的硬件见图13。 图13 选择好用于硬件仿真的硬件 个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 9 点击硬件仿真处的按钮,则会弹出仿真硬件设置界面,如果连接 成功,则会弹出硬件相关信息,可设置项按图14设置。 图14 仿真硬件设置界面及相关设置 debug(调试选项)的最基本设置(即以上设置)。 debug(调试选项)的高级设置 高级设置,就是如何在keil环境下让调试程序在ram中运行,如此 做的目的就是避免mcu本身flash受擦写次数的限制, 以及避免新手在 学习过程中很快导致mcu结束生命,给初学者带来不必要的困扰(更 换新器件是需要成本的,同时更换mcu也不是一项简单的工作)。但 此项设置不是一句两句话能够写完的, 同时此文件版本是在v1.0版本 上更新的,v1.0版本debug(调试)设置是基于默认在flash中进行 个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 10 的,故为了不影响版本升级后的文档的可读性和延续性,将单独加一 项对此项设置作详细说明,见本文档第7项。 3.2.4 utilities(工具选项)设置,按图15设置即可。 图15 utilities(工具选项)设置 至此,项目配置的几个关键项点简单设置完成。 4 4 代码编写代码编写 代码编写这里就不赘述了(建议初学者买块开发板,会有详细 例程;例程的软件结构还是相当具体的)。 5 5 编译项目编译项目 5.1 编译快捷工具栏见图16。 图16 编译快捷工具栏 个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 11 :编译当前文件。 :仅编译已修改的文件。 :编译所有文件,我习惯使用这个。 :这个不做介绍。 :停止编译当前文件。 :程序下载到目标板flash区。 : 配置目标选项工具, 即项目配置快捷工具, 点击此快捷工具, 即可进入“options for target flash”界面。见图17。 图17 “options for target flash”界面 个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 12 :项目部件管理快捷工具。使用可参考百度文库中文件“keil mdk 3.5 jlink v8 在stm32中sram 调试成功方法成功.pdf”,链 接地址:/view/0ccb13fffab069dc502201af.html 文章介绍的还是比较具体的,这里我就不在赘述了。以后有更深 。 刻的理解后再在此处更新。 6 6 调试项目调试项目 6.1 调试快捷工具栏见图18。 图18 调试快捷工具栏 :进入调试界面。 :设置断点。光标设到要设计断点的代码行,单击此按钮, 即为该代码行设置了断点,再次单击,则取消所设的断点。 :使能或禁止断点。将光标定位到已经设置了断点的代码 行处,单击此按钮,该断点被禁止,再次单击此按钮,断点使 能。 :使能/禁止所有断点。 :取消所有断点。 :打开或关闭工程视图。 :项目配置快捷工具。点击此工具,则会弹出配置界面, 见图19。 个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 13 图19 配置界面 (1) 编辑选项卡(editor):用来设置一些编辑信息,比如缩进的 设置,显示行号设置,界面显示效果等等。 (2) 颜色和字体(colors /* 无符号8位整型变量*/ typedef 个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 14 signed char int8; /* 有符号8位整型变量*/ typedef unsigned short uint16; /* 无符号16位整型变量*/ 然后在其它模块中都是这样定义一个无符号8位整形变量: uint8 test; /定义变量 这样有一个什么问题呢?就是uint8这个虽然是用户定义的关键 字,但是它并不能像系统关键字那样高亮显示。怎么办呢?完全 有办法解决,而且就是在这个标签卡中就可完成。选择“user keywords”后,见图20。 图20 选择“user keywords”项后显示 设置方法如下: 个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 15 a) 在图20左侧窗口选择文件类型,比如c/cpp editor files; b)在右侧窗口点击按钮,新建一个用户关键字编辑框,输入用 户定义的关键字,比如uint8,见图21。这样在程序代码中,所 有的uint8都会高亮显示。 图21 新建一个用户关键字uint8 (4) 快捷键(shortcut keys)。估计应该和windows快捷键设 置差不多,暂时没用到,略过不说。 (5) 模板代码(templates)。这又是一个比较实用的功能,模 板既有软件自带的,也可以自己编辑模板。可以在你书写程序的 时候使用这一功能加快代码的输入。选择“templates”项后,见 图22。 个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 16 图22 选择“templates”项后显示 使用方法: a)可以在该选项卡中编辑自己的代码模板,也可以用软件自带 的模板。 b) 使用打开或关闭工程视图快捷工具,选中该工具下拉菜单中 的“templates”项;见图23。 图23 选中工程视图快捷工具下拉菜单中的“templates”项 个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 17 选中后会在工程工作空间(project workspace)中出现 标签,再编写代码,应用即可。见图24。 图 24 工程工作空间(project workspace)中出现标签 7 7 如何在如何在 keilkeil 环境下让调试程序在环境下让调试程序在片上片上 s sramram 中运行中运行 7.1 首先建一个工程文件或者打开一个已建完的工程文件 打开第 2 项建立的工程文件,工程窗口显示见图 6 或图 25。 图 25 工程窗口显示 个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 18 7.2 其次建立 flash 和 ram 调试两个工程 为了方便我们的调用,针对同一个项目,我们可以建立flash调 试和ram 调试两个工程,实现的方法有两种(可能还有其它方法) , 其一通过点击项目部件管理快捷工具按钮来完成, 其二可以通过鼠 标右键点击工程窗口,通过下拉菜单选择子菜 单,见图27。 图27 项目部件管理子菜单 点击此子菜单后,弹出对话框, 见图28。 个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 19 图28 components,environment and books对话框 点击此处新建项目目标按钮添加新 建项目目标;点击此处新建组或群按钮添 加新建组或群。为了增强文件的可读性和可维护性,建立若干组,用 于存放工程所需的不同类文件(项目所需的所有文件) ,添加完成后, components,environment and books对话框显示见图29。 个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 20 图29 添加完成后,components,environment and books对话框显示 添加完成后,点击components,environment and books对话框上 按钮,工程窗口显示见图30。 图30 配置完成后工程窗口显示 由于“source group 1”组内包含的为启动文件,故可将其更 名为“startup code” , “source code”也可定义为“user code” 。 个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 21 反正组定义遵循一个原则, 一定要易于软件的可读性和可维护性就可 以。也可以按自己习惯定义。有点罗嗦了。组名称确定完成后,工程 窗口显示见图31。 图 31 组名称确定完成后,工程窗口显示 7.3 在外部ram中定义code区和data区 选择“project”下的“options for target ram”选项,进入项 目配置中“target”界面,默认显示见图 32。 图 32 项目配置“target”界面默认显示 个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 22 lpc1788 包含了多达 512kb 的片上 flash 存储器; 包含多达 96kb 的片上静态 ram 存储器:高达 64kb 的 sram(cpu 与通用 dma 控制器 可访问)位于较高速总线上,另外 2 个高达 16kb 的 sram 模块可提供 最多 32kb 的 sram,主要用于外设数据,它们位于 ahb 多层矩阵上的 独立从机端口上;包括高达 4kb 的片上 eeprom 存储器。eeprom 只允 许 cpu 访问。lpc1788 存储器映射及外设寻址,见图 33。 图 33 lpc1788 存储器映射及外设寻址 将外部存储器的 64k 用于 rom,32k 用于 ram,则在项目配置中 个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 23 “target”界面设置,见图 34。 图 34 项目配置中“target”界面设置 按图 34 设置完成后,点击按钮,确定。 7.4 建立扩展名为 ini 的文件 7.4.1 打开记事本,在记事本中输入如下文字: func void setup (void) sp = _rdword(0x10000000); / setup stack pointer pc = _rdword(0x10000004); / setup program counter _wdword(0xe000ed08, 0x10000000); / setup vector table offset register 个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 24 load .ramgpio_led.axf incremental / download setup(); / setup for running go,main 7.4.2 将 7.4.1 建立的文件存储为扩展名为 ini 的文件,文件名为 ram,文件建立完成后在工程文件中显示见图 35。 图 35 建立完 ini 文件后工程文件夹显示 7.5 在在线调试设置中加入新建 ini 的文件 选择“project”下的“options for target ram”选项,进入项 目配置中“debug”界面,导入 ini 文件后显示见图 36。 个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 25 图 36 导入 ini 文件后项目配置中“debug”界面显示 点击按钮,则加载脚本文件成功,详细设置参见图 36。 7.6 jlink v8 的 debug 设置 点击图 36 中的按钮, 进入仿真器 jlink v8 详细设置界面, 见图 37,按图 37 设置,注意红色椭圆圈内的设置项,设置完成后, 点击按钮,完成 jlink v8 的 debug 设置。 个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 26 图 37 仿真器 jlink v8 详细设置界面 7.7 flash down load 设置 选择“project”下的“options for target ram”选项,进入项 目配置中“utilities”界面,选择仿真工具后“utilities”界面显 示见图 38。 个人学习心得个人学习心得 keil mdk4.50+jlink v8基于基于 lpc1788的调试的调试v1.1 27 图 38 选择仿真工具后“utilities”界面显示 选择好仿真工具后,点击图 38 中按钮,进入“
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国智能手环健康行业市场现状竞争分析未来规划报告
- 2026年旅游行业二月旅游市场调研方案
- 破思维惯性立创新生态-组织活力激发总结
- 三、认识Flash MX界面教学设计初中信息技术沪科版九年级下册-沪科版
- 固态锂硫电池的复合正极结构设计结题报告
- 七年级体育 第三全国广播体操的第三节踢腿运动教案 人教新课标版
- 生成式AI介入备课对教师教学设计创造力与职业倦怠的双刃效应-基于2024年AI备课工具使用者反思日志与深度访谈的叙事探究
- CN119402967A 一种基于5g通信分级分类的电力业务调度方法及系统 (国网山东省电力公司营销服务中心(计量中心))
- 五年级品德与社会下册 第四单元 我们生活的地球 1《蔚蓝色的地球》教学设计 新人教版
- 新教材高中地理 第3章 区域协调 第1节 珠江三角洲地区的产业转移及其影响教案 中图版选择性必修2
- 2026年山东省潍坊中小学教师招聘考试真题解析含答案
- 2026秋季福建福维新材料有限公司招聘42人考前冲刺密卷附参考答案详解【轻巧夺冠】
- 北京市朝阳区2025-2026学年九年级上学期期末考试物理试题(含答案)
- 2027年高考数学模拟试卷1(新高考Ⅰ)
- 八上数学必背公式
- proe如何画蜗轮蜗杆+prt+视屏
- 2026年武汉市武昌区新七年级语文入学分班摸底卷(含阅读解析作文范文与评分标准)
- 2026新疆维吾尔自治区中考全科热点预测:基于近3年真题的命题趋势分析与夺分策略
- 2025年公共卫生监督执法技能竞赛(学校与生活饮用水卫生监督)备考题库含答案大庆
- 2026年高考真题-语文(全国二卷) 含解析
- 2026年江苏省初级注册安全工程师考试真题及答案
评论
0/150
提交评论