2013年1月30日 星期三

[STM32F3 教學] 如何看spec和找資料


          之前筆者我也常常有一個困擾,STM32SPEC很多,而且還很多頁,真的不知道該從何下手。很多人這就是這樣,在沒有人帶領之下,又花了很多時間,慢慢的就放棄學習STM32了;你害怕了嗎?沒關係,筆者會用比較簡單的介紹,來介紹ST在網頁上,SPEC的分類,和如何快速有效的找出你想要的資料,也避免因為不熟悉,而浪費過多的時間在上面。




此篇文章是以STM 32F 3F 303VC,這顆MCU做為範例:我們要先登入ST的頁面(http://www.st.com/internet/mcu/product/252054.jsp),如下圖:




Quick 快速瀏覽此顆MCU擁有的功能




Datasheet 此顆MCUSPEC




Key features 此顆MCU的主要功能































接著用滑鼠點擊進入「Design support」,你會看到幾個比較主要的章結:




DATASHEET:此顆MCU的規格書,快速的了解此顆MCU與周邊的介紹




APPLICATION NOTE 關於此顆MCU相關的應用範例說明或是小技巧的介紹




ERRTA:勘誤表,修正/提醒 此顆MCU 規格書上不足的地方




PROGRAMMING MANUAL:關於此顆MCU 譔寫程式上呼叫LIBRARY上使用的說明




REFERENCE MANUAL 完整的介紹此顆MCU與周邊




USER MANUAL 相關的使用者介紹,例如程式架構,周邊架構




大概上,筆者一定都會下載DATASHEET/ PROGRAMMING MANUAL/ REFERENCE MANUAL,因為這樣在了解此顆MCU和程式架構上會更容易找到資料。對了,別忘了稍微看一下ERRTA,這也是了解這顆MCU非常重要的一環。









要有好的結果,必須要有好的工具,善用SPEC這個工具,會事半工倍,先預祝大家看SPEC可以看出心得。




下一篇預告:ARM匯流排的介紹。




2013年1月5日 星期六

[STM32F3 教學] (MDK)Keil debug 方法

今天來介紹一下,如何使用STM32F3 Discovery。


如果有需要的人,可以找我購買,這是我最近在弄的副業,希望大大多多幫忙:


http://goods.ruten.com.tw/item/show?21212019308469


因為這塊板子有內建ICE: ST-LINK/V2 其實是非常划算的一塊板子:


ICE相關的頁面可以參考:http://www.st.com/internet/evalboard/product/251168.jsp


ICE Driver:http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/SW_DRIVER/st-link_v2_usbdriver.zip



以下是這塊discovery的介紹:


此MCU為ARM base cortex-M4,256KB flash,48KB RAM,最高可以跑在72MHZ包含了DSP,他最強的功能在他的類比電路


包含了:高速12bit ADC(四通道,最多39組,最高5Msps取樣),12bit DAC, 其中還有7組比較器和4組OPA(這只能微調,2/4/8/16倍放大,雖然可調性不多,但在MCU來說,已經非常強悍了)。


三軸陀螺儀(Gyro),L3GD20: http://www.st.com/internet/analog/product/252443.jsp


三軸加速規(accelerometor)+三軸電子羅盤(compass),LSM303DLHC: http://www.st.com/internet/analog/product/251940.jsp





這次的內容是要介紹如何使用MDK(Keil)配合ICE:


1、 Option


2、debug確認有選好ICE - ST-LINK/V2。


3、utility確認選好ICE- ST-LINK/V2。


4、進入Debug mode。






進入debug mode時, 選擇我們要設定的暫存器。





我們可以看一下LED的介紹, 這塊板子的LED 都使用 PE.x的腳位。


4.4 LEDs
● LD1 PWR: red LED indicates that the board is powered.
● LD2 COM: LD2 default status is red. LD2 turns to green to indicate that
communications are in progress between the PC and the ST-LINK/V2.
● User LD3: red LED is a user LED connected to the I/O PE9 of the STM32F303VCT6.
● User LD4: blue LED is a user LED connected to the I/O PE8 of the STM32F303VCT6.
● User LD5: orange LED is a user LED connected to the I/O PE10 of the
STM32F303VCT6.
● User LD6: green LED is a user LED connected to the I/O PE15 of the
STM32F303VCT6.
● User LD7: green LED is a user LED connected to the I/O PE11 of the
STM32F303VCT6.
● User LD8: orange LED is a user LED connected to the I/O PE14 of the
STM32F303VCT6.
● User LD9: blue LED is a user LED connected to the I/O PE12 of the STM32F303VCT6.
● User LD10: red LED is a user LED connected to the I/O PE13 of the STM32F303VCT6.




1、先設好斷點如2的位置。


2、按run
3、可以測試一下gpio的狀況,點點看,可以看到LED燈的變化。


這實在是ICE 非常好用的功能





另外就是我們常需要使用的部分,如果我們要觀察變數的地方。可以照下面的方法操作。





以上是簡單介紹如何用Keil 使用ICE 做debug的方式。


希望對大家有幫助。