发明名称 一种STM32单片机IAP串口程序烧录的改进方法
摘要 本发明公开了一种STM32单片机IAP串口程序烧录的改进方法,包括以下步骤:单片机上电后,初始化单片机的DMA控制器、串口资源;当接收到用户的应用程序升级请求后,程序执行以下步骤,否则转跳到最后步骤;打开DMA控制器开关,每当串口有数据来,DMA传输数据到内存里;当DMA传输完数据时,产生传输完成中断,通知CPU,CPU把内存里的数据写入到Flash中,接着CPU使能DMA继续传输数据,如此循环;当串口传输完数据后,串口产生一个空闲中断通知CPU,在中断函数中CPU把最后接收到的数据写入到flash内存中,并关闭DMA中断控制器;程序跳到应用程序函数入口,开始执行应用程序,采用本发明可克服更新程序应用程序大小的限制,省却了更新时的CPU使用资源,提高了焼写速度。
申请公布号 CN105955764A 申请公布日期 2016.09.21
申请号 CN201610256075.5 申请日期 2016.04.22
申请人 佛山市南海区欧谱曼迪科技有限责任公司 发明人 韩防;吴春波;张浠;安昕
分类号 G06F9/445(2006.01)I;G06F13/28(2006.01)I 主分类号 G06F9/445(2006.01)I
代理机构 深圳市盈方知识产权事务所(普通合伙) 44303 代理人 周才淇;刘杰
主权项 一种STM32单片机IAP串口程序烧录的改进方法,其特征在于,包括以下步骤:步骤a:单片机上电后,初始化单片机的DMA控制器、串口资源;步骤b:当接收到用户的应用程序升级请求后,程序执行步骤c‑步骤f,否则转跳到步骤f;步骤c:单片机打开DMA控制器开关,准备传输串口数据到内存,此时每当串口有数据到来,DMA自动传输数据到指定的内存里;步骤d:当DMA传输完设定大小的数据时,产生传输完成中断,通知CPU,CPU把传输到内存里的数据写入到Flash中,然后使能DMA继续搬运数据到指定内存区域,如此循环;步骤e:当串口传输完数据后,串口产生一个空闲中断通知CPU,在串口中断函数中CPU把最后接收到的数据写入到flash内存中,并关闭DMA中断控制器;步骤f:程序跳到APP函数入口,开始执行应用程序。
地址 528200 广东省佛山市南海区桂城街道桂城平洲永安北路1号金谷光电产业社区A座504