当前位置: 首页 > 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警告:

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

相关文章:

  • MySQL中的隐式主键和隐藏列
  • 【题解】P1156 垃圾陷阱
  • Django的HelloWorld程序
  • 纯血Harmony NETX 5小游戏实践:贪吃蛇(附源文件)
  • Python训练营打卡 Day50
  • FreeRTOS信号量
  • @Configuration原理与实战
  • ​计算机网络原理超详解说​
  • Web后端基础:Maven基础
  • Web 毕设篇-适合小白、初级入门练手的 Spring Boot Web 毕业设计项目:智驿AI系统(前后端源码 + 数据库 sql 脚本)
  • P4 QT项目----串口助手(4.2)
  • 2025 高考:AI 都在哪些地方发挥了作用
  • crackme007
  • 电脑一段时间没用就变成登陆的界面
  • CppCon 2015 学习:Implementing class properties effectively
  • RocketMQ延迟消息机制
  • 【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
  • 第5章 类的基本概念 笔记
  • 不变性(Immutability)模式
  • b2b企业网络营销如何用deepseek、豆包等AI平台获客 上海添力
  • 西双版纳网站开发/百度快照推广排名
  • 上海网站建设公司/广告代运营公司
  • 西安公司团建活动好去处/成都网站seo厂家
  • 企业做网站得多少钱/网站流量查询
  • 怎么在vk网站上做推广/重庆森林在线观看
  • 做网站知识大全/网络营销做的好的企业