一、拆解CSI
分析文件結構
1. CDK工程文件
2. 官方教程
3. 內存相關
4. 迷你庫(提供初始化、內存分配、獲取時間、打印輸出功能)
5. 神經網絡庫
6. 內核庫
7. DSP庫
8. 測評開發板APT110 LCD EV Board V1.3的例程
提取有效信息
1. AN1680_QuickStart_APT32F110x系列_CSI v1.2.pdf
描述使用APT32F110x系列芯片所需硬件和軟件
2. AN1681_APT32F110x系列CSI_API說明手冊 v1.3.pdf
描述CSI(chip standard interface)的具體API,具備手冊功能
3. AN1682 APT32F110x CSI代碼結構和使用說明 v1.1.pdf
描述了各個文件的主要功能
綜合來看,文檔的掌握順序應為AN1680→AN1682→AN1681
通過AN1680搭建開發環境;
通過AN1682掌握每個組件(文件)的功能;
通過AN1681查閱功能函數;
和前文呼應一下,在查看AN1682時解答了上面分析目錄樹的疑惑,存在csi_xxx命名的文件,功能是向開發者提供寄存器級的操作支持,而沒有csi_前綴的.c和.h文件則是提供了標準的封裝函數,目的是當開發者不滿足標準函數時可以基于寄存器級別的封裝庫搭建自己的函數庫,不得不說還是很良心的。
梳理軟件運行流程
1. 在AN1682中有提到,附截圖。
二、分析例程
GPIO 中斷
void exi0_int_handler(void)為PA00的中斷服務函數,為顯示中斷效果,通過PA06驅動外接的LED亮滅。最終現象為:按下板載S1,LED亮,再按S1,LED滅,循環往復。
系統可靠性LVD
簡要說明,LVD功能允許開發者自定義系統供電電壓閾值,即csi_lvd_int_enable(LVD_INTF,LVD_30);中的LVD_30,當低于所定閾值時觸發中斷,一般用于保護重要數據,閾值可以替換成下圖中的任何一個。
實現效果如下:
當供電電壓低于3.0V時,芯片進入LVD中斷,使LED2狀態發生反轉。
三、測評總結
在本周的學習過程中完成了對demo工程文件夾的功能分類、函數庫的風格分類和兩個具體功能的測試。具體功能分別是通過外接LED來顯示GPIO中斷效果和通過板載LED2展現LVD功能。官方提供的SDK庫函數命名嚴謹,代碼結構合理。使用CDK的過程中,無論是查找變量來回跳轉還是調試進行單步運行,操作十分絲滑。
-
開發板
+關注
關注
25文章
5068瀏覽量
97621 -
測評
+關注
關注
0文章
42瀏覽量
3121
發布評論請先 登錄
相關推薦
評論