久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
STM32-IAP項目代碼 使用中
[打印本頁]
作者:
eliucheng
時間:
2019-4-28 17:57
標題:
STM32-IAP項目代碼 使用中
項目中正在使用的 STM32系列單片機 的遠程IAP使用方式,從此刷機不用再拆機!
0.png
(4.74 KB, 下載次數: 20)
下載附件
2019-4-30 02:14 上傳
單片機源程序如下:
/*******************************************************************************
** 功能: 遠程燒寫程序的啟動文件
*******************************************************************************/
#include "stm32boot.h"
#include "EEPROM.h"
/* 類型聲明 -----------------------------------------------------------------*/
typedef void (*pFunction)(void);
/* 變量 ----------------------------------------------------------------------*/
pFunction Jump_To_Application ;
uint32_t JumpAddress;
#define ApplicationAddress 0x8003000
void NVIC_Configuration(void);
/*******************************************************************************
* @函數名稱 main
* @函數說明 主函數
* @輸入參數 無
* @輸出參數 無
* @返回參數 無
*******************************************************************************/
extern __IO unsigned long time32_incr;
unsigned long portGetTickCnt(void)
{
// time32_incr = SysTick->VAL;
return time32_incr;
}
void Sleep(unsigned int time_ms)
{
unsigned long end = portGetTickCnt() + time_ms;
while ((signed long)(portGetTickCnt() - end) <= 0)
;
}
void CloseIrq(void)
{
SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk;//關閉SYSTICK中斷
DMA_ITConfig(DMA1_Channel7, DMA_IT_TC, DISABLE); //使能DMA通道4傳輸完成中斷
DMA_ITConfig(DMA1_Channel7, DMA_IT_TE, DISABLE);
USART_ITConfig(USART2, USART_IT_IDLE, DISABLE);
USART_DeInit(USART2);
DMA_DeInit(DMA1_Channel7);
DMA_DeInit(DMA1_Channel6);
}
int main(void)
{
int i=1200;
u16 FLAG = 0;
/* Enable PWR and BKP clocks */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
/* Allow access to BKP Domain */
PWR_BackupAccessCmd(ENABLE);
FLASH_Unlock();
UART2_Configuration();
SysTick_Init();
NVIC_Configuration();
Sleep(20);
printf("bootv2.0-20181210\r\n");
while (i--)
{
Communication();
Sleep(20);
}
eeprom_read_block(&FLAG, PROGRAMS_ADDR, 2);
if (FLAG == 0xE0E0)
{
// DevAddr = 1;
// NVIC_Configuration();
// FLASH_Unlock() ;
// //串口初始化
// UART2_Configuration();0
// //系統時基啟動
// // SysTick_Init();
//
// led_on();
while (1)
{
Communication();
}
}
//否則執行用戶程序
else
{
//判斷用戶是否已經下載程序,因為正常情況下此地址是棧地址。
//若沒有這一句的話,即使沒有下載程序也會進入而導致跑飛。
FLASH_Lock();
if (((*(__IO uint32_t*)ApplicationAddress) & 0x2FFE0000 ) == 0x20000000)
{
JumpAddress = *(__IO uint32_t*) (ApplicationAddress + 4);
Jump_To_Application = (pFunction) JumpAddress;
//初始化用戶程序的堆棧指針
__set_MSP(*(__IO uint32_t*) ApplicationAddress);
printf("jump to app\r\n");
CloseIrq();
Jump_To_Application();
}
else
{
u16 data = 0xE0E0;
eeprom_write_block(&data, PROGRAMS_ADDR, 2);
printf("no app wait program\r\n");
SoftReset();
}
}
while (1)
{
}
}
#define Set_NVIC(Channel,Preemption,Sub,Cmd) { NVIC_InitStructure.NVIC_IRQChannel = Channel; \
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = Preemption; \
NVIC_InitStructure.NVIC_IRQChannelSubPriority = Sub; \
NVIC_InitStructure.NVIC_IRQChannelCmd = Cmd; \
NVIC_Init(&NVIC_InitStructure); }
//************************************************************************************************
//**名 稱:NVIC_Init
//**說 明:中斷優先級初始化
//**形 參:無
//**返 回 值:無
//************************************************************************************************
void NVIC_Configuration (void)
{
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //4個搶占優先級,4個從優先級
/* Configure the SysTick handler priority */
NVIC_SetPriority(SysTick_IRQn, 0);//SysTick中斷優先級設置 //非實時任務優先級最低 3,0
Set_NVIC(USART2_IRQn , 2, 0,ENABLE) ;
}
/*******************************文件結束***************************************/
復制代碼
所有資料51hei提供下載:
STM32遠程升級.7z
(1.08 MB, 下載次數: 33)
2019-4-30 02:14 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
ontheroad
時間:
2019-6-11 10:11
正在學習STM32 IAP 在線升級!希望能有所借鑒!
作者:
156231
時間:
2019-6-11 14:59
很不錯
作者:
88290398
時間:
2019-9-26 16:00
不錯 不錯
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产成人99久久亚洲综合精品
|
九九热最新地址
|
99国产精品视频免费观看一公开
|
久久精品国产一区
|
91精品国产91久久综合桃花
|
国产精品成人在线观看
|
亚洲精品久久久久久下一站
|
99视频在线播放
|
欧美一级黄色片
|
国产小u女发育末成年
|
国产精品欧美一区二区三区
|
99re热精品视频
|
亚洲视频二区
|
激情av
|
午夜专区
|
日本三级电影在线看
|
中文字幕亚洲一区二区va在线
|
永久av
|
久久久黑人
|
国产精品99视频
|
国产精品欧美日韩
|
九七午夜剧场福利写真
|
一区二区国产在线观看
|
av网站在线播放
|
国产 日韩 欧美 在线
|
91精品国产色综合久久不卡蜜臀
|
国产精品日韩欧美一区二区三区
|
伊人久久综合
|
午夜免费在线观看
|
日韩一区二区在线播放
|
欧美成人h版在线观看
|
国产2区
|
五月天婷婷丁香
|
成人伊人网
|
亚洲精品毛片av
|
中文字幕在线观看一区二区
|
精品96久久久久久中文字幕无
|
国产成人精品久久二区二区91
|
成人精品一区二区三区中文字幕
|
国产一区在线免费观看
|
日本免费一区二区三区四区
|