步驟:
1. 由於我是在centos7上編譯的,所以在此之前需要為centos7安裝32位執行庫,方法是從網上搜尋來的,如果你是64bit的linux發行版,也需要安裝32bit執行庫,ubuntu與centos7需要安裝的庫有所不同,以下是centos7的安裝指令:
sudo yum install xulrunner.i686
sudo yum install libxtst.i686
2. toolchain : gcc-arm-none-eabi-5_2-2015q4-20151219-linux.tar.bz2
在命令列輸入,可從elua的git倉庫clone**到本地
git clone git:
編譯並安裝luarocks
tar -xvf luarocks-2.3.0.tar.gz
cd luarocks-2.3.0
./configure --prefix=/usr/local/luarocks
make
sudo make install
6. 使用luarocks安裝luafilesystem, md5, lpack,並為他們建立軟鏈結到lua的lib和share目錄下
luarocks install luafilesystem
luarocks install md5
luarocks install lpack
7. 以上的安裝命令會將那三個元件安裝到/usr/local/luarocks目錄下,所以需要對以上安裝的lua元件,建立乙個鏈結到本地lua的lib或者share中,否則編譯elua時還是會提示說未找到這三個元件
8. 編譯
lua build_elua.lua board=stm32f4discovery prog
注意需要加上"prog", 否則不會生成.hex或者.bin檔案,我們需要燒寫的是這兩個檔案之一
9. 燒寫,我是將編譯出來的.hex檔案拷貝到windows電腦上燒寫的,因為我的centos7伺服器放在別處。
燒寫完成後,將stm32disco通電,並使用microusb線連線板子另一邊的microusb口到pc或者linux主機。elua在板子中中實現了usb虛擬串列埠,所以我們不再另外需要usb轉串列埠來連線板子的串列埠,只需連線板子的microusb口,然後pc機裝上st的虛擬串列埠驅動(linux系統不需要安裝),就可以和板子通訊了。我將板子接到樹莓派上,所以不需要安裝虛擬串列埠驅動,在/dev目錄下的ttyacm0節點就是stm32的虛擬串列埠,使用minicom開啟該節點,串列埠配置為115200, 8n1, 無硬體流:
就可看見如下資訊:
stm32菜鳥學習筆記(1)
1.標頭檔案中,使用 ifndef define endif 可以避免標頭檔案內容重讀定義。2.mdk 編譯bug 要以回車結尾,不然會有warning。3.呼叫韌體庫必宣告的標頭檔案 include stm32f10x.h 識別符號為所定義的巨集名。字串 可以是常數 表示式 格式串等。例如 def...
STM32學習筆記
剛到公司實習,要學習stm32開發,boss給了一塊戰艦開發板,讓我自己寫乙個功能要用在公司的產品上。難啊。以前根本沒接觸過stm32,只能一步一步慢慢來,利用晚上利用週末惡補一下。哎,算是為了大學前兩年還債吧。一 跑馬燈實驗 gpio輸出 實驗環境 keil4 實驗平台 戰艦stm32開發板 gp...
stm32學習筆記
開漏模式輸出 輸出暫存器上的 0 啟用 n mos,而輸出暫存器上的 1 將埠 置於高阻狀態 p mos從 被啟用 推挽模式輸出 輸出暫存器上的 0 啟用 n mos,而輸出暫存器上的 1 將啟用 p mos。上拉輸入 輸入高電平,然後接乙個 上拉電阻 保護作用 讀取此時的引腳電平為高電平 下拉輸入...