keil-mdk-mcu
不知道什么时候变成了网瘾少年
当你的才华撑不起你的野心的时候,就应该静下心来学习!
展开
-
stm32的IAP编程
1、boot区的编写#define UPGRADE_FLAG 0x11223344#define APP_ADDR 0x8005000 //20KB用于boot---应用区地址typedef void (*pFunction)(void);pFunction Jump_To_Application;uint32_t JumpAddress;uint32_t upgrade_flag = 0;if (upgrade_flag == UPGRADE_FLAG) { ...原创 2020-09-28 19:03:05 · 412 阅读 · 0 评论 -
app和bootloader跳转 MSP与PSP
1.不要把跳转函数放在中断中,如此导致在跳转后的app或者bootloder都是在中断状态,只要你一开启该中断,就可能出现硬件中断了2.如果你的APP使用了ucos系统,在跳转函数中还需要增加__set_CONTROL(0);//把psp修改成msp;这样是为了把ucos系统中的psp置回msp,否则容易出现硬件中断MSP和PSP 的含义是Main_Stack_Pointer 和Process_Stack_Pointer,在逻辑地址上他们都是R13这意味着同一个逻辑地址,实际上有两个物理寄存器,原创 2020-09-28 18:48:15 · 654 阅读 · 1 评论 -
mdk中重定向printf函数
1、使用stm32的hal库int fputc(int ch, FILE *f) //重定向printf函数{ HAL_UART_Transmit(&hlpuart1, (void*)&ch, 1, 1000); return ch;}printf("test--------i=%d\r\n", i);原创 2020-09-28 16:08:42 · 544 阅读 · 0 评论