山姆的編程實作分享。。。

Sam Blog, Sam Sharing, Sam Studio

2020年8月2日

[Arduino][ESP32] Change Partition


[Arduino][ESP32]

Change Partition

Out of Program Memory

在這篇心得筆記 ([Arduino][ESP32] Out of Program Storage Space) 裡,

我說明 ESP32 了,為何同時開啟 WiFi 以及 Bluetooth 就會觸發

Out of  Program Memory 這問題,在文章的結尾也點出這問題的解法,

就是 “Change Partition Size” 或是說 “ 選擇適合你應用的Partition Table”,

因為ESP32 的開發環境已經提供各式各樣的 Partition Tables,

只是沒被有效的引用而已。

3 Ways for Changing Partition

更改 Partition Size 或 Partition Table,並非只有3種途徑,例如透過 ESPRESSIF

原廠提供的 IDF 開發來更改,不是更正式更適合嗎?不推薦,是因為使用 IDF 開發

環境的人,應該不用看我的文章吧!哈哈 😅😅

以下我推薦這3種改法

  1. 修改Boards.txt 以及創建或修改既有的 Partition CSV

透過修改Boards.txt,此方法是正規做法,但創建或修改既有的 Partition CSV

必需具備一些預備知識;若你清楚Partition Type,Partition SubType 的定義,

這方法絕對是更改Partition Size 或 Partition Table 的最佳途徑。

若不清楚Partition Type,Partition SubType 的定義,真的只能用第二種懶人改法 ?

     不是的!以下我的另一篇文章就是教你不改又不創建Partition的情況下,讓你目前的

Board Type 也擁有幾個 Partition Schemes 可用。

([Arduino][ESP32] 如何快速簡單的引用 Arduino 內建的Partition Tables)

  1. 懶人改法 (懶人改法步驟說明)

此方法是直接更改 Board Type 為 “ESP32 Dev Module”,這樣ESP32既有的

Partition Tables 就會出現在Arduino IDE Board Manager 的選單內,

供你選用了;此方法可謂是暴力改法,不須具備任何預備知識,唯一要注意的是

你手上的ESP32板子,和在Boards.txt描述的ESP32 Dev Module 的差異不可太大。

  1. By GUI

此方法,個人並未使用過,只是在搜尋最便利更改Partition的方法時,路過發覺的;

此方法是在Arduino IDE下,再外掛軟體,安裝完外掛軟體後,在 Arduino IDE 的選單下

就會多出一個 “ESP32 Partition Manager”的選單,供你創建或修改既有的

Partition CSV。

以下是這外掛軟體的連結。

ESP32 Partition Manager


教學影片也在 YouTube上架了喔 !

Arduino 教學 : Out of Program Memory | Change Partition



熱門文章