這篇寫給立創吳總,是節前答應他配合git代碼的說明;也給所有對小智感興趣的小伙伴。
請多提意見,讓這份文檔更有價值 -?
第一當然是拉取源碼 -?
git clone https://github.com/78/xiaozhi-esp32.git
完成后,先查看固件中實際的分區表 -?
然后對照著看項目根目錄的excel中的分區表partitions_16M,發現格局小了 -
在立創實戰派上,你有16M Bytes的內存(0x0100 0000)還不用完,這么扣扣索索的干嘛呢??這里的0x0038 0000相當于是,3.5MBytes;如果算最終的存儲占用,是0x0048 0000+0x0038 0000,等于8MBytes;這個應該是給小一點存儲的開發板用的,但是名字寫錯了。那我們直接參考固件,把容量拉滿吧(雖然也只用了13MBytes還不到一點逼死強迫癥,但為了兼容官方忍了) -?
然后menuconfig中選擇自定義分區表,并給出文件名 -
例行clean一下,最好fullclean一下,避免git下來的文件夾中有不需要的玩意,茫茫多的莫名其妙多多編譯錯誤與此相關?-?
當然,如果用vsc插件,并且剛打開文件夾的話,記得重新選擇一下器件型號,這實際上是重新設施一下編譯環境,避免后面編譯參數莫名出錯;也可以用命令。
但是這個操作,會造成sdkconfig被覆蓋(自動備份到sdkconfig.old),所以如果你不是用的默認的sdkconfig,還需要恢復一下這個文件。
其他menuconfig設置 -?
flash:
開發板:
RAM:
上面的需要修改,其他設置簡單看了一下,應該都是默認,如果后面發現有遺漏的再補上。
需增加啟用LV_FONT_FMT_TXT_LARGE支持,否則海量報錯 -?
需增加啟用LV_USE_IMGFONT,否則報錯 -?
修改編譯選項,增加異常處理,然后別忘了fullclean再編譯?-?
解決i2c驅動兼容問題,否則i2c driver NG 或者 i2c driver not installed?- 這里的方法是兼容,其實徹底的方法是修改i2c驅動的文件 i2c -> i2c_maser,API使用2.0替代1.0,因為官方在6.0版本會放棄對老版本兼容,不過這里偷個懶先 -?
使用了64位的字體,相應的增加lvgl的內存使用,并且對齊內存,同時使用RTOS的malloc函數分配內存 -?
?比想象的花了更多的時間,終于編譯完成拉!
效果 -?
完結撒花~后續在評論上git/gitee,還有立創開發板的官方鏈接。為愛發電,有問題的小伙伴可以留言,不過不確定什么時間上線看評論;所以還是建議去官方提issue。
? ? ? ? ? 看都看到這里了,小伙伴給三連一下唄!