1. 程式人生 > >【MPC5744P】FreeMaster上位機配置

【MPC5744P】FreeMaster上位機配置

FreeMaster除錯相對於勞特巴赫的工具可能沒有那麼強大,但是它有一個優點,就是免費,也可以實時觀察變數,而無需停下來,不過需要注意的是變數必須是全域性變數。

FreeMaster本質上和普通上位機沒有太多區別(比一般上位機多了除錯口連線),但是對於一般除錯而言,可以大大減少開發者自行開發上位機的必要性。

FreeMaster上位機可以直接加在elf檔案並且獲取其中的符號對應的地址,因此動態獲取到該地址的資料,而無需開發者手動上傳,減少了診斷程式碼(若是使用非除錯口的通訊口,例如CAN或UART,則下位機需要新增FreeMaster原始碼,並呼叫FMSTR_Init()和FMSTR_Poll()進行初始化和輪詢

)。

以下介紹FreeMaster的使用方法。

 

上位機:
        1、安裝FreeMaster2.0上位機軟體以及驅動
        2、新建一個專案
        3、Tools->Connection Wizard,FreeMaster可以通過多種介面除錯,常規的可以用串列埠或者CAN或者on-board debugger,一般用偵錯程式即可,可以不需要多配置外設,並且不需要增加FreeMaster原始碼,程式不用做任何更改


        4、選擇偵錯程式為介面之後,plug-in Configuration,看你使用的是哪種的偵錯程式,若是開發板自帶的,一般是OpenSDA,購買的USB Multilink也可以,設定完成之後,會提示載入符號,即選擇對應的elf檔案


        5、BDM選擇P&E Nexus/OSBDM PowerPC,其它預設,然後就可以了


        6、新建一個觀察變數,輸入我們要觀察變數地址符號,例如全域性變數uint32_t count,輸入count即可,變數取名隨意,最好一致,Sampling為取樣時間。


        7、Start Communication

 

若是使用偵錯程式,則下位機不需要做任何特別修改,以下忽略。

下位機(示例程式碼:https://download.csdn.net/download/u010875635/10828808):
        1、在專案include資料夾下新建FreeMaster資料夾,下面再建Commonsrc_commonsrc_platforms三個資料夾
        2、複製FreeMaster安裝資料夾下的examples\SCI_driver_examples\Common下的freemaster_example.c和freemaster_example.h複製到Common中
        3、複製src_common下所有檔案到src_common中
        4、複製src_platforms\MPC57xx下所有檔案到src_platforms中,並將freemaster_cfg.h.example改為freemaster_cfg.h。


        5、專案屬性->C/C++ General->Paths and Sysbols中Includes新增上述三個資料夾的相對路徑


        6、註釋Common\FreeMaster_example.c中6行資料
                 //#include "data_img_logo.c"
                 //#include "data_img_tower.c"
                 //#include "data_demo_pmp.c"

                 //    FMSTR_TSA_MEMFILE("logo.png", logo_png, sizeof(logo_png))
                 //    FMSTR_TSA_MEMFILE("tower.gif", tower_gif, sizeof(tower_gif))
                 //    FMSTR_TSA_MEMFILE("/demo.pmp", demo_pmp, sizeof(demo_pmp))


        7、main.c中新增
                  #include "freemaster.h"
        6、初始化中初始化完時鐘之後,呼叫FMSTR_Init();
        7、迴圈呼叫FMSTR_Poll();
        8、建立完畢,編譯下載後連線上位機即可