文章目錄
- 1. MDK系列單片機開發軟體 - keil MDK
-
- 1.1 安裝與配置
- 1.2 建立工程
-
- 1.2.1 在keil中建立工程
- 1.2.2 配置工程檔案夾
- 1.2.3 在Keil中配置工程檔案
- 1.2.4 其他配置
- *(H7) 建立工程檔案夾
- *(H7) 建立新工程
- *(H7) 添加工程檔案
- 1.3 常用設定
-
- 1.3.1 多核并行編譯
- 1.3.2 字型設定
- 1.3.3 文法提示
- 1.3.4 護眼主題
- 1.4 Configuration頁籤簡介
-
- 1.5 驅動安裝、配置、程式燒錄下載下傳與常見問題
-
- 1.5.1 JLNK一般配置與常見問題
- 1.5.2 JLINK驅動安裝
- 1.5.3 CH340驅動安裝(RS232轉USB晶片)
- 1.5.4 添加晶片包Device
- 1.6 Bootloader程式設定
-
- 1.7 異常
-
- 1.7.1 燒錄程式時缺少MCU 的flash 算法
- 1.7.2 注釋輸入中文變問号
- 1.7.3 ⚠常見編譯 Warning & Error
- 1.7.4 工程打開卡死
- 1.7.5 程式下找報錯 "Flash Download failed"
- 1.7.6 error: #268:declaration may not appear after executable statement in block
- 1.8 在特定格式檔案内搜尋全部關鍵字内容
- 1.9 Option for Target頁籤簡介
-
- 1.9.1 Target
- 1.9.2 Output
- 1.9.3 Listing
-
- 1.9.4 User
-
- 1.9.5 C/C++
- 1.9.6 Debug
- 1.9.7 Utilities
- 1.10 仿真/調試模式
-
- 1.10.1 調試界面
- 1.10.1 參數監控界面
- 1.11 ARM開發工具指南 - help
- 2. STC-ISP - STC晶片燒錄/代碼編寫工具
-
- 2.1 hex檔案燒錄
- 2.2 向Keil中添加STC51晶片包(Device)
- 3. SecureCRT - 序列槽終端仿真軟體
-
- 4. MProg - EEPROM程式設計器
-
- 5. RS485(Modbus協定)調試軟體
- 6. SEGGER J-Flash ARM - J-Link程式燒錄工具
- 7. CAD
-
- 8. STM32晶片Hex檔案燒錄器(脫機)
-
- 8.1 Hex檔案下載下傳到脫機
- 8.2 程式下載下傳到MCU
- 9. CAM350
-
1. MDK系列單片機開發軟體 - keil MDK
1.1 安裝與配置
參考:https://blog.csdn.net/ChenGuiGan/article/details/80218875
pj software
- 到keil 官網下載下傳MDK 版本 keil 并安裝;
- 百度下載下傳keil 注冊機(見上 pj software 連結🔗);
- 右擊管理者身份打開安裝好的 keil - File - LicenseManagement - 複制 CID 序列号;
- 打開keil zhucheji,把複制的序列号粘貼到CID 中,Target 選
ARM
,下拉選擇MDK Professional,點Generate,複制生成的序列号;
若出現報錯 ..\OBJ\RS485.axf: error: L6047U: The size of this image (33920 bytes) exceeds the maximum allowed for this version of the linker
是沒pj 成功,換個對應版本的pj 軟體試一試;
5. 回到keil,把複制的序列号粘貼到LIC 區域,點Add LIC;
6. 【包安裝】
1.2 建立工程
參考:使用MDK5建立Cortex-M應用指南-中文版
詳見開發指南:
建立基于固件庫的 RVMDK 工程模闆
一節。
1.2.1 在keil中建立工程
在Keil中建立一個工程,選擇STM32晶片
1.2.2 配置工程檔案夾
當然,可以直接複制開發闆附送的工程模闆進行使用。
- 在工程目錄下面,建立 3 個檔案夾 CORE, OBJ、STM32F10x_FWLib. 其中:
- CORE 用來存放核心檔案和啟動檔案。
- OBJ 是用來存放編譯過程檔案以及 hex 檔案。
- STM32F10x_FWLib 檔案夾用來存放 ST 官方提供的庫函數源碼檔案。
- 已有的 USER 目錄除了用來放工程檔案外,還用來存放主函數檔案 main.c,以及其他包括 system_stm32f10x.c 等等。
- 将官方的固件庫包裡的源碼檔案複制到工程目錄檔案夾下面。打開官方固件庫包,定位到之前準備好的固件庫包的目錄STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver 下面,将目錄下面的 src,inc 檔案夾複制到剛才建立的 STM32F10x_FWLib 檔案夾下面。其中src 存放的是固件庫的.c 檔案,inc 存放的是對應的.h 檔案。
- 将固件庫包裡面相關的啟動檔案複制到工程目錄 CORE檔案夾下。打開官方固件庫包,定位到目錄STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport 中,将檔案 core_cm3.c和檔案 core_cm3.h 複制到 CORE 檔案夾中 。 然 後 定 位 到 目 錄STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm 下面,将裡面的startup_stm32f10x_hd.s (根據不同晶片選擇)檔案複制到 CORE 檔案夾中。
不同容量的晶片使用不同的啟動檔案,比如晶片 STM32F103ZET6 是大容量晶片,是以選擇啟動檔案startup_stm32f10x_hd.s。
- 定位到目錄:STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x 下面将裡面的三個檔案stm32f10x.h,system_stm32f10x.c,system_stm32f10x.h,複制到我們的 USER目錄之下。然後将STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template 下面的 4 個 檔案main.c,stm32f10x_conf.h,stm32f10x_it.c,stm32f10x_it.h 複制到 USER 目錄下面。
1.2.3 在Keil中配置工程檔案
- 建立Keil工程後,點選菜單欄上的品字圖示(Manage Components),Project Targets 一欄,将 Target 名字修改為項目名,然後在 Groups 一欄删掉一個 Source Group1,分别建立USER,CORE,FWLIB. 點選 OK.
- 往 Group 裡面添加需要的檔案。 選擇需要添加檔案的 Group,這裡第一步選 擇 FWLIB , 然 後 點 擊 右 邊 的 Add Files, 定位到剛才建立的目錄STM32F10x_FWLib/src 下面,将裡面所有的檔案選中(Ctrl+A),然後點選 Add,然後 Close. 可以看到 Files 清單下面包含已添加的檔案。
注:對于工程代碼,如果隻用到了其中的某個外設,可以不用添加沒有用到的外設的庫檔案。比如隻用 GPIO,可以隻用添加 stm32f10x_gpio.c 而其他的可以不用添加。否則工程太大,編譯起來速度慢。
- 用同樣的方法,将 Groups 定位到 CORE 和 USER 下面,添加需要的檔案。這裡 CORE 下面需要添加的檔案為 core_cm3.c,startup_stm32f10x_hd.s,USER 目錄下面需要添加的檔案為 main.c,stm32f10x_it.c,system_stm32f10x.c.
- 配置頭檔案檔案夾路徑。點選菜單欄的魔術棒(Option for target),選擇c/c++選項,點選 Include Paths右邊的…按鈕。彈出一個添加 path 的對話框,然後我們将頭檔案目錄添加進去。
注意,keil 隻會在一級目錄查找,是以如果你的目錄下面還有子目錄,記得 path 一定要定位到最後一級子目錄。
1.2.4 其他配置
- 在編譯之前首先要選擇編譯中間檔案編譯後的存放目錄。點選魔術棒,選擇“Output”選項下面的“Select folder for objects…”,選擇目錄為上面建立的 OBJ 目錄。
- 庫函數在配置和選擇外設的時候通過宏定義來選擇的,是以需要配置一個全局的宏定義變量。同樣點選魔術棒,定位到 c/c++界面,然後填寫“STM32F10X_HD,USE_STDPERIPH_DRIVER”(視晶片而定)到 Define 輸入框裡。
注:如果用的是中容量晶片那麼 STM32F10X_HD 修改為 STM32F10X_MD,小容量修改為 STM32F10X_LD.
*(H7) 建立工程檔案夾
工程檔案夾内的内容可參考下圖建立,其中User-bsp檔案夾中是開發闆各個外設的驅動,segger檔案夾是硬體異常分析代碼。
*(H7) 建立新工程
打開MDK,選擇 Project ->New uVision Project-選擇工程路徑-填寫工程名-儲存。
選擇晶片
設定工程名和工程分組:Project-Manage-Project Items
建立工程分組
*(H7) 添加工程檔案
其中最左邊Project Targets為工程分組,修改其内容即可修改工程名字。
工程–>功能代碼分組–>代碼源檔案。
如在各工程分組中添加以下代碼檔案
bsp.c 位于路徑\User\bsp,主要用于 MPU、Cache、時鐘和外設初始化。
bsp.h 位于路徑\User\bsp,此檔案是各種頭檔案的集中彙總貼,友善管理。
bsp_led.c 位于路徑\User\bsp\src,用于 LED 驅動。
bsp_key.c 位于路徑\User\bsp\src,用于按鍵驅動。
bsp_timer.c 位于路徑\User\bsp\src,用于軟體定時器組和微妙級單次延遲。
bsp_fmc_io.c 位于路徑\User\bsp\src,用于 IO 擴充,這裡 LED 要用到。
bsp_uart_fifo.c 位于路徑\User\bsp\src,用于 8 序列槽 FIFO 驅動。
stm32h7xx_it.c 位于路徑 User\bsp,用于部分系統中斷服務程式。
startup_stm32h743xx.s 位于路徑\Libraries\CMSIS\Device\ST\STM32H7xx\Source\Templates\arm,主要用于堆和棧空間設定,中斷向量表也在這個檔案。
stm32h7xx_hal_conf.h 位于路徑\User\bsp,主要用于 HAL 庫的配置。
其它檔案路徑:\Libraries\STM32H7xx_HAL_Driver\Src,用到什麼外設添加什麼驅動檔案即可,有些外設驅動跟 DMA 也有關聯,直接添加進來即可。
system_stm32h7xx.c 位于路徑\Libraries\CMSIS\Device\ST\STM32H7xx\Source\Templates,主要用于複位 RCC 相關寄存器和中斷向量表位置設定。
這兩個檔案位于路徑:\User\segger\HardFaultHandlerMDK,主要用于硬體異常分析。
1.3 常用設定
1.3.1 多核并行編譯
Edit --> Configuration --> Other
1.3.2 字型設定
安裝微軟雅黑混合字型,字型效果很棒,解決顯示中文的BUG
Edit --> Configuration --> Editor --> 選擇簡體中文
在Colors & Fonts中可選擇對應的字型。
1.3.3 文法提示
Edit --> Configuration --> Text Completion --> 勾選 Symbols after 3 characters
注意:需要在工程(Project)中才能實作代碼補全功能,要對工程先編譯一遍;
1.3.4 護眼主題
Edit --> Configuration --> color&fonts —> 左邊Windows 中選擇C/C++ Editor files 一項 --> 右邊Element 中選擇Text --> 再右邊選擇background --> 将除 Matching Braces 和 Incomplete String 以外的色調設定為84 飽和度設定為91 亮度為205;
1.4 Configuration頁籤簡介
1.4.1 解決中文亂碼
Edit - Configuration - Editor - Encoding,選擇Chinese GB2312
1.5 驅動安裝、配置、程式燒錄下載下傳與常見問題
1.5.1 JLNK一般配置與常見問題
- project --> option for target --> Debug
- 其中圖三中的程式算法選擇晶片對應的算法;
- 圖二HW為J-Link版本号
圖2中 SW Devices
需要Jlink連接配接單片機方可搜尋得到
- JLINK接口介紹:
JLINK固件,JLINK驅動和JLINK硬體版本之間的關系,以及固件更新方法
JLINK 無法下載下傳解決思路以及常見問題整理
1.5.2 JLINK驅動安裝
對于新型晶片,務必使用JLINK V9、V10;
登入SEGGER官網JLINK驅動下載下傳頁面下載下傳最新JLINK驅動并進行安裝;
安裝完成後,插上JLINK并打開電腦的裝置管理器,檢視電腦端是否能識别出JLINK,若JLINK燈一直閃,表示驅動沒有安裝成功,若不閃表示安裝成功;
1.5.3 CH340驅動安裝(RS232轉USB晶片)
CH340/CH341的USB轉序列槽WINDOWS驅動程式的安裝包,支援32/64位 Windows 10/8.1/8/7
安裝成功後,插上RS232轉USB線到電腦并打開電腦的裝置管理器,檢視電腦端是否能識别出來;
1.5.4 添加晶片包Device
- 方法一:到keil官網中的device頁面,選擇對應晶片,在右下角Device Family Pack中點選下載下傳,下載下傳的檔案為 .pack 格式檔案,輕按兩下安裝即可。
- 方法二:直接在MDK5 軟體包網頁下載下傳 .pack檔案進行安裝。
安裝完成後,傳回keil5 MDK中的device頁面檢視是否安裝成功。
1.6 Bootloader程式設定
- 配置程式的ROM起始位址和占用ROM的大小,這個位址将會在程式擦除和下載下傳時被參考到;這個IROM1也叫做中斷向量表的起始位址。如果程式在 Flash 運作,則中斷向量表的預設起始位址是 0x08000000 ,此時需要将其改為程式的起始位址,如0x8005000 . 2.在代碼初始化處添加程式對應的ROM起始位址,其應與步驟1中設定的程式起始位址一緻:
NVIC_SetVectorTable(NVIC_VectTab_FLASH,(0x08005000));
- 程式下載下傳時,選擇部分擦除,擦除的起始位址會參考步驟1中設定的位址;
包括其他程式燒錄(如脫機燒錄器)在配置時也需要選擇擦除扇區來更新代碼,在需要填寫擦除扇區的起始位址時,填入程式的起始位址,如0x8005000 .
1.6.1 Bootloader介紹
- 單片機燒錄的分類:
- ISP:In System Programing - 在系統程式設計。⽐如使⽤STC-ISP對STC芯⽚程式設計,還有利用Flash loader對STM32程式設計等,切換BOOT0BOOT1讓晶片進boot程式。⽀持ISP的芯⽚⼀般在芯⽚内部固化了⼀段(⽤ISP更新的)boot程式。
- ICP:包括In Circuit Programing - 在電路程式設計和ICSP:In-Circuit Serial Programming,在電路串⾏程式設計。如:對EEPROM程式設計等。ICP程式設計⽅式⽹上各有說法,從字⾯含義(在電路)來說,所有處于程式設計的芯⽚都需要上電,都處于電路中。不嚴格來說利⽤J-Link、ST-Link、e-Link32等⼯具進⾏程式設計也屬于在電路程式設計(ICP)。在維基百科中,在系統程式設計(ISP),也稱為在電路串⾏程式設計(ICSP)。
- IAP:In applicating Programing - 在應⽤程式設計:即Bootloader使用的單片機程式設計方式,可以簡單了解為:在程式運⾏的過程中進⾏程式設計(更新程式,更新固件)。 IAP是⽤戶⾃⼰的程式在運⾏過程中對User Flash的部分區域進⾏燒寫,⽬的是為了在産品釋出後可以⽅便地通過預留的通信⼝對産品中的固件程式進⾏更新更新。
- Bootloader程式更新流程:
- 上電後檢查是否需要對第二部分代碼進行更新
- 如果不需要就轉到4)
- 執行更新程式
- 設定系統排程,跳轉到使用者應用程式運作
1.7 異常
1.7.1 燒錄程式時缺少MCU 的flash 算法
線上下載下傳flash算法檔案 ,然後把這些檔案放到檔案目錄:
keil安裝路徑/ARM/Flash
,以
.flm
字尾結尾的檔案即為 flash 算法檔案;
1.7.2 注釋輸入中文變問号
Edit --> Configuration --> Editor
1.7.3 ⚠常見編譯 Warning & Error
- warning: #69-D: integer conversion resulted in truncation:變量指派超出了變量所定義類型的最大值;
如 u8
定義的變量為8位無符号整型 unsign char
,最大值為255,負值超出255則報警告;
- main.c(18): warning: #1-D: last line of file ends without a newline
main函數花括号最一行沒加回車
- error:#29: expected an expression
在下圖地方添加 --c99 ;
1.7.4 工程打開卡死
删除DebugConfig檔案夾,在重新打開工程。
1.7.5 程式下找報錯 “Flash Download failed”
晶片第一次燒錄ok,第二次燒錄報以下錯誤。
選擇晶片對應的啟動算法檔案。
1.7.6 error: #268:declaration may not appear after executable statement in block
将報錯的變量或其他部分放在函數開頭。
放在函數開頭。
TODO : - 為什麼KEIL編譯按鈕是灰色的
- 如何在keil官網下載下傳想要的固件pack
1.8 在特定格式檔案内搜尋全部關鍵字内容
選中關鍵字 - Ctrl+F - 見下圖;
1.9 Option for Target頁籤簡介
Project-Option for Target
1.9.1 Target
- 軟體仿真時用到的晶振頻率(軟體仿真問題多);
- 選擇編譯器;
- 微庫 MicroLib,這個庫針對嵌入式應用,MicroLIB 做了深度優化,比使用 C 标準庫所需的 RAM 和 FLASH 空間都大大減小。比如調用:<math.h>,<stdlib.h>,<stdio.h>,<string.h>;
ARM官網的MicroLib介紹
- 硬體浮點,根據晶片支援而選擇;
- Flash的首位址,根據晶片而頂,一般首位址都是 0x0800 0000,如STM32H743XIH的FLASH大小為 0x200000,即 2MB;
- 預設的 RAM 空間選擇 DTCM,首位址 0x2000 0000,大小 0x20000,即 128KB。位址 0x2400 0000,大小 0x80000,即 512KB 是 AXI SRAM 的空間。
1.9.2 Output
- 用于存放 MDK 編譯過程中生成的 obj 臨時檔案路徑,MDK 在建立的時候已經幫我們建立好檔案夾Objects,這裡無需修改,使用預設即可;
- Debug Information:調試資訊;
- Create HEX File:是否生成 hex 檔案;(生成的hex檔案在工程的 Flash - obj檔案夾中)
- Browse Information:是否需要 go to def 的支援,使用 HAL 庫話,推薦先不要選上,因為 MDK5使用 AC5 編譯 HAL 庫時間比較長.
1.9.3 Listing
- 用于存放 MDK 編譯過程中生成的 list 臨時檔案路徑,MDK 在建立的時候已經幫我們建立好檔案夾Listings,這裡無需修改,使用預設即可;
- 是否生成*.lst 檔案;
- 檢視 MAP 檔案的話,就全勾上;
1.9.3.1 MAP檔案
如1.9.3 節所說,将生成MAP檔案的配置全勾上後,點ok,然後全編譯一遍,輕按兩下工程檔案夾,即可檢視map檔案。
其中map中的一些概念如下:
- 段(section) :描述映像檔案的代碼和資料塊。
- RO: Read-Only 的縮寫,包括 RO-data(隻讀資料)和 RO-code(代碼)。
- RW:Read-Write 的縮寫,主要是 RW-data,RW-data 由程式初始化初始值。
- ZI: Zero-initialized 的縮寫,主要是 ZI-data,由編譯器初始化為 0。
- .text:與 RO-code 同義。
- .constdata:與 RO-data 同義。
- .bss: 與 ZI-data 同義。
- .data:與 RW-data 同義
下面簡介map檔案中的内容:
- Section Cross References:主要是不同檔案中函數的調用關系。
如: main.o(i.main) refers to main.o(i.PrintfLogo) for PrintfLogo
表示 main.c 檔案中的 main函數調用了 PrintfLogo .
- Removing Unused input sections from the image:主要是被删除的備援函數,也就是添加到工程裡面,但是沒有調用到的那部分。
- Image Symbol Table:Image Symbol Table 主要分為兩類,分别是 Local Symbols 和 Global Symbols .
- Memory Map of the image:映像檔案可以分為加載域(Load Region)和運作域(Execution Region)。加載域就是程式在 Flash 中的實際存儲,而運作域是晶片上電後的運作狀态
- 加載域(Load Region):反映了 ARM 可執行映像檔案的各個段存放在存儲器中的位置關系。另外映像中的入口點就是程式開始執行的位置。
- 運作域(Execution Region):反映了 ARM 可執行映像檔案各個段真正執行時在存儲器中的位置關系。
- Image component sizes:顯示元件的大小。
1.9.4 User
基本用不到,主要用來指定編譯之前和編譯之後執行的使用者程式,如下圖中表示在編譯之後自動執行一個批處理功能用來實作 Objects 檔案夾裡面的 hex 檔案複制到路徑Project\MDK-ARM(uV5)裡,友善查找。
1.9.4.1 生成 .bin
檔案
再After Build/Rebuild 處勾選一個Run選項,在後面User Command處填入
fromelf.exe --bin -o "[email protected]" "#L"
即可。生成的
.bin
檔案與
.hex
檔案同路徑。
1.9.5 C/C++
-
預定義宏
USE_HAL_DRIVER 表示使用 HAL 庫。
STM32H743xx 表示使用 H743 系列。
- 代碼優化級别,優化等級低,友善調試,選項 One ELF Section per Function 用于删除工程中沒有用到的備援函數;
專題:如何做MDK編譯器的代碼最小優化和性能最佳優化
- 使用 C99 規範;
- 添加路徑,把用到的頭檔案路徑包含進來;
1.9.6 Debug
- 軟體仿真;
- 硬體仿真,選擇仿真調試器;
1.9.7 Utilities
主要用于程式設計工具選擇,Update Target before Debugging 表示調試前更新晶片的程式。
1.10 仿真/調試模式
- 在工程設定裡設定好晶片型号和晶振頻率。
- 點選魔術棒,在Debug頁面選擇仿真器仿真(硬體仿真),選擇并設定好對應的仿真器。設定好下面的CPU DDL等參數,以設定支援對應晶片的軟/硬體仿真。
- 代碼編譯通過并連接配接好仿真器後,點選調試按鈕,程式下載下傳并進入調試模式。
1.10.1 調試界面
上圖圖示自左到右分别為:
- Reset:CPU複位,程式回到初始狀态
- Run:自動運作代碼,直到遇到斷點後停止
- Stop:停止運作代碼
- Step:單步運作代碼
- Step Over:單行運作代碼
- Step Out:運作完目前函數
- Run to cursor line:運作到光标處
- Show next statement:界面跳到目前運作的代碼(不運作代碼)
上圖紅框圖示自左到右分别為:
- Disassembly Window:彙編視窗,檢視彙編代碼。
- Call Stack Window:堆棧局部變量視窗,通過該按鈕可以顯示Call Stack+Locals視窗,顯示目前函數的局部變量及其值。
- Watch Windows:監控視窗,将特定變量添加到該視窗,對其進行全程監控。
- Memory Windows:記憶體視窗,在裡面輸入要檢視的記憶體位址或對某變量右擊将其添加到該視窗,然後觀察這一片記憶體的變化情況。
- Serial Windows:序列槽序列槽,類似序列槽調試助手,用來顯示從序列槽列印出來的内容。
- System Analyzer Windows:邏輯分析視窗,有多個功能(如下圖),一般使用第一個Logic Analyzer。通過Setup按鈕添加IO口,可以觀察這些IO口的電平變化情況。
注意:有說法所,要在硬體調試中使用邏輯分析視窗,需要在仿真器設定中使能 Trace Setting (如下圖) 。
7. System Viewer Windows:系統檢視視窗,提供各種外設寄存器的檢視視窗(通過下拉選擇,如下圖),選擇對應外設即可調出該外設的相關寄存器表,并顯示這些寄存器的值。
1.10.1 參數監控界面
- 局部變量監控:該頁面可檢視目前運作函數的所有局部變量數值,預設以十六進制顯示,右擊可選擇十進制顯示。直接點選參數值,還可對其進行修改。
- 監控特定參數值:對某參數右擊選擇添加其到Watch視窗,即可對改參數進行全程監控。同樣,參數值預設以十六進制顯示,右擊可選擇十進制顯示。直接點選參數值,還可對其進行修改。
1.11 ARM開發工具指南 - help
在搜尋選項處,搜尋關于Keil的使用問題,即可得到響應解決方案。
2. STC-ISP - STC晶片燒錄/代碼編寫工具
軟體可在STC官方網站中下載下傳安裝。
2.1 hex檔案燒錄
該軟體可把hex檔案燒錄到STC相關晶片單片機,如果隻有hex檔案而缺少程式或者程式配置有故障,該軟體是很好的選擇;
硬體連接配接
PC —[1]— UART 小闆(不是J-Link!) —[2]— 單片機(PCB)
[1]USB線
[2]四腳:3.3V、TMS、TCK、GND
若PC報電流過載之類的警告,改用帶供電的 USBHUB 轉接可解決
軟體配置
選擇對應單片機型号、序列槽号,載入hex檔案,确定連接配接好硬體,然後點選下載下傳程式;
2.2 向Keil中添加STC51晶片包(Device)
- 關閉Keil,打開STC-ISP軟體 - 選中Keil仿真設定 - 點選圖中按鈕
- 選擇Keil的安裝目錄,點确定
- 打開Keil,到Device頁面,下拉選擇STC MCU Database,可見晶片包已完成加載
3. SecureCRT - 序列槽終端仿真軟體
ecureCRT6.2.0漢化綠色版
SecureCRT是一款支援SSH和序列槽的終端仿真程式,啟動SecureCRT軟體,彈出“快速連接配接”視窗,協定選擇Serial,其他根據需要配置,然後點選連接配接;
3.1 在裝置管理器中更改序列槽号
4. MProg - EEPROM程式設計器
4.1 給FT232R晶片燒錄序列槽号
使用序列槽線連接配接FT232R晶片,打開軟體,建立一個配置檔案,配置如下,然後儲存配置檔案(儲存後才能燒錄,儲存的模闆配置檔案字尾名為
.ept
)),點選放大鏡搜尋序列槽裝置(FT232R),點選閃電按鈕燒錄序列槽号;下次燒錄同樣的序列槽号,直接打開該模闆配置檔案即可;
若資訊框顯示:Number Of Programmed Devices =1,表示找到序列槽裝置;
5. RS485(Modbus協定)調試軟體
PC端須安裝序列槽驅動CH340。
PC通過485轉換器與控制單元裝置連接配接。
如下圖;
- 讀單個寄存器時,填入相應的485位址(裝置位址)、寄存器位址、所讀寄存器個數後,點選讀取,即可在寄存器值這一欄顯示該寄存器位址的值。
- 寫單個寄存器時,填入相應的485位址(裝置位址)、寄存器位址、所寫寄存器值後,點選發送,即可向裝置發送相應指令。
6. SEGGER J-Flash ARM - J-Link程式燒錄工具
- 完成硬體連接配接。PC - J-Link - 單片機。
- 打開
.hex
程式檔案。 - 配置參數,Options,主要是Target Interface中J-Link連接配接方式和CPU中晶片核心配置。
- 連接配接單片機。Target - Connect.
- 擦除單片機與燒錄程式。Target - Auto.
7. CAD
版本:AutoCAD 2007
7.1 綜合
7.1.1 選擇圖層
如下圖,前面的小燈泡點亮表示顯示該圖層,反之表示隐藏該圖層。
7.1.2 英制公制轉換
工具 - 選項 - 使用者系統配置 - 插入比例,将源内容和目标圖形内容機關改為目标機關。
7.2 列印
7.2.1 選中列印
檔案 - 列印(Ctrl + P) - 標明列印機 - 列印區域選視窗,點選視窗 - 畫選列印區域 - 儲存或列印
7.3 标注
菜單欄 - 标注 - 選擇對應标注功能。
8. STM32晶片Hex檔案燒錄器(脫機)
脫機實物如下圖。
8.1 Hex檔案下載下傳到脫機
打開軟體
DownLoader
脫機通過USB線連上電腦,軟體裝置處顯示Downloader表示脫機與電腦連接配接成功,然後選擇對應的STM32晶片,打開要下載下傳到脫機的HEX檔案,選擇好配置參數,點選程式設計。
注:設定中注意選擇 擦除全片
還是 擦除扇區
,前者将MCU中原有的所有程式進行擦除,後者将保留MCU中原有的bootloader程式。
8.2 程式下載下傳到MCU
使用杜邦線連接配接到MCU下載下傳端口(引腳順序依次為:3.3V,SWDIO,SWCLK,GND),此時脫機上紅燈和藍燈同時閃爍,點選脫機上的下載下傳按鈕,脫機開始下載下傳程式(常亮紅燈),程式下載下傳完成後,常亮藍燈。
9. CAM350
9.1 Gerber導出CAD DXF格式檔案
- 使用CAM350打開Gerber檔案,Setting - Unit 設定尺寸到毫米(mm)
- File - Export - DXF - 選擇儲存路徑