目的:
用彙編語言編寫一個點亮LED的程序,用於驗證前面章節中,下載.bin文件到晶片後,程序能否運行。
要求:
1.晶片手冊
2.開發板上有LED模塊
實驗步驟:
1.新建文件夾led_proj,複製bootloader_proj(參照本系列第3篇文章)文件夾中的所有文件到led_proj文件夾。
2.新建文件led.s,編寫代碼。代碼內容主要是使能GPIO口的時鐘,配置GPIO口,向GPIO口的輸出數據寄存器寫數據。
3.修改main.s文件,添加一條跳轉指令,修改死循環代碼。
4.修改makefile文件,在OBJ變量中添加led.o,如圖:
5..保存所有修改,在命令行中,進入led_proj文件夾,輸入make,編譯通過,如圖:
6.將boot.bin文件下載到晶片中,具體操作參照第2篇文章。
7.如無意外,可以看到8盞LED燈亮起來了。
小結
通過查找晶片手冊,了解到相關的寄存器的地址;通過設置相關寄存器,配置GPIO埠,使LED亮起來。
關鍵字:STM32 作業系統系列 點亮LED燈 編輯:什麼魚 引用地址:http://news.eeworld.com.cn/mcu/ic474099.html 本網站轉載的所有的文章、圖片、音頻視頻文件等資料的版權歸版權所有人所有,本站採用的非本站原創文章及圖片等內容無法一一聯繫確認版權者。如果本網所選內容的文章作者及編輯認為其作品不宜公開自由傳播,或不應無償使用,請及時通過電子郵件或電話通知我們,以迅速採取適當措施,避免給雙方造成不必要的經濟損失。推薦閱讀
數據的形式,有幾種:1)字節;2)半字;3)全字 [1位元組=8bit 1半字=2位元組=16位 1全字=2半字=4位元組=32位]B.傳輸的最大數據量是65536我們來看一下stm32f103ve的數據手冊第九章DMA 大概的了解一下DMA的特性:四、怎樣配置軟體來使用DMA /****************************************************************/函數名稱: Dma_Init *功能描述: 利用DMA 把內存的數據 傳輸到flash 達到高速傳輸的目的 * *輸入參數:無 *返回值 :無 *其他說明:無 *當前版本:v1.0 *作者 :尹宣 *完成
發表於 2020-11-02
說到STM32 USB的UDF,其實就是我們常說的IAP( In Application Programming )在應用編程。IAP有很多方法,我之前就用過串口IAP,網絡IAP。而這裡我們使用的是USB IAP,就是通過USB更新代碼。所以這裡有必要線了解IAP。IAP是In Application Programming的首字母縮寫,IAP是用戶自己的程序在運行過程中對User Flash的部分區域進行燒寫,目的是為了在產品發布後可以方便地通過預留的通信口對產品中的 固件 程序進行更新升級。通常在用戶需要實現IAP功能時,即用戶程序運行中作自身的更新操作,需要在設計固件程序時編寫兩個項目代碼,第一個項目程序不執行正常的功能
發表於 2020-11-02
們的USB DFU工程裡我們設置Internal flash的編號為00,所以這裡就設置成0,然後點擊「General」保存.成dfu文件。 DfuSe Demostration使用說明當把USB DFU程序下載到開發板後,要按下按鍵使進入升級模式,這時DfuSe Demostration就會出現下面界面: 在軟體的左上方會出現「STM32 Device in DFU Mode」,接著在右上角的DFU Mode域會顯示USB設備的PID和VID,從圖中可以看出VID是0483,PID是DF11
發表於 2020-11-02
這次要講講如何用USB升級單片機代碼。以前曾經做過串口升級,網絡升級,升級的基本原理都類似,只不過升級的工具不同罷了,串口升級當然是用串口了,網絡升級用的是TCP/IP,USB升級當然用的是USB了。下面就來講講USB升級的實現。修改部分部分都在USB_User組裡:STM32 Internal Flash DFU晶片內部flash代碼升級 - ziye334 - ziye334的博客我們一個一個文件講過來。首先講講hw_config.c,這個文件跟之前工程差不多。由於演示的需要,我們在這個文件裡初始化一個按鍵引腳,並定義按鍵讀取函數,該按鍵決定代碼是否升級,如果程序一開始,該按鍵按下,則進入升級模式,否則跳轉到升級程序代碼處
發表於 2020-11-02
先介紹下我參考其他工程而建立的STM32 USB工程:簡單介紹下:Startup當然放置STM32的啟動文件,CMSIS放置著STM32內核ARMCortex的內核文件,StdPeripheral_Driver目錄裡放置著STM32外設的庫函數,這幾個都是STM32工程必須的,這裡不仔細講訴,User Source裡放著自己的應用代碼,如main.c,stm32f10x_it.c等文件都放這裡。USB-FS-Driver_Driver下放著USB的庫,這裡暫時不講述,我重點想分析的文件在USB-User裡,這個目錄主要放著一些與USB庫和用戶相關的文件,起著USB庫與用戶之間的橋梁作用,文件如下圖所示,該目錄包含如下文件:接下去
發表於 2020-11-02
表示自供電,不支持遠程喚醒 D7:保留必須為1,D6:是否自供電,D5:是否支持遠程喚醒,D4~D0:保留設置為0*/// 0x32, /*從總線上獲得的最大電流為100mA */ 0x96, /*MaxPower:設備需要從總線上獲取多少電流,單位為2mA,0x96表示300mA*/ /************** HID接口描述符****************/ 
發表於 2020-10-30