当前位置: 首页 > news >正文

第四章 W55MH32初体验

第四章 W55MH32初体验

目录

第四章 W55MH32初体验

1 打开示例工程

1.1 外设示例目录

1.2 TOE 引擎示例目录

2 KEIL 主界面介绍

2.1 常用快捷键按钮

3 仿真器介绍

3.1 仿真器简介

3.2 仿真器配置

3.3 使用其他仿真器和串口调试工具

4 新建工程


        本章,我们不介绍如何编写代码,而是向大家介绍如何编译、串口下载、仿真器下载、仿真调试开发板例程,体验一下 W55MH32 的开发流程,并介绍 MDK5 的一些使用技巧,通过本章的学习,将对 W55MH32 的开发流程和 MDK5 使用有个大概了解,为后续深入学习打好基础。本章将分为如下几个小节:

1 打开示例工程

2 KEIL主界面介绍

3 仿真器介绍

4 新建工程

1 打开示例工程

1.1 外设示例目录

        打开资料包中的 SDK\ModuleDemo 文件夹,里面包含了大部分外设示例以及 TOE 引擎示例。

示例程序

1.2 TOE 引擎示例目录

        其中 TOE 引擎示例包含多种网络协议应用。

TOE 示例程序

2 KEIL 主界面介绍

        KEIL 工程后缀为.uvprojx,外设例程的 KEIL 工程文件在对应外设示例的 USER 目录中,TOE 示例的 KEIL 工程文件在 Project 目录下。双击打开后出现 KEIL5 的主窗口界面,如下图所示。

KEIL5 主界面

  • 菜单栏:包含 File 文件、Edit 编辑、View 视图、Project 工程、Help 帮助等。
  • 工具栏:常见工具的快捷按钮,下面会重点介绍一些常用的工具。
  • 工程窗口:主要显示项目内容,文件组、源文件和头文件等。
  • 编辑窗口:编写代码的地方。
  • 消息窗口:反馈编译信息、烧录信息等。
  • 状态栏:光标的行列位置、字符编码、键盘 NUM 锁定等一些状态信息。

2.1 常用快捷键按钮

三类常用工具快捷键按钮。

常用工具快捷键按钮

1.仿真类快捷按钮:在仿真时使用,具有断点标记作用。

仿真类按钮

英文名称

中文描述

快捷键

Start/Stop Debug Session

打开/关闭调试

Ctrl+F5

Insert/Remove Breakpoint

插入/移除断点

F9

Enable/Disable Breakpoint

使能/失能断点

Ctrl+F9

Disable All Breakpoints

失能所有断点

-

Kill All Breakpoints

取消所有断点

Ctrl+Shift+F9

2.编译类快捷按钮:对代码进行编译下载。

编译类按钮

英文名称

中文描述

快捷键

Translate

编译当前文件

Ctrl+F7

Build

编译工程目标

F7

Rebuild

重新编译所有目标文件

-

Batch Build

分批编译(多工程)

-

Stop Build

停止编译(正在编译时有效)

-

Download

下载

F8

3.工程目标选项又称魔术棒:即对工程目标的配置,如芯片设备选择、C/C++选项、仿真配置等等。

3 仿真器介绍

3.1 仿真器简介

        开发板集成了一个仿真器 WIZ-Link,如图所示。WIZ-Link 遵循 ARM 公司的 CMSIS-DAP 标准,支持下载和在线仿真程序,支持在 XP/WIN7/WIN8/WIN10 这四个操作系统上免驱使用,支持 KEIL 和IAR 直接下载。此外,WIZ-Link 还支持一个虚拟串口,内部连接至 W55MH32的 PA9 和 PA10。下载,日志,仿真皆可通过 WIZ-Link 实现,非常方便。

WIZ-Link

3.2 仿真器配置

        在通过 WIZ-Link 连接好开发板和电脑后,打开电脑的设备管理器,可以看到 WIZ-Link 及虚拟的串口。如下图所示。

WIZ-Link 设备管理器示意图

打开 KEIL,在魔术棒选项卡里面选择 CMSIS-DAP 仿真器即可,如下图所示。

Debug 选项配置

点击 Settings 按钮后,进入 CMSIS-DAP Debugger 配置界面。

CMSIS-DAP Debugger 配置

        注意:如果设备管理器识别到了 WIZ-Link,但是在 CMSIS-DAP Debugger 设置界面没有识别到开发板,可以将 KEIL5 升级到最新版本。

3.3 使用其他仿真器和串口调试工具

        W55MH32 支持市面上大部分仿真器,如 ST-LINKV2、JLINK、ARM Emulator 等。

注意:不支持 ST-LINKV3。

        开发板上使用跳线帽连接 W55MH32 和 WIZ-Link 的串口以及调试口,如图所示,如您需要使用其他串口调试工具或仿真器,可以拔掉跳线帽以避免同时连接。

W55MH32 跳线帽连接WIZ-Link

        在使用 JLINK 时,在 JLINK 配置界面会出现无法识别芯片的情况,此时,需要做出如下改动:

1.修改JLINK 安装目录下的JLinkDevices.xml 文件,添加如下内容:

<Device>

<ChipInfo Vendor="WIZnet" Name="W55MH32-100LQFP" Core="JLINK_CORE_CORTEX_M3"

WorkRAMAddr="0x20000000" WorkRAMSize="0x00018000"/>

<FlashBankInfo Loader="Devices/WIZnet/W55MH32/W55MH32.FLM"

LoaderType="FLASH_ALGO_TYPE_OPEN" MaxSize="0x00100000" Name="Internal Flash"

BaseAddr="0x08000000" AlwaysPresent="1"/>

</Device>

2.在 Devices/WIZnet/W55MH32/路径下,添加 W55MH32.FLM 文件。

添加W55MH32.FLM 文件

其中,W55MH32.FLM 文件在 keil 安装目录下的 W55MH32\W55MH32_DFP\1.0.0\CMSIS\Flash 路径中,如下图所示。

W55MH32.FLM 文件位置

4 新建工程

        接下来,我将和大家一起,一步一步搭建一个新的工程。

        首先,我们依次点击Project->New μVision Project...:

        然后新建一个文件夹用于存放工程文件(注意路径不要有中文)->输入工程文件的名称->点击保存:

        保存之后会弹出Select Device for Target ‘Target 1’...的窗口,依次点开WIZnet->W55M3 Series->选择W55MH32L芯片,然后点击OK:

注意:如果没有显示该芯片的话就是没有安装pack包,在开发套件里找到并安装即可。

继续点击OK:

        将开发套件里1.SDK/Libraries文件夹下的启动文件、内核文件和库文件等复制粘贴到新建的项目目录下:

        点击品字形的按钮(管理项目事项):

        在该窗口我们可以添加或删除工程、文件夹和文件,并为其重命名。文件可以根据需求添加,不清楚文件的作用或者觉得后续反复添加文件麻烦的也可以一次性全部添加:

        新建文件->在该文件里输入#include "w55mh32.h"添加头文件>点击左上角保存按钮->新建USER文件夹并双击打开->输入文件名和文件类型main.c->点击保存:

        双击USER文件夹->找到main.c并单击选中->点击Add添加文件:

        点击魔术棒->点击C/C++->Define输入USE_STDPERIPH_DRIVER预定义->点击Include Paths右边的...设置文件夹路径包含->添加路径->点击路径右边的...预览并选择文件夹->点击OK->点击OK:

        再次点击魔术棒->点击Target->编译器版本选择V5:

        点击Output->填写输出的文件名->勾选创建HEX文件:

        点击Debug->选择CMSIS-DAPDebugger下载调试方式->点击Settings->点击Flash Download->勾选自动复位->点击OK->点击OK:

        在main.c里面编写主函数,点击编译发现有25个错误,提示缺少w55mh32_conf.h文件:

        w55mh32_conf.h为用户配置文件,我们可以从例程里面找到。打开1.SDK文件夹下的ModuleDemo文件夹,随便打开一个例程,在USER文件夹下将w55mh32_conf.h文件复制粘贴到我们新建的工程里的USER文件夹:

        再将USER文件Include路径包含进去:

        再次点击编译,0错误0警告:

        这样我们就成功的新建了一个新工程了。

http://www.xdnf.cn/news/972721.html

相关文章:

  • Web后端基础:Maven基础
  • PostgreSQL--安装方法
  • 力扣Hot100每日一题[1,3]
  • 【CF】Day80——Codeforces Round 872 (Div. 2) C⭐D (思维 + 模拟 | 树 + 思维 + 组合数学 + 分数取模)
  • 小天互连IM:信创体系下的安全、高效即时通讯新选择
  • 【小记】2024-2025生物计算类热点问题
  • 方案解读:智慧银行反欺诈大数据管控平台建设方案【附全文阅读】
  • 20、React常用API和Hook索引
  • Memory Repair (三)
  • Java单列模式总结及实现
  • asio之读写
  • 路径规划算法概论:从理论到实践
  • switch选择语句
  • ABB UNITROL 6000 X-power 3BH022294R0103 GFD233A103
  • Python 3.6/3.8版本切换脚本
  • 调用支付宝接口响应40004 SYSTEM_ERROR问题排查
  • Python模块全解析:从入门到精通
  • MySQL学习之---索引
  • Lighttpd 配置选项介绍
  • 谷歌趋势自动报告系统(Pipedream + Scrapeless + Discord)
  • 电脑一段时间没用就变成登陆的界面
  • 5G+边缘计算推动下的商品详情API低延迟高效率新方案
  • 【Linux Learning】SSH连线出现警告:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
  • 超火的开源项目(Github热点)
  • 交叉编译笔记
  • Docker部署Nginx-UI
  • 【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
  • 安装 PyCharm
  • Open3D 点云处理笔记
  • 城市照明深夜全亮太浪费?智能分时调光方案落地贵州某市