openMV修改底層原始碼 演算法 第一步

2021-10-01 14:52:03 字數 2295 閱讀 2438

參考連線:

編譯韌體:

公升級韌體:

其它安裝方法參考**:

a. win10配置linux子系統環境
su: authentication failure

此時只需要修改一次root密碼即可,輸入:sudo passwd ,按照提示重新設定密碼,不出意外的話即可使用su獲取root許可權

(4)完成之後需要使用vim編輯器和gcc編譯器,可直接使用以下命令安裝:

sudo apt-get install vim

sudo apt-get install gcc

b. 配置openmv編譯環境
參考**:

(1)在ubuntu的命令視窗依次執行以下命令:

sudo apt-get remove gcc-arm-none-eabi

sudo apt-get autoremove

sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa

sudo apt-get update

sudo apt-get install gcc-arm-embedded

sudo apt-get install libc6-i386

sudo apt-get install python2.7 python-dev python-pip

sudo apt-get install libusb-1.0-0 libusb-1.0-0-dev

sudo apt-get install python-gtksourceview2

sudo pip install numpy pyserial2.7 pyusb1.0.0b2 pillow

sudo apt-get install git

git clone --recursive

sudo cp udev/50-openmv.rules /etc/udev/rules.d/

sudo udevadm control --reload-rules

完成後cd src進入原始碼資料夾,即可執行make進行編譯。不出意外的話到此就可編譯成功。

cd src

make

b. 修改openmv版本

openmv團隊已將makefile檔案寫的非常完整了,需要編譯不同版本的韌體時,我們只需要修改makefile中的韌體版本與自己的韌體版本匹配即可,具體方法為

(1)在src目錄下開啟makefile檔案

(2)找到「target」,將它的值設定成你的openmv版本即可

注意:修改openmv版本後,需要先 「make clean」 一下再進行make編譯,否則由於鏈結檔案不同會報錯。如果嫌make速度慢,可用 make -j 進行多執行緒編譯(例如下圖,我的版本是openmv3)

燒寫方法可以直接參考官網公升級韌體中的 「dfu公升級」,只是我們需要將dfu檔案選擇為剛剛編譯出來的,上面編譯出來的dfu檔案會存放在src目錄下的bulid/bin資料夾下,我們需要的是openmv.dfu

短接方式如下圖(截圖自星瞳科技**:

公升級工具:

至此即可完成對openmv原始碼的編譯和韌體公升級,接下來開始自己修改原始碼去折騰吧!其它操作參考**:

變磚的處理方法

如果編譯出來的韌體版本不對,或者修改原始碼後導致韌體不能正常工作,可直接用dfu公升級方法公升級官方韌體進行恢復。也可自行修改原始碼,直到編出的韌體燒錄進去可以正常工作即可。

ArrayList底層原始碼

arraylist的屬性 private static final int default capacity 10 預設初始容量的大小 private static final object empty elementdata 空陣列,用於有參構造時引數為零的例項 private static fi...

Hash底層原始碼分析

hsah 雜湊將乙個任意長度通過某種 函式函式演算法 轉換成乙個固定值,通過hash出來的值,通過只定位到map,key value 基本原理。hashtable是基於map介面的實現。這個版本的實現提供了所有map操作的實現並且允許null值和null鍵 除了允許空值 null 和不支援同步,ha...

Spring ioc底層原始碼初見

ioc成為依賴注入 di 是乙個物件定義依賴關係的過程,物件只通過構造函式引數,工廠方法的引數或物件例項構造或工廠方法返回在物件例項上設定的屬性來定義它們所使用的其他物件,然後容器在建立bean時注入這些依賴項,這個過程本質是bean本身的逆過程,因此稱為控制反轉 ioc aliasregistry...