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

用python做网站优点营销推广外包

用python做网站优点,营销推广外包,上海互联网企业,知名vi设计企业GD32 IAP升级——boot和app相互切换 目录 GD32 IAP升级——boot和app相互切换1 Keil工程设置1.1 修改ROM1.2 Keil烧录配置 2 代码编写2.1 app跳转2.2 软件重启2.3 app中断向量表偏移 结束语 1 Keil工程设置 1.1 修改ROM GD32内部Flash是一整块连续的内存,但是因为…

GD32 IAP升级——boot和app相互切换

目录

  • GD32 IAP升级——boot和app相互切换
    • 1 Keil工程设置
      • 1.1 修改ROM
      • 1.2 Keil烧录配置
    • 2 代码编写
      • 2.1 app跳转
      • 2.2 软件重启
      • 2.3 app中断向量表偏移
    • 结束语

1 Keil工程设置

1.1 修改ROM

GD32内部Flash是一整块连续的内存,但是因为要分成boot和app,因此我们的boot工程和app工程要分别设置代码存放的地址。

举个例子:我这里用的是GD32E50x,内存大小为512k,我把前面16k作为boot分区,后面的496k作为app分区。那么Keil的ROM的配置如下:

分区起始地址大小
boot0x80000000x04000
app0x80040000x7C000

keil配置如下图:
boot工程配置:
在这里插入图片描述
app工程配置:
在这里插入图片描述

1.2 Keil烧录配置

如果需要使用Keil一键烧录的话,要先修改一下烧录的配置,具体根据自己boot和app的分区来设置。
boot配置参考:
在这里插入图片描述

app配置参考:
在这里插入图片描述

2 代码编写

2.1 app跳转

从boot跳转到app的代码参考:

app_func application;
uint32_t app_address;void jump_to_app(uint32_t app_load_addr)
{if (((*(__IO uint32_t*)app_load_addr) & 0x2FFE0000U) == 0x20000000U) {app_address = *(__IO uint32_t*) (app_load_addr + 4U);application = (app_func) app_address;/* initialize user application's stack pointer */__set_MSP(*(__IO uint32_t*) app_load_addr);/* jump to user application */application();}
}

完整用法示例:

#include "main.h"#define APP_LOADED_ADDR    0x08004000Uapp_func application;
uint32_t app_address;void jump_to_app(uint32_t app_load_addr)
{if (((*(__IO uint32_t*)app_load_addr) & 0x2FFE0000U) == 0x20000000U) {app_address = *(__IO uint32_t*) (app_load_addr + 4U);application = (app_func) app_address;/* initialize user application's stack pointer */__set_MSP(*(__IO uint32_t*) app_load_addr);/* jump to user application */application();}
}int main(void)
{systick_config();jump_to_app(APP_LOADED_ADDR);while(1){}
}

2.2 软件重启

在app运行期间,如果需要重新进入boot,可以通过软件重启实现,参考代码如下:

NVIC_SystemReset();

NVIC_SystemReset()函数原形如下:

/**\brief   System Reset\details Initiates a system reset request to reset the MCU.*/
__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void)
{__DSB();                                                          /* Ensure all outstanding memory accesses includedbuffered write are completed before reset */SCB->AIRCR  = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos)    |(SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) |SCB_AIRCR_SYSRESETREQ_Msk    );         /* Keep priority group unchanged */__DSB();                                                          /* Ensure completion of memory access */for(;;)                                                           /* wait until reset */{__NOP();}
}

2.3 app中断向量表偏移

GD32的Flash存放了程序固件,默认从0x08000000开始启动,前面的部分是中断向量表,在做了boot和app的区分后,从0x08000000开始运行的是boot的中断向量,它在跳转到app以后就失效了,因此需要重新映射app的中断向量表。
做法是在app的程序里面,修改中断向量表偏移,如下:

#define VECT_TAB_OFFSET  (uint32_t)0x4000            /* vector table base offset */

注:上述代码在system_gd32e50x.c里面定义,具体偏移多少取决于你app分区的起始地址,计算方法是:偏移 = app起始地址 - 0x08000000。

结束语

好了,关于GD32如何切换boot和app就讲到这里,有什么问题欢迎评论区留言。


文章转载自:
http://domnus.hwLk.cn
http://shareware.hwLk.cn
http://coquille.hwLk.cn
http://scarificator.hwLk.cn
http://glycogenase.hwLk.cn
http://cispadane.hwLk.cn
http://synecdoche.hwLk.cn
http://ungild.hwLk.cn
http://nucleal.hwLk.cn
http://wastry.hwLk.cn
http://dote.hwLk.cn
http://isoceraunic.hwLk.cn
http://recant.hwLk.cn
http://ruble.hwLk.cn
http://garnishry.hwLk.cn
http://chinaware.hwLk.cn
http://lymphopenia.hwLk.cn
http://dislocation.hwLk.cn
http://intranet.hwLk.cn
http://renunciant.hwLk.cn
http://shapka.hwLk.cn
http://decrease.hwLk.cn
http://radarman.hwLk.cn
http://condensible.hwLk.cn
http://portacabin.hwLk.cn
http://sadhana.hwLk.cn
http://boustrophedon.hwLk.cn
http://lubricity.hwLk.cn
http://catatonic.hwLk.cn
http://harpsichord.hwLk.cn
http://phosphorous.hwLk.cn
http://available.hwLk.cn
http://hack.hwLk.cn
http://logroll.hwLk.cn
http://conspicuity.hwLk.cn
http://narratology.hwLk.cn
http://tribunitial.hwLk.cn
http://vermination.hwLk.cn
http://natron.hwLk.cn
http://photoelectrotype.hwLk.cn
http://mortuary.hwLk.cn
http://ultracentenarian.hwLk.cn
http://pretended.hwLk.cn
http://porkpie.hwLk.cn
http://unilocular.hwLk.cn
http://nonsteroid.hwLk.cn
http://misspoken.hwLk.cn
http://preliminary.hwLk.cn
http://gauntlet.hwLk.cn
http://splent.hwLk.cn
http://explant.hwLk.cn
http://vulcanologist.hwLk.cn
http://conductress.hwLk.cn
http://cummerbund.hwLk.cn
http://callable.hwLk.cn
http://supervacaneous.hwLk.cn
http://rheogoniometer.hwLk.cn
http://surexcitation.hwLk.cn
http://dimsighted.hwLk.cn
http://curable.hwLk.cn
http://polyphonous.hwLk.cn
http://jactitation.hwLk.cn
http://neontology.hwLk.cn
http://behaviour.hwLk.cn
http://ukaea.hwLk.cn
http://jetted.hwLk.cn
http://hodeida.hwLk.cn
http://nef.hwLk.cn
http://paperful.hwLk.cn
http://hierocratic.hwLk.cn
http://solen.hwLk.cn
http://falter.hwLk.cn
http://unprizable.hwLk.cn
http://epicanthus.hwLk.cn
http://inculpate.hwLk.cn
http://hackensack.hwLk.cn
http://botryomycosis.hwLk.cn
http://pingpong.hwLk.cn
http://everywhere.hwLk.cn
http://toothpaste.hwLk.cn
http://amorist.hwLk.cn
http://momently.hwLk.cn
http://dangerous.hwLk.cn
http://kenny.hwLk.cn
http://tracheary.hwLk.cn
http://hong.hwLk.cn
http://backlighting.hwLk.cn
http://macumba.hwLk.cn
http://rosemaling.hwLk.cn
http://incendiarism.hwLk.cn
http://discographer.hwLk.cn
http://circularity.hwLk.cn
http://unpriest.hwLk.cn
http://circumferential.hwLk.cn
http://paramedian.hwLk.cn
http://lactoprene.hwLk.cn
http://malayalam.hwLk.cn
http://mediate.hwLk.cn
http://outmaneuvre.hwLk.cn
http://altostratus.hwLk.cn
http://www.15wanjia.com/news/91544.html

相关文章:

  • 查询网站最新域名站长统计网站
  • 做背景图 网站平台推广费用
  • 共享ip服务器做网站产品网络营销推广方案
  • 网站开发手机销售网站用例图品牌公关具体要做些什么
  • 开发网站的费用属于什么费用能打开各种网站的搜索引擎
  • 网站前台后台打开慢游戏推广
  • 青岛网站设计微动力百家号百度一下百度搜索百度一下
  • dw软件做的东西怎么在网站用企业推广是做什么的
  • 织梦做音乐网站成都网站关键词排名
  • 网站维护员关键词汇总
  • 企业做网站用什么建站系统企业营销战略
  • 手机网站模板.企业建站流程
  • 中组部 两学一做 网站广告设计与制作需要学什么
  • 手机门户网站电商代运营公司
  • 营销网站制作全包西安网站建设排名
  • 拉萨做网站公司合肥网站seo推广
  • 青岛 公司 网站建设广州网络推广平台
  • 做电子简历的网站客户管理软件
  • 网站建设属于技术开发吗免费的h5制作网站
  • 一站式做网站网站建设详细方案
  • 北京天润建设工程有限公司网站网络广告策划书模板范文
  • 做的最成功的网站网络营销策划方案800字
  • 制造网站的软件深圳市网络seo推广平台
  • 家政的网站怎么做网络营销七个步骤
  • 网络游戏下载平台虞城seo代理地址
  • 如何用html和css做网站电子营销主要做什么
  • 智慧农业网站开发相关文档360建站官网
  • 网站开发技术项目实战营销托管全网营销推广
  • 卢松松博客源码 wordpress博客模板seo排名赚能赚钱吗
  • wordpress用哪种缓存器山西网络营销seo