環境介紹
陳品杰 <n26021539@mail.ncku.edu.tw>
林宏達 <openbox00.tw@gmail.com>
From NCKU
國立台北科技大學 / 2014-08-24
2014/8/13 1
開發版相關軟體安裝
2014/8/13 2
預先準備
• 以 Ubuntu 14.04 64bit 作為開發平台
• 取得 GNU Toolchain: 可直接使用 Ubuntu 的 gcc-arm-none-eabi 操作
如下:
• 若因為 Ubuntu 版本較舊,而找不到 apt 來源而致使前一命令失敗
的話,改為以下操作:
sudo apt-get install gcc-arm-none-eabi
sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded
sudo apt-get update
sudo apt-get install gcc-arm-none-eabi
2014/8/13 3
裝 st-link 工具
• sudo apt-get install automake* libtool libusb-1.0-0-dev
• sudo apt-get install git(如果已安裝GIT則省略此步驟)
• mkdir work (創建一個資料夾放置相關檔案)
• cd work
• git clone https://github.com/texane/stlink.git
• cd stlink
• ./autogen.sh
• ./configure --prefix=/usr
• make
• sudo make install
• sudo cp 49-stlinkv2.rules /etc/udev/rules.d/
2014/8/13 4
更新/還原 ST 展示韌體程式碼
• 操作方式:
• 確認 STM32F429I-Discovery_FW_V1.0.1 已下載:
• http://www.st.com/web/en/catalog/tools/PF259429
• unzip stsw-stm32138.zip
• 確認已正確設定 Toolchain 的 $PATH 環境變數
• arm-none-eabi-objcopy -I ihex -O binary `find -name STM32F429I-
DISCOVERY_Demo_V1.0.1.hex` /tmp/out.bin
• st-flash write /tmp/out.bin 0x8000000
2014/8/13 5
燒錄示範韌體
• 操作方式:
• 確認前述 st-link, openocd 以及 Toolchain 均已正確安裝和設定
• git clone https://github.com/jserv/stm32f429-demos.git
• cd stm32f429-demos
• make list
• 應該可見若干韌體清單,以 Paint 為例,可透過以下命令燒錄到
STM32F429 Discovery 中: (以下任選一個)
• make flash-Paint
• make flash-STM32CubeDemo_STM32F429I-Discovery
• make flash-STM32F429I-DISCOVERY_Demo_V1.0.1
2014/8/13 6
GITHUB檔案版本
控制工具介紹
2014/8/13 7
簡介 & 安裝
• 關於 git 的簡介可參考 Wikipedia:
• http://zh.wikipedia.org/wiki/Git
• 在 Ubuntu/Debian 上輸入以下指令安裝:
• sudo apt-get install git-core
• 之後至GITHUB網站申請帳號
• https://github.com/
2014/8/13 8
帳號申請完後的畫面如下
你的專案與Fallow別人專案
你的貢獻(上傳次數)
點選可觀看全部資料夾
2014/8/13 9
專案相關資訊
專案的資料
提交次數
分支數目
專案說明
(內容為README.md檔案內容)
圖表
2014/8/13 10
Graphs相關資訊 可以至別人專案資料夾點選FORK,
之後再自己帳號底下也會有此專案資料夾
每個黑長條柱都是一個Branch(分支)
點選Network可觀看此
專案的提交狀況
專案使用者
• 每個節點都是一次提交(Push)2014/8/13 11
使用前的設置
• 首先帳號底下創建一個新的repository,之後設置相關資訊
2014/8/13 12
創建完的畫面
2014/8/13 13
下載檔案
• 輸入以下指令下載專案資料夾內容與執行相關設定
• git clone https://github.com/openbox00/test.git
• cd test
• 第一次執行GIT時,請務必設定自己的名字與信箱,因為Git是利
用名字與信箱來分辨貢獻者。
• git init
• git config --global user.name openbox00
• git config --global user.email openbox00.tw@gmail.com
• git config –global --list (可檢查是否設定成功)
• git pull (第一次clone時,需與資料夾作同步,所以須執行pull)
• 相關操作可至http://git-scm.com/book/zh-tw查詢
2014/8/13 14
產生SSH Keys
• 於家目錄下執行以下指令
• ssh-keygen -t rsa -C „openbox00.tw@gmail.com“
• 接下來都按下ENTER,完成後會出現以下畫面
2014/8/13 15
產生SSH Keys
• 接著執行
• cd .ssh/
• vi id_rsa.pub
• 將裡面的所有文字複製
• 之後至GITHUB帳號底下,於右上角點選帳戶設定
2014/8/13 16
產生SSH Keys
• 點選SSH KEYS,新增SSH KEY
2014/8/13 17
產生SSH Keys
• 之後會出現下面視窗,Title打上你想要的名稱,KEY則是貼上剛才複製的
id_rsa.pub
2014/8/13 18
貼上id_rsa.pub
的字元
上傳檔案
2014/8/13 19
• 首先先設定遠端資料夾
• git remote add <打上你想要的名稱> git@github.com:openbox00/test.git
• <>不用打
• 後面的網址為帳號資料夾下點選SSH的網址
先點選SSH,在複製網址
上傳檔案
2014/8/13 20
• 這邊我的remote名稱為github
• 之後回到終端機資料夾下,打上ls可看到資料夾下的檔案
• 假使我們要新增檔案,透過下面指令來新增
• touch <file1>
• <>不用打
• 接著輸入下面指令
• git add <file1>
• 有多少檔案後面就接多少個,也可輸入<.>一次新增所有加入的檔案
上傳檔案
2014/8/13 21
• 加入完後,我們必須執行COMMIT
• git commit -m “簡單介紹這次上傳”
• 也可直接輸入git commit編輯,這邊使用-m “”,是直接對commit標題作編譯
• 完成後會出現以下畫面
資料夾下的檔案
新增檔案
commit
commit執行結果
上傳檔案
2014/8/13 22
• 執行完git commit後,執行git push指令才會真正上傳你所改變的
檔案,如果只執行git add只是將新增的檔案放置到local git的紀錄。
• 接著執行push動作
• git push github master
• 這邊的github為剛才remote的名稱
• master為branch的名稱(一開始創建專案資料夾時,都是預設master)
• Branch可以視需求自己新增,之後push可以push到想要的branch
• 執行結果如下
上傳檔案
2014/8/13 23
• 執行完後網頁帳號專案資料夾結果如下圖
Commit會多一
檔案多一個
上傳檔案
2014/8/13 24
• 刪除檔案也是一樣的動作
• 假使我們想要刪除README.md~
• 注意上傳的檔案請包涵必要檔案,這邊做了錯誤示範,將暫存檔也上傳,
所以我們要將不必要的檔案刪除
• 透過以下指令刪除
• git rm –rf README.md~
上傳檔案
2014/8/13 25
• 一樣做了改變必須commit
• git commit –m ”打上你的說明”
• 接著透過push將檔案上傳
• git push github master
上傳檔案
2014/8/13 26
• 執行完後網頁帳號專案資料夾結果如下圖
Commit會多一
檔案少一個
Ref
2014/8/13 27
• NCKU CSIE WIKI http://wiki.csie.ncku.edu.tw/
• STM32F429 Discovery 環境設定(Hackpad)
https://stm32f429.hackpad.com/NOTE-WbiooOfkaoR
• Git book http://git-scm.com/book/zh-tw

Git安裝