顯示具有 STM32 標籤的文章。 顯示所有文章
顯示具有 STM32 標籤的文章。 顯示所有文章

2018年12月22日 星期六

安裝TrueSTUDIO並整合STM32CubeMX

下載

  1. TrueSTUDIO (https://atollic.com/resources/download/)
  2. STM32CubeMX Eclipse plug (The latest) (4.27.0)

Reference


安裝

在之前STM32Cube介紹的文章裡面提過
STM32CubeMX支持MDK, IAR和TrueSTUDIO等多種Toochain
TrueSTUDIO已經被ST收購,並且完全 免費
它還能安裝Plugin將STM32CubeMX整合到軟體裡

(STM32CubeMX安裝請參考STM32Cube 5.0.0下載安裝)
開始安裝TrueSTUDIO



這邊是看你使用ST-Link還J-Link,我是兩個都裝



安裝driver






開始安裝TSTM32CubeMX Plugin
打開TrueSTUDIO後先設定workspace目錄要存哪


 進到TrueSTUDIO後,再從Help -> Install New Software安裝下載好的Plugin

輸入你要顯示的名稱,接著選擇Plugin存放的位置






安裝完後重新開啟TrueSTUDIO

重啟後首頁是Information Center,這個可以關掉
要再打開可以從Help -> Informatrion Center打開

Information Center關掉後就會顯示程式編輯視窗
接著把剛剛裝好的STM32CubeMX Plugin打開
從Windows -> Perspective -> Open Perspective -> Other進入

選擇你剛剛輸入的顯示名稱
我剛輸入
STM32CubeMX,所以就選擇STM32CubeMX

完成


2018年12月13日 星期四

把STM324x9I-EVAL的printf轉到debug viewer顯示

STM324x9I-EVAL的LWIP + RTOS預設是輸出到LCD上

我想要把訊息轉成輸出到debug viewer上
這邊用
LwIP_UDPTCP_Echo_Server_Netconn_RTOS這個範例和uVision來修改

1. 打開專案後進到Options for Target設定




2. 把main.h裡面的#define USE_LCD這行Comment掉
//#define USE_LCD

3. 把lcd_log.c裡面的LCD_LOG_PUTCHAR整段Comment掉

4. 把lcd_log_conf.h裡面Redirect the printf to the LCD下面那段整段Comment掉
///* Redirect the printf to the LCD */
//#ifdef __GNUC__
///* With GCC, small printf (option LD Linker->Libraries->Small printf
//   set to 'Yes') calls __io_putchar() */
//#define LCD_LOG_PUTCHAR int __io_putchar(int ch)
//#else
//#define LCD_LOG_PUTCHAR int fputc(int ch, FILE *f)
//#endif /* __GNUC__ */

5. 接著一樣在lcd_log_conf.h裡面加入以下程式
#define ITM_Port8(n)    (*((volatile unsigned char *)(0xE0000000+4*n)))
#define ITM_Port16(n)   (*((volatile unsigned short*)(0xE0000000+4*n)))
#define ITM_Port32(n)   (*((volatile unsigned long *)(0xE0000000+4*n)))
#define DEMCR           (*((volatile unsigned long *)(0xE000EDFC)))
#define TRCENA          0x01000000

struct __FILE { int handle;};
FILE __stdout;
FILE __stdin;

int fputc(int ch, FILE *f)
{
    if (DEMCR & TRCENA)
    {
        while (ITM_Port32(0) == 0);
        ITM_Port8(0) = ch;
    }
    return(ch);
}

6. 在main.c的SystemClock_Config後面加入debug訊息
printf("  test\n\r");

7. Rebuild後接著Ctrl + F5進入Debug

8. 進入Debug後打開Debug viewer
    單步執行到加入printf的地方就能看到訊息輸出在右邊的Debug viewer視窗


2018年12月3日 星期一

STM32Cube 5.0.0下載安裝

下載

  1. STM32CubeMX (The latest) (4.27.0)
2018/12/14 - 補上5.0.0使用心得
5.0.0編輯界面大幅修改
把設定都擺在同一個畫面裡
我的15吋NB使用起來非常的辛苦
所以後來又換回4.27版


安裝

 下載並解壓縮後,開始依以下圖示安裝


第二項是問要不要給ST收集資料








這邊會再問一次要不要給ST收集使用者資料

安裝完打開STM32Cube就會看到主畫面
選擇右方的INSTALL/REMOVE開始安裝Embedded software library


進來後先按一下下方的Refresh

接著選擇你要安裝哪一個系列的Embedded software包
這邊我選擇安裝STM32CubeF4



裝完後,前面會顯示綠色,Installed Version也顯示版本,表示安裝成功

安裝好的軟體包是放在C:\User\[您的account]\STM32Cube\Repository下
壓縮檔安裝完並不會自行刪除,請自行刪除
裡面有不同的資料夾與範例,詳細可以參考文末的參考文件



Reference

1. UM1730: Getting started with STM32CubeF4 MCU Package for STM32F4 Series
2. AN4739: STM32Cube firmware examples for STM32F4 Series

2018年11月30日 星期五

STM32Cube介紹

STM32Cube是STMicroelectronics提供給開發者的圖形化軟體工具
開發者可以透過圖形化介面快速設定周邊與應用,加速建立專案,省去一堆register設定
讓開發者可以更專注在產品的開發上

STM32Cube主要分成
Embedded software libraries與STM32CubeMX
Embedded software libraries包括HAL(Hardware Abstraction Layer)
HAL是個標準化API,方便開發者在不同的STM32裝置之間移植程式
還有一些Middleware如RTOS, USB, file system, TCP/IP, Touch...等libray
Embedded software libraries有好幾包,依ST的產品線去分類
開發者只需抓自己所使用的系列就好

STM32CubeMX就是我上面所提到的圖形化軟體工具
可以透過圖形化定義週邊、時脈(Clock)、中斷和Middleware
之後把您定義好的設定產生成C語言程式與專案(支援EWARM, MDK, TrueStudio...等)
此軟體還支援Power consumption計算與Embedded software libraries下載
透過此軟體就不必另外到ST網站抓,還可以選擇要安裝哪一個版本



下載

  1. STM32CubeMX (https://www.st.com/en/development-tools/stm32cubemx.html)
  2. Embedded software libraries (https://www.st.com/en/ecosystems/stm32cube.html)