
CanMV K210 不只是運行一段臨時代碼開發板內部還有自己的文件系統。腳本、配置文件、圖片資源和 kmodel 模型文件都需要按照路徑規則保存和讀取。很多 K210 實驗失敗并不是代碼邏輯錯誤而是文件路徑寫錯、模型文件缺失、main.py自動運行舊程序或者資源沒有放到正確位置。本篇重點解決資源管理問題。文章目錄理論基礎硬件設施軟件代碼擴展應用總結理論基礎實驗原理CanMV K210 運行程序時代碼文件和資源文件需要存放在開發板能夠訪問的位置。常見存儲位置包括開發板內部 Flash 和外部 Micro SD 卡。Flash 更適合保存基礎腳本和配置文件Micro SD 卡更適合保存較大的圖片、模型和實驗資源。在 CanMV 中文件系統的作用類似電腦中的項目目錄。代碼運行時如果需要加載模型、讀取圖片、保存日志或檢查配置都需要通過文件路徑找到對應資源。路徑寫錯、文件名不一致、文件沒有上傳成功都會導致程序運行異常。CanMV 文件系統中經常會看到main.py、config.json和freq.conf這類文件。main.py通常用于上電自動運行開發板啟動后會優先執行其中的代碼。config.json多用于保存基礎配置freq.conf與運行頻率或系統參數有關。后續 AI 視覺實驗還會接觸.kmodel模型文件。例如人臉檢測、YOLO 目標檢測、MNIST 手寫數字識別、口罩識別等項目都需要先把模型文件放到開發板可以訪問的位置再通過代碼加載模型。如果路徑不正確模型就無法正常運行。硬件設施實驗所需硬件本篇主要圍繞文件系統和資源管理展開不需要外接復雜傳感器。只需要 CanMV K210 開發板、Type-C 數據線和電腦即可完成基礎實驗。如果需要驗證 SD 卡資源管理可以額外準備 Micro SD 卡。文件管理實驗看起來不像 LED、蜂鳴器那樣有明顯硬件動作但它是 AI 視覺課程的基礎。后續加載.kmodel、讀取測試圖片、保存識別結果都依賴文件系統。尤其是模型文件較大時使用 SD 卡會比全部放入 Flash 更方便。Type-C 數據線需要支持數據傳輸不能只支持充電。如果 CanMV IDE 無法連接開發板文件系統代碼也無法執行。SD 卡插入后如果代碼無法讀取需要檢查卡槽方向、SD 卡格式和文件路徑。程序運行后CanMV IDE 串口終端會打印開發板文件列表。如果文件系統正常可以看到當前目錄下的文件名稱。若存在main.py、config.json或模型文件也會在輸出結果中顯示。軟件代碼實驗所需軟件環境本篇需要使用 CanMV IDE 運行 MicroPython 文件系統代碼。開發板需要已經燒錄 CanMV 固件并且電腦能夠正常識別串口。若需要管理 SD 卡資源還需要提前準備好 SD 卡中的文件。文件系統實驗中不建議直接刪除默認文件。尤其是main.py、config.json、freq.conf這類文件應先查看、備份再決定是否修改。對于臨時測試可以新建一個測試文件再對測試文件進行讀取和刪除。下面程序用于查看 CanMV K210 文件系統創建測試文件讀取文件內容再刪除測試文件。它不會刪除默認系統文件適合作為文件系統管理的入門實驗。# CanMV K210 文件系統 main.py config.json 與資源文件管理實驗# 功能查看文件列表創建測試文件讀取文件內容刪除測試文件importosimporttimeprint(CanMV K210 file system test start)# 查看當前目錄文件print(\n[1] 當前文件列表)try:filesos.listdir()print(files)exceptExceptionase:print(讀取文件列表失敗,e)# 創建一個測試文件test_filek210_test.txtprint(\n[2] 創建測試文件,test_file)try:withopen(test_file,w)asf:f.write(CanMV K210 file system test\n)f.write(This file is created by MicroPython.\n)print(測試文件創建成功)exceptExceptionase:print(測試文件創建失敗,e)# 再次查看文件列表print(\n[3] 創建后的文件列表)try:print(os.listdir())exceptExceptionase:print(讀取文件列表失敗,e)# 讀取測試文件內容print(\n[4] 讀取測試文件內容)try:withopen(test_file,r)asf:contentf.read()print(content)exceptExceptionase:print(讀取測試文件失敗,e)# 檢查常見默認文件print(\n[5] 檢查常見文件)common_files[main.py,config.json,freq.conf]try:filesos.listdir()fornameincommon_files:ifnameinfiles:print(name,存在)else:print(name,未發現)exceptExceptionase:print(檢查默認文件失敗,e)# 刪除測試文件print(\n[6] 刪除測試文件,test_file)try:os.remove(test_file)print(測試文件刪除成功)exceptExceptionase:print(測試文件刪除失敗,e)# 最后查看文件列表print(\n[7] 刪除后的文件列表)try:print(os.listdir())exceptExceptionase:print(讀取文件列表失敗,e)print(\nCanMV K210 file system test finish)這段代碼圍繞os模塊和文件讀寫操作展開。os.listdir()用于查看當前目錄文件open()用于創建、寫入和讀取文件os.remove()用于刪除指定文件。實驗只操作k210_test.txt不會影響默認配置文件。擴展應用常見問題文件系統相關問題在 AI 視覺實驗中非常常見。模型文件路徑寫錯、文件名大小寫不一致、SD 卡沒有識別、main.py自動運行舊代碼都會讓程序表現為“代碼沒錯但就是運行不了”。這類問題需要先看文件列表再看路徑再看資源是否存在。擴展實驗掌握文件系統管理后可以繼續擴展到資源檢測和項目啟動管理。比如 AI 模型運行前先檢查.kmodel是否存在LCD 顯示項目前先檢查字體文件是否存在項目部署前先確認main.py中保存的是最新穩定版本。對于課程項目來說文件系統管理不只是輔助內容而是后續 AI 視覺實驗的基礎能力。只要涉及模型文件、圖片資源、字體文件、配置參數和自動運行程序都需要先把文件路徑和資源位置處理清楚。總結本篇圍繞 CanMV K210 文件系統、main.py、config.json和資源文件管理進行了梳理。掌握文件列表查看、文件讀寫、測試文件刪除和默認文件識別后后續實驗會更穩定。K210 的很多運行異常都與文件路徑和資源缺失有關。完成本篇后后續加載 kmodel 模型、保存項目腳本、管理 SD 卡資源和部署 main.py 自動運行程序都會更清晰。