軟件介紹:
Keil C51是美國Keil Software公司(ARM公司之一)出品的51系列兼容單片機C語言軟件開發系統。與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境(uVision)將這些部分組合在一起。
安裝步驟:
1. 選中"keil",鼠標右擊解壓。
2.選中"c51-v957",鼠標右擊選擇以"管理員的身份運行"。
3.根據提醒選擇【next】。
4.勾選"I agree to all...",然后點擊【next】。
5.這里修改安裝的位置,一般安裝在C盤之外。
6.這里需要注意,填寫信息,填寫完后點【next】。
7.安裝中。
8.取消勾選項,點擊【finish】。
9.在桌面雙擊打開。
10.選擇"文件",點擊"license management"。
11. 打開之前的解壓文件,選中【crack】可執行文件,鼠標右擊選擇【以管理員身份運行】。
12.用"ctrl+c"快捷鍵復制"CID"中的內容到"crack"中"Ctrl+v"粘貼。
13.點擊【generate】,并復制生成的許可粘貼到"new license ID code"中,然后點擊"添加LIC"。
14.打開之前解壓文件,復制uv4,然后粘貼到軟件安裝的位置目錄里。
15.完成安裝!
溫馨提示:
1.如果在執行解壓時出現如下錯誤(解壓后文件夾中沒有發現【crack.exe】文件):
2.這時我們需要打開電腦window安全中心。
3.點擊【病毒與威脅防護】。
4.打開【管理設置】。
5.將【實時保護】按鈕關掉。
6.如果你電腦上還有其他檢測病毒軟件,記得請關閉殺毒軟件重新解壓壓縮包。(安裝完軟件記得重新開啟!?。。?/p>
ARM(Advanced RISC Machines),設計了大量高性能、廉價、耗能低的RISC處理器,占有手機處理器90%以上市場。
ARM性能比較:
ARM11以后,命名改為Cortext系列。
Cortex-M3的產品:
本系列使用開發板是 普中 STM32-F1 , 芯片是STM32 F103ZET6。
STM32有三種開發模式:
打開安裝包,按提示操作:
安裝完成,等待下載芯片信息:
選擇菜單Project-New Project,輸入study1
下面的選項鉤選:CMSIS-CORE和 Device-Startup
點OK。
設置 Listings和 Output目錄:
int main(){
;
}
點編譯按鈕:
.\output\study.axf: Error: L6411E: No compatible library exists with a definition of startup symbol __main.
處理方式:
建立環境變量:ARMCC5LIB 指向: C:\Keil\ARM\ARMCC\lib
在使用MDK編譯工程時出現了如下錯誤,test.axf: Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f10x_hd.o).`
void SystemInit(){}
找到本機的 Arm/Packs/ARM/CMSIS/版本號/CMSIS/Include,手工加入到C++的Include Paths里。
仿真器是免驅的,但我在虛擬機中插上需要重啟虛擬機才行。
插上后在設置界面的Debug 可以找到仿真器。
STM32的固件庫中包含標準外設驅動、實例等,ST公司在2007年10月發布了V1.0版本。
下載地址:
https://www.st.com/zh/embedded-software/stsw-stm32054.html
這里下載固件庫3.6版,文件夾命名一般這樣的:STM32F10x_StdPeriph_Lib_V3.6.0
庫文件目錄結構如下:
典型的工程模板包含以下文件和文件夾:
這里實現一個簡單的模板框架,使用如下幾個文件:
放置文件夾結構:
如下圖操作:
配置要點:
設置如下:
/*******************************************************************************
*
* 普中科技
--------------------------------------------------------------------------------
* 實 驗 名 : 使用寄存器點亮一個LED
* 實驗說明 : 操作寄存器控制D1指示燈閃爍
* 連接方式 :
* 注 意 :
*******************************************************************************/
#include "stm32f10x.h"
typedef unsigned int u32; //類型重定義 unsigned int -- u32
void SystemInit()
{
}
/*******************************************************************************
* 函 數 名 : delay
* 函數功能 : 延時函數,通過while循環占用CPU,達到延時功能
* 輸 入 : i
* 輸 出 : 無
*******************************************************************************/
void delay(u32 i)
{
while(i--);
}
/*******************************************************************************
* 函 數 名 : main
* 函數功能 : 主函數
* 輸 入 : 無
* 輸 出 : 無
*******************************************************************************/
int main()
{
RCC_APB2ENR |=1<<4;
GPIOC_CRL &=~( 0x0F<< (4*0));
GPIOC_CRL |=(3<<4*0);
GPIOC_BSRR=(1<<(16+0));
while(1)
{
GPIOC_BSRR=(1<<(16+0));
delay(0xFFFFF);
GPIOC_BSRR=(1<<(0));
delay(0xFFFFF);
}
}
設置斷點,運行到斷點后可以在:Peripherals-System Viewer-GPIO 選擇GPIOA查看值:
安裝vscode過程忽略。
MinGW - Minimalist GNU for Windows download | SourceForge.net
點擊下載,安裝軟件包,等待下載完成。
點擊Continue.
鉤選:
點擊: Installation->Apply change
點擊 Apply->安裝。
把 MinGW\bin 加到系統變量的Path里。
使用open proejct 打開keil的工程,在左側找到 KEIL UVISION PROJECT。
鼠標移到 Target 1上,會出現編譯、下載圖標。
如果提示安裝 .Net framework,按提示安裝。
目前這個環境只能使用vscode實現開發、編譯、下載,并不能進行單步調試。 后續章節再補充此操作。