0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

第三章 开发环境搭建

W55MH32 来源:W55MH32 作者:W55MH32 2025-05-26 09:40 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

单芯片解决方案,开启全新体验——W55MH32 高性能以太网单片机

W55MH32是WIZnet重磅推出的高性能以太网单片机,它为用户带来前所未有的集成化体验。这颗芯片将强大的组件集于一身,具体来说,一颗W55MH32内置高性能Arm® Cortex-M3核心,其主频最高可达216MHz;配备1024KB FLASH与96KB SRAM,满足存储与数据处理需求;集成TOE引擎,包含WIZnet全硬件TCP/IP协议栈、内置MAC以及PHY,拥有独立的32KB以太网收发缓存,可供8个独立硬件socket使用。如此配置,真正实现了All-in-One解决方案,为开发者提供极大便利。

在封装规格上,W55MH32 提供了两种选择:QFN68和QFN100。

W55MH32Q采用QFN68封装版本,尺寸为8x8mm,它拥有36个GPIO、3个ADC、12通道DMA、17个定时器、2个I2C、3个串口、2个SPI接口(其中1个带I2S接口复用)、1个CAN以及1个USB2.0。在保持与同系列其他版本一致的核心性能基础上,仅减少了部分GPIO以及SDIO接口,其他参数保持一致,性价比优势显著,尤其适合网关模组等对空间布局要求较高的场景。紧凑的尺寸和精简化外设配置,使其能够在有限空间内实现高效的网络连接与数据交互,成为物联网网关、边缘计算节点等紧凑型设备的理想选择。 同系列还有QFN100封装的W55MH32L版本,该版本拥有更丰富的外设资源,适用于需要多接口扩展的复杂工控场景,软件使用方法一致。更多信息和资料请进入http://www.w5500.com/网站或者私信获取。

此外,本W55MH32支持硬件加密算法单元,WIZnet还推出TOE+SSL应用,涵盖TCP SSL、HTTP SSL以及MQTT SSL等,为网络通信安全再添保障。

为助力开发者快速上手与深入开发,基于W55MH32Q这颗芯片,WIZnet精心打造了配套开发板。开发板集成WIZ-Link芯片,借助一根USB C口数据线,就能轻松实现调试、下载以及串口打印日志等功能。开发板将所有外设全部引出,拓展功能也大幅提升,便于开发者全面评估芯片性能。

若您想获取芯片和开发板的更多详细信息,包括产品特性、技术参数以及价格等,欢迎访问官方网页:http://www.w5500.com/,我们期待与您共同探索W55MH32的无限可能。

wKgZO2gbOfaAVPzkACJSygzv-rI600.png

第三章 开发环境搭建

本章,我们将向大家介绍 W55MH32的开发环境搭建,主要通过以下三个方面介绍:

1 常用开发工具简介

2 安装IDE

3 MDK5使用技巧

1 常用开发工具简介

KEIL MDK是ARM公司推出的一款面向ARM架构微控制器(如Cortex - M系列)的集成开发环境,提供代码编写、编译、调试、下载一站式服务。它支持多语言开发,拥有强大编译器和丰富的调试与仿真功能,具备大量库与中间件,还有可视化配置工具,支持跨平台使用。广泛应用于嵌入式开发、实时系统、工业控制等领域,有不同版本以满足多样需求,虽商业版授权费高且对非ARM架构支持有限,但仍是嵌入式开发主流工具。

2 安装IDE

2.1 温馨提示

1.安装路径不能带中文,必须是英文路径。

2.安装目录不能跟 51 的 KEIL 或者 KEIL4 冲突,三者目录必须分开。

3.KEIL5 的安装比起 KEIL4 多了一个步骤,必须添加 MCU 库,不然没法使用。

2.2 获取 KEIL5 安装包

W55MH32 开发板支持 KEIL5 MDK 微控制器开发套件开发,可前往官网 www.keil.com 下载安装包。

wKgZO2gzxiKAN8OEAAwiLRslFyQ571.png

Keil 官网安装包示意图

2.3 开始安装KEIL5

双击官网下载的安装包,点击 Next 按钮开始安装

wKgZO2gzxi6AJGK-ABS94QFmIDg933.png

开始安装 KEIL5

按照提示逐步进行安装,安装完成后如下图所示。

wKgZPGgzxiuAd8uFABTFVap9iEo400.png

安装完成 KEIL5

2.4 安装W55MH32 芯片包

打开软件包目录下的 W55MH32_DFP.1.1.0.pack,点击 Next 即可完成安装。

wKgZPGgzxjGAAKSFABT1GSp9wtI500.png

安装 pack 包

3 MDK5使用技巧

本节,我们将向大家介绍 MDK5 软件的一些使用技巧,这些技巧在代码编辑和编写方面会非常有用,希望大家好好掌握,最好实际操作一下,加深印象。

3.1 文本美化

文本美化,主要是设置一些关键字、注释、数字等的颜色和字体。如果你刚装 MDK,没进行字体颜色配置,以下面图为例,你的界面效果如图所示:

wKgZO2gzxhqAV25IAAHfxZpxvsU642.png

MDK 默认配色效果

上图是 MDK 默认的设置,可以看到其中的关键字和注释等字体的颜色不是很漂亮,而MDK 提供了我们自定义字体颜色的功能。我们可以在工具条上点击 (配置对话框)弹出如图所示界面:

wKgZPGgzxh2Af1ZLAAOFsexOWGg975.png

置对话框

① 设置代码编辑器字体使用:Chinese GB2312(Simplified),以更好的支持中文。

② 设置编辑器的空格可见:View White Space,所有空格使用“.”替代,TAB 使用“→”替代,这样可以方便我们对代码进行对齐操作。同时,我们推荐所有的对齐都用空格来替代,这样在不同软件之间查看源代码,就不会引起由于 TAB 键大小不一样导致代码不对齐的问题,方便使用不同软件查看和编辑代码。

③ 设置 C/C++文件,TAB 键的大小为 4 个字符,且字符使用空格替代(Insert spaces fortabs)。这样我们在使用 TAB 键进行代码对齐操作的时候,都会用空格替代,保证不同软件使用代码都可以对齐。然后,选择:Colors & Fonts 选项卡,在该选项卡内,我们就可以设置自己的代码的字体和颜色了。由于我们使用的是 C 语言,故Window 下面选择:C/C++ Editor Files 在右边就可以看到相应的元素了。如图所示:

wKgZO2gzxhyAWkRDAAIwa2EHyEY622.png

Colors & Fonts 选项卡

然后点击各个元素(Element)修改为你喜欢的颜色(注意双击,且有时候可能需要设置多次才生效,MDK 的 bug),当然也可以在 Font 栏设置你字体的类型,以及字体的大小等。然后,点击 User Keywords 选项卡,设置用户定义关键字,以便用户自定义关键字也显示对应的颜色(对应图 4-18 中的 User Keyword/Lable 颜色)。在 User Keywords 选项卡对话框下面输入你自己定义的关键字,如图所示:

wKgZO2gzxhiAawVxAADOocnqULY867.png

3.2 语法检测&代码提示

MDK4.70 以上的版本,新增了代码提示与动态语法检测功能,使得 MDK 的编辑器越来越好用了,这里我们简单说一下如何设置,同样,点击 ,打开配置对话框,选择 TextCompletion 选项卡,如图所示:

wKgZO2gzxhqAAjg2AAFLYm9Ybbs562.png

Text Completion 选项卡设置

Strut / Class Members,用于开启结构体/类成员提示功能。

Function Parameters,用于开启函数参数提示功能。

Symbols after xx characters,用于开启代码提示功能,即在输入多少个字符以后,提示匹配的内容(比如函数名字、结构体名字、变量名字等),这里默认设置 3 个字符以后,就开始提示。如图 所示:

wKgZPGgzxhiAWFx_AABx4juNTrs657.png

代码提示

ENTER/TAB as fill-up character,使用回车和 TAB 键填充字符。

Dynamic Syntax Checking,则用于开启动态语法检测,比如编写的代码存在语法错误的时候,会在对应行前面出现 图标,如出现警告,则会出现 图标,将鼠标光标放图标上面,则会提示产生的错误/警告的原因,如图所示:

wKgZPGgzxhiASt04AAAvPHwsCDU536.png

语法动态检测功能

这几个功能,对我们编写代码很有帮助,可以加快代码编写速度,并且及时发现各种问题。不过这里要提醒大家,语法动态检测这个功能,有的时候会误报(比如 sys.c 里面,就有误报),大家可以不用理会,只要能编译通过(0 错误,0 警告),这样的语法误报,一般直接忽略即可。

3.3 代码编辑技巧

这里给大家介绍几个我常用的技巧,这些小技巧能给我们的代码编辑带来很大的方便,相信对你的代码编写一定会有所帮助。

1. TAB 键的妙用

首先要介绍的就是 TAB 键的使用,这个键在很多编译器里面都是用来空位的,每按一下移空几个位。如果你是经常编写程序的对这个键一定再熟悉不过了。但是 MDK 的 TAB 键和一般编译器的 TAB 键有不同的地方,和 C++的 TAB 键差不多。MDK 的 TAB 键支持块操作。也就是可以让一片代码整体右移固定的几个位,也可以通过 SHIFT+TAB 键整体左移固定的几个位。

假设我们前面的串口 1 中断回调函数如图所示:

wKgZO2gzxhiAXwhQAABNz_PgxHE979.png

头大的代码

上图的代码很不规范,这还只是短短的 30 来行代码,如果你的代码有几千行,全部是这个样子,不头大才怪。这时我们就可以通过 TAB 键的妙用来快速修改为比较规范的代码格式。选中一块然后按 TAB 键,你可以看到整块代码都跟着右移了一定距离,如图所示:

wKgZPGgzxhmACgMfAABfBv6DmB4510.png

代码整体偏移

接下来我们就是要多选几次,然后多按几次 TAB 键就可以达到迅速使代码规范化的目的最终效果如图所示

wKgZPGgzxhmASkILAABZdah2Jjo694.png

修改后的代码经过这样的整理之后,整个代码一下就变得有条理多了,看起来很舒服。

2. 快速定位函数/变量被定义的地方

上一节,我们介绍了 TAB 键的功能,接下来我们介绍一下如何快速查看一个函数或者变量所定义的地方。

大家在调试代码或编写代码的时候,一定有想看看某个函数是在那个地方定义的,具体里面的内容是怎么样的,也可能想看看某个变量或数组是在哪个地方定义的等。尤其在调试代码或者看别人代码的时候,如果编译器没有快速定位的功能的时候,你只能慢慢的自己找,代码量比较少还好,如果代码量一大,那就郁闷了,有时候要花很久的时间来找这个函数到底在哪里。型号 MDK 提供了这样的快速定位的功能。只要你把光标放到这个函数/变量(xxx)的上面(xxx 为你想要查看的函数或变量的名字),然后右键,弹出如图 所示的菜单栏 :

wKgZPGgzxh2AFNFsAAI9OzrUEWc577.png

快速定位

我们找到 RCC_GetClocksFreq(&clocks); 这个地方,然后单击左键就可以快速跳到 RCC_GetClocksFreq 函数的定义处(注意要先在 Options for Target 的Output 选项卡里面勾选 Browse Information 选项,再编译,再定位,否则无法定位!)。如图所示:

wKgZPGgzxh2AazdOAAG8z8NPdfU581.png

定位结果

对于变量,我们也可以按这样的操作快速来定位这个变量被定义的地方,大大缩短了你查找代码的时间。很多时候,我们利用 Go to Definition 看完函数/变量的定义后,又想返回之前的代码继续看,此时我们可以通过 IDE 上的 按钮(Back to previous position)快速的返回之前的位置,这个按钮非常好用!

3. 快速注释与快速消注释

接下来,我们介绍一下快速注释与快速消注释的方法。在调试代码的时候,你可能会想注释某一片的代码,来看看执行的情况,MDK 提供了这样的快速注释/消注释块代码的功能。也是通过右键实现的。这个操作比较简单,就是先选中你要注释的代码区,然后右键,选择Advanced→Comment Selection 就可以了。

led_init 函数为例,比如我要注释掉下图中所选中区域的代码,如图所示:

wKgZPGgzxhmAU6ZrAABh6xQ7kpI672.png

选中要注释的区域

我们只要在选中了之后,选择右键,再选择 Advanced→Comment Selection 就可以把这段代码注释掉了。执行这个操作以后的结果如图 所示:

wKgZPGgzxhqAIj_5AABdd_sKYJI400.png

注释完毕

这样就快速的注释掉了一片代码,而在某些时候,我们又希望这段注释的代码能快速的取消注释,MDK 也提供了这个功能。与注释类似,先选中被注释掉的地方,然后通过右键→Advanced,不过这里选择的是 Uncomment Selection。

3.4 其他小技巧

除了前面介绍的几个比较常用的技巧,这里还介绍几个其他的小技巧,希望能让你的代码编写如虎添翼。

第一个是快速打开头文件。在将光标放到要打开的引用头文件上,然后右键选择 Open document“XXX”,就可以快速打开这个文件了(XXX 是你要打开的头文件名字)。如图所示:

wKgZPGgzxhqAAtA0AABCE4nriC4459.png

第二个小技巧是查找替换功能。这个和 WORD 等很多文档操作的替换功能是差不多的,在 MDK 里面查找替换的快捷键是“CTRL+H”,只要你按下该按钮就会调出如图 所示界面:

wKgZO2gzxhmAEx6IAAAr06keZ8c748.png

替换文本

这个替换的功能在有的时候是很有用的,它的用法与其他编辑工具或编译器的差不多,相信各位都不陌生了,这里就不啰嗦了。

第三个小技巧是跨文件查找功能,先双击你要找的函数/变量名(这里以系统时钟初始化函数:wizchip_bus_readbyte为例),然后再点击 IDE 上面的

wKgZO2gzxhmAbIraAAAEk9zuN4Y645.png

,弹出如图所示对话框:

wKgZPGgzxhyAVK_FAAInEilfoK0730.png

跨文件查找

点击 Find All,MDK 就会帮你找出所有含有 wizchip_bus_readbyte字段的文件并列出其所在位该方法可以很方便的查找各种函数/变量,而且可以限定搜索范围(比如只查找.c 文件和.h 文件等),是非常实用的一个技巧。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    8249

    浏览量

    162261
  • 开发环境
    +关注

    关注

    1

    文章

    252

    浏览量

    17519
  • keil5
    +关注

    关注

    7

    文章

    48

    浏览量

    21331
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    eop/uboot下载方法

    Linux开发板 - 02 - eop/uboot下载前言:韦东山开发板学习笔记,第二篇。上一篇讲了:如何与ubuntu系统通讯,属于开发手册 “第三章-
    发表于 12-10 08:05

    高频电子线路第三章答案

    高频电子线路第三章答案.
    发表于 06-05 10:37 38次下载

    信号与系统第三章课件PPT

    信号与系统第三第三章课件PPT。
    发表于 12-21 11:23 0次下载

    现代电路理论第三章

    现代电路系统第三章
    发表于 04-26 16:01 0次下载

    自动控制原理第三章习题答案

    电子专业单片机相关知识学习教材资料之自动控制原理第三章习题答案
    发表于 09-02 14:30 0次下载

    数字信号处理(第三章-离散傅里叶变换DFT)

    数字信号处理(第三章-离散傅里叶变换DFT)
    发表于 12-28 14:23 0次下载

    数字信号处理[第三章-离散傅里叶变换(DFT)]

    数字信号处理[第三章-离散傅里叶变换(DFT)]
    发表于 12-28 14:23 0次下载

    数字信号处理课件--第三章1离散傅里叶变换

    数字信号处理课件--第三章1离散傅里叶变换
    发表于 12-28 14:23 0次下载

    《测控电路》习题完整参考答案(第三章

    《测控电路》习题完整参考答案(第三章
    发表于 02-07 15:17 0次下载

    数字信号处理 第三章

    数字信号处理 第三章
    发表于 10-19 09:36 5次下载
    数字信号处理 <b class='flag-5'>第三章</b>

    STM8S BLDC 电机 第三章 EEPROM 实验例程

    STM8S BLDC 电机 第三章 EEPROM 实验例程
    发表于 03-12 11:47 11次下载

    计算机网络第三章数据链路层资源下载

    计算机网络第三章数据链路层资源下载
    发表于 05-17 10:38 0次下载

    第三章 555集成电路应用设计

    第三章 555集成电路应用设计
    发表于 11-19 15:04 0次下载

    边干边学机器视觉_第三章_图像采集_完整版

    边干边学机器视觉_第三章_图像采集_完整版
    发表于 03-11 15:32 0次下载

    迅为电子RK3588S开发第三章Buildroot系统功能测试

    迅为电子RK3588S开发第三章Buildroot系统功能测试
    的头像 发表于 09-02 14:45 1942次阅读
    迅为电子RK3588S<b class='flag-5'>开发</b>板<b class='flag-5'>第三章</b>Buildroot系统功能测试