当前位置: 首页 > news >正文

新闻文章网站源码上城区商城网站建设

新闻文章网站源码,上城区商城网站建设,郑州哪里有做网站的,学习型网站空间资料下载: https://download.csdn.net/download/vvoennvv/88658447 一、概述 关于IAP的原理和Ymodem协议#xff0c;本文不做任何论述#xff0c;本文只论述bootloader如何使用串口通过Ymodem协议接收升级程序并进行IAP升级#xff0c;以及bootloader和主程序两个工程的配置…  资料下载: https://download.csdn.net/download/vvoennvv/88658447 一、概述 关于IAP的原理和Ymodem协议本文不做任何论述本文只论述bootloader如何使用串口通过Ymodem协议接收升级程序并进行IAP升级以及bootloader和主程序两个工程的配置注意事项。 实验板子主芯片STM32F103C8T6 二代码 1Bootloader部分 主要流程如下 1上电开机之后会先运行bootloader引导程序bootloader检测串口是否有数据超时没有收到收据会直接跳转进入主程序中超时时间使用定时器设置可根据产品需求和使用场景设置一个合理的超时时间。也可以通过检测按键是否按下再进入这个检测串口是否有数据的步骤这样更加灵活。 2上位机将升级程序bin文件分包发送到设备设备接收到数据之后进行校验校验通过后写入到芯片替换原有的旧程序完成整个升级过程。 部分代码如下 int main(void) { SystemInit(); GPIO_Configuration(); //配置串口IO FLASH_Unlock(); //解锁flashUART_Init(); //配置串口波特率,校验位等BspTim2Init(); //Timer 用于超时判断SerialPutString(\n\rbootloader\r\n);//进入bootloader后菜单选择已取消显示直接进入检测串口数据状态//如果3s之内没有选择,跳出,执行后面代码Main_Menu(); //通过判断栈顶地址值是否正确(是否在0x2000 0000 - 0x2000 2000之间)来判断是否应用程序已经下载了if (((*(__IO uint32_t*)ApplicationAddress) 0x2FFE0000 ) 0x20000000){BspTim2Close();__disable_irq() ; //跳转至用户代码JumpAddress *(__IO uint32_t*) (ApplicationAddress 4);Jump_To_Application (pFunction) JumpAddress;//初始化用户程序的堆栈指针__set_MSP(*(__IO uint32_t*) ApplicationAddress);Jump_To_Application();}else{SerialPutString(no user Program\r\n\n);}while(1); }void Main_Menu(void) {FLASH_Status FLASHstatus;//定义一个flash操作状态变量uint8_t key 0;static uint8_t uStatus 0;BlockNbr (ApplicationAddress - 0x08000000) 12;#if defined (STM32F10X_MD) || defined (STM32F10X_MD_VL)UserMemoryMask ((uint32_t)~((1 BlockNbr) - 1)); #else /* USE_STM3210E_EVAL */if (BlockNbr 62){UserMemoryMask ((uint32_t)~((1 BlockNbr) - 1));}else{UserMemoryMask ((uint32_t)0x80000000);} #endif /* (STM32F10X_MD) || (STM32F10X_MD_VL) *///返回flash写保护选择字节的值if ((FLASH_GetWriteProtectionOptionByte() UserMemoryMask) ! UserMemoryMask){FlashProtection 1;}else{FlashProtection 0;}/* Download user application in the Flash */SerialDownload(); //使用YModem协议接收app bin文件 SerialPutString(Auto jump App \r\n); }2主程序部分 主程序只需要增加两行代码即可如下所示 int main(void) {//在main()函数开始时增加这两句即可//把栈顶设置到0x30000x3000是主程序的烧录位置也是bootloader跳转的位置//这个位置可以根据实际情况统一调整SCB-VTOR FLASH_BASE | 0x3000;__enable_irq();SystemInit(); //系统初始化LED_GPIO_Config(); //LED端口初始化while (1){LED1( ON ); //LED亮Delay(0x200000);LED1( OFF ); //LED灭Delay(0x200000);} } 三工程配置 1Bootloader部分 0x3000是分配给bootloader的空间可根据实际情况修改。 2主程序部分 Start填写0x08003000是因为主程序烧录在这个位置和分配给bootloader的空间有关。 增加 fromelf --bin -o $LL.bin #L 这句可以在编译时生成bin文件 四测试 使用上位机软件支持Ymodem协议的软件都可以选择编译好的主程序bin文件在板子上电之后通过串口发送过去即可。 资料下载: https://download.csdn.net/download/vvoennvv/88658447
http://www.w-s-a.com/news/712605/

相关文章:

  • 建筑公司网站排名5G网站建设要多少个
  • seo怎样新建网站弹簧东莞网站建设
  • 在线做爰直播网站石家庄房产
  • 建筑网站哪里找拓者设计吧首页
  • 广州网站的建设wordpress注册数学验证码
  • 装修平台自己做网站有几个黄页名录网站开发
  • php网站的安全优势平面设计师培训
  • 乐清市网站建设设计重庆沙坪坝区
  • 什么是seo站内优化开发网页的工具有哪些
  • 文化类网站是不是休闲娱乐类网站青州市建设局网站
  • 网站的中英文切换代码做现货黄金网站
  • 万江区网站建设公司前端如何根据ui设计写页面
  • 宿迁公司做网站手机免费创建网站的软件
  • 免费可商用素材网站山东威海网站开发
  • 建设网站什么语言比较合适柳州建设网经济适用房
  • 企业网站的主要功能板块平台推广是做什么的
  • 网页网站自做全搞定西安建设工程信息网诚信平台
  • 网站vip怎么做建网站外包公司
  • 胶州建网站域名不备案可以正常使用吗
  • 网站建设客户开发方案软件工程师行业分析
  • 沈阳网站建设黑酷科技微信小程序怎么一键删除
  • 做网站产品搜索展示实现西安百度推广服务公司
  • 建立网站接受投注是什么意思一般使用的分辨率的显示密度是多少
  • 怎么建立一个网站开展业务网站建设人员的工资分配
  • 求职网站建设方案企业网站开发需求分析
  • 西安企业网站开发可以做哪些有趣的网站
  • 房产类网站开发云南百度建站
  • 泰州网站建设电话彩票网站怎么做代理
  • 泉州网站制作推广山西网站开发建设
  • 百度商桥怎样绑定网站百度推广登陆