單芯片解決方案,開啟全新體驗——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的無限可能。
第三章 開發環境搭建
本章,我們將向大家介紹 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 下載安裝包。
Keil 官網安裝包示意圖
2.3 開始安裝KEIL5
雙擊官網下載的安裝包,點擊 Next 按鈕開始安裝
開始安裝 KEIL5
按照提示逐步進行安裝,安裝完成后如下圖所示。
安裝完成 KEIL5
2.4 安裝W55MH32 芯片包
打開軟件包目錄下的 W55MH32_DFP.1.1.0.pack,點擊 Next 即可完成安裝。
安裝 pack 包
3 MDK5使用技巧
本節,我們將向大家介紹 MDK5 軟件的一些使用技巧,這些技巧在代碼編輯和編寫方面會非常有用,希望大家好好掌握,最好實際操作一下,加深印象。
3.1 文本美化
文本美化,主要是設置一些關鍵字、注釋、數字等的顏色和字體。如果你剛裝 MDK,沒進行字體顏色配置,以下面圖為例,你的界面效果如圖所示:
MDK 默認配色效果
上圖是 MDK 默認的設置,可以看到其中的關鍵字和注釋等字體的顏色不是很漂亮,而MDK 提供了我們自定義字體顏色的功能。我們可以在工具條上點擊 (配置對話框)彈出如圖所示界面:
置對話框
① 設置代碼編輯器字體使用:Chinese GB2312(Simplified),以更好的支持中文。
② 設置編輯器的空格可見:View White Space,所有空格使用“.”替代,TAB 使用“→”替代,這樣可以方便我們對代碼進行對齊操作。同時,我們推薦所有的對齊都用空格來替代,這樣在不同軟件之間查看源代碼,就不會引起由于 TAB 鍵大小不一樣導致代碼不對齊的問題,方便使用不同軟件查看和編輯代碼。
③ 設置 C/C++文件,TAB 鍵的大小為 4 個字符,且字符使用空格替代(Insert spaces fortabs)。這樣我們在使用 TAB 鍵進行代碼對齊操作的時候,都會用空格替代,保證不同軟件使用代碼都可以對齊。然后,選擇:Colors & Fonts 選項卡,在該選項卡內,我們就可以設置自己的代碼的字體和顏色了。由于我們使用的是 C 語言,故Window 下面選擇:C/C++ Editor Files 在右邊就可以看到相應的元素了。如圖所示:
Colors & Fonts 選項卡
然后點擊各個元素(Element)修改為你喜歡的顏色(注意雙擊,且有時候可能需要設置多次才生效,MDK 的 bug),當然也可以在 Font 欄設置你字體的類型,以及字體的大小等。然后,點擊 User Keywords 選項卡,設置用戶定義關鍵字,以便用戶自定義關鍵字也顯示對應的顏色(對應圖 4-18 中的 User Keyword/Lable 顏色)。在 User Keywords 選項卡對話框下面輸入你自己定義的關鍵字,如圖所示:
3.2 語法檢測&代碼提示
MDK4.70 以上的版本,新增了代碼提示與動態語法檢測功能,使得 MDK 的編輯器越來越好用了,這里我們簡單說一下如何設置,同樣,點擊 ,打開配置對話框,選擇 TextCompletion 選項卡,如圖所示:
Text Completion 選項卡設置
Strut / Class Members,用于開啟結構體/類成員提示功能。
Function Parameters,用于開啟函數參數提示功能。
Symbols after xx characters,用于開啟代碼提示功能,即在輸入多少個字符以后,提示匹配的內容(比如函數名字、結構體名字、變量名字等),這里默認設置 3 個字符以后,就開始提示。如圖 所示:
代碼提示
ENTER/TAB as fill-up character,使用回車和 TAB 鍵填充字符。
Dynamic Syntax Checking,則用于開啟動態語法檢測,比如編寫的代碼存在語法錯誤的時候,會在對應行前面出現 圖標,如出現警告,則會出現 圖標,將鼠標光標放圖標上面,則會提示產生的錯誤/警告的原因,如圖所示:
語法動態檢測功能
這幾個功能,對我們編寫代碼很有幫助,可以加快代碼編寫速度,并且及時發現各種問題。不過這里要提醒大家,語法動態檢測這個功能,有的時候會誤報(比如 sys.c 里面,就有誤報),大家可以不用理會,只要能編譯通過(0 錯誤,0 警告),這樣的語法誤報,一般直接忽略即可。
3.3 代碼編輯技巧
這里給大家介紹幾個我常用的技巧,這些小技巧能給我們的代碼編輯帶來很大的方便,相信對你的代碼編寫一定會有所幫助。
1. TAB 鍵的妙用
首先要介紹的就是 TAB 鍵的使用,這個鍵在很多編譯器里面都是用來空位的,每按一下移空幾個位。如果你是經常編寫程序的對這個鍵一定再熟悉不過了。但是 MDK 的 TAB 鍵和一般編譯器的 TAB 鍵有不同的地方,和 C++的 TAB 鍵差不多。MDK 的 TAB 鍵支持塊操作。也就是可以讓一片代碼整體右移固定的幾個位,也可以通過 SHIFT+TAB 鍵整體左移固定的幾個位。
假設我們前面的串口 1 中斷回調函數如圖所示:
頭大的代碼
上圖的代碼很不規范,這還只是短短的 30 來行代碼,如果你的代碼有幾千行,全部是這個樣子,不頭大才怪。這時我們就可以通過 TAB 鍵的妙用來快速修改為比較規范的代碼格式。選中一塊然后按 TAB 鍵,你可以看到整塊代碼都跟著右移了一定距離,如圖所示:
代碼整體偏移
接下來我們就是要多選幾次,然后多按幾次 TAB 鍵就可以達到迅速使代碼規范化的目的最終效果如圖所示
修改后的代碼經過這樣的整理之后,整個代碼一下就變得有條理多了,看起來很舒服。
2. 快速定位函數/變量被定義的地方
上一節,我們介紹了 TAB 鍵的功能,接下來我們介紹一下如何快速查看一個函數或者變量所定義的地方。
大家在調試代碼或編寫代碼的時候,一定有想看看某個函數是在那個地方定義的,具體里面的內容是怎么樣的,也可能想看看某個變量或數組是在哪個地方定義的等。尤其在調試代碼或者看別人代碼的時候,如果編譯器沒有快速定位的功能的時候,你只能慢慢的自己找,代碼量比較少還好,如果代碼量一大,那就郁悶了,有時候要花很久的時間來找這個函數到底在哪里。型號 MDK 提供了這樣的快速定位的功能。只要你把光標放到這個函數/變量(xxx)的上面(xxx 為你想要查看的函數或變量的名字),然后右鍵,彈出如圖 所示的菜單欄 :
快速定位
我們找到 RCC_GetClocksFreq(&clocks); 這個地方,然后單擊左鍵就可以快速跳到 RCC_GetClocksFreq 函數的定義處(注意要先在 Options for Target 的Output 選項卡里面勾選 Browse Information 選項,再編譯,再定位,否則無法定位!)。如圖所示:
定位結果
對于變量,我們也可以按這樣的操作快速來定位這個變量被定義的地方,大大縮短了你查找代碼的時間。很多時候,我們利用 Go to Definition 看完函數/變量的定義后,又想返回之前的代碼繼續看,此時我們可以通過 IDE 上的 按鈕(Back to previous position)快速的返回之前的位置,這個按鈕非常好用!
3. 快速注釋與快速消注釋
接下來,我們介紹一下快速注釋與快速消注釋的方法。在調試代碼的時候,你可能會想注釋某一片的代碼,來看看執行的情況,MDK 提供了這樣的快速注釋/消注釋塊代碼的功能。也是通過右鍵實現的。這個操作比較簡單,就是先選中你要注釋的代碼區,然后右鍵,選擇Advanced→Comment Selection 就可以了。
以 led_init 函數為例,比如我要注釋掉下圖中所選中區域的代碼,如圖所示:
選中要注釋的區域
我們只要在選中了之后,選擇右鍵,再選擇 Advanced→Comment Selection 就可以把這段代碼注釋掉了。執行這個操作以后的結果如圖 所示:
注釋完畢
這樣就快速的注釋掉了一片代碼,而在某些時候,我們又希望這段注釋的代碼能快速的取消注釋,MDK 也提供了這個功能。與注釋類似,先選中被注釋掉的地方,然后通過右鍵→Advanced,不過這里選擇的是 Uncomment Selection。
3.4 其他小技巧
除了前面介紹的幾個比較常用的技巧,這里還介紹幾個其他的小技巧,希望能讓你的代碼編寫如虎添翼。
第一個是快速打開頭文件。在將光標放到要打開的引用頭文件上,然后右鍵選擇 Open document“XXX”,就可以快速打開這個文件了(XXX 是你要打開的頭文件名字)。如圖所示:
第二個小技巧是查找替換功能。這個和 WORD 等很多文檔操作的替換功能是差不多的,在 MDK 里面查找替換的快捷鍵是“CTRL+H”,只要你按下該按鈕就會調出如圖 所示界面:
替換文本
這個替換的功能在有的時候是很有用的,它的用法與其他編輯工具或編譯器的差不多,相信各位都不陌生了,這里就不啰嗦了。
第三個小技巧是跨文件查找功能,先雙擊你要找的函數/變量名(這里以系統時鐘初始化函數:wizchip_bus_readbyte為例),然后再點擊 IDE 上面的
,彈出如圖所示對話框:
跨文件查找
點擊 Find All,MDK 就會幫你找出所有含有 wizchip_bus_readbyte字段的文件并列出其所在位該方法可以很方便的查找各種函數/變量,而且可以限定搜索范圍(比如只查找.c 文件和.h 文件等),是非常實用的一個技巧。
審核編輯 黃宇
-
微控制器
+關注
關注
48文章
7906瀏覽量
153691 -
開發環境
+關注
關注
1文章
238瀏覽量
17025 -
keil5
+關注
關注
7文章
47瀏覽量
21029
發布評論請先 登錄
評論