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

免费做企业推广的网站跨境网站有哪些

免费做企业推广的网站,跨境网站有哪些,关系网站优化公司,aso优化什么意思是参考: CH32V 系列 MCU IAP 升级跳转方法 CH32V103 的 IAP 问题#xff08;跳转及中断向量表重定位#xff09; 1. 沁恒的RISC-V内核MCU的IAP跳转示例程序简要分析 沁恒的RISC-V内核的MCU比如CH32V203、CH32V307等系列的EVT包中IAP升级的示例程序中都是通过使能软件中断之后跳转及中断向量表重定位 1. 沁恒的RISC-V内核MCU的IAP跳转示例程序简要分析 沁恒的RISC-V内核的MCU比如CH32V203、CH32V307等系列的EVT包中IAP升级的示例程序中都是通过使能软件中断之后在 SW_Handler 函数中进行 APP 地址的跳转如下图指定了 0x5000 的偏移地址去跳转实际是为0x08000000 0x5000的地址只不过在 LD 文件里设置了APP的 FLASH 起始地址后中断向量会自动偏移IAP 不用管它。 这种方法是通过使能软件中断使内核自动从用户模式进入机器模式后进行的跳转该方式无需配置工程在机器模式下无需修改启动文件中 mstatus 寄存器的值。但是是写死的跳转地址不够灵活。参见**QingKeV4_Processor_Manual.PDF**中 1.1 mstatus描述 在默认的启动文件中可以看到mstatus寄存器值为0x6088MPP位配置为了用户模式MPIE和MIE使能。 2. 直接在 IAP 程序中需跳转位置直接进行跳转 重点参考: CH32V 系列 MCU IAP 升级跳转方法 但某些情况下软件中断函数需用做他用或用户不想通过中断进行跳转可直接在 IAP 程序中需跳转位置直接进行跳转。当不通过中断直接进行跳转时需要配置工程在机器模式下需要修改 mstatus 寄存器的值。 mstatus 寄存器为机器模式状态寄存器通过该寄存器可配置 MCU 运行在机器模式或用户模式下。此外对于支持浮点运算的 MCU通过该寄存器可开启或关闭浮点运算功能。关于该寄存器的具体介绍可参考各 MCU 对应的青稞手册具体可在沁恒官网搜索下载。 CH32V103 机器模式下配置 mstatus 的值为0x1888 CH32V307 机器模式下配置 mstatus 的值为0x7888 方式 1 跳转函数按照下方式编写注意此处一定要使用 a0需要加__attribute__((noinline))具体如下 __attribute__((noinline)) void jump_APP(uint32_t addr) {__asm(jr a0);while(1); }入参addr实际保存在寄存器a0中通过jr a0跳转到addr地址中。 方式2 void jump_APP(uint32_t addr) {__asm volatile(jr %0: :r(addr));while(1); }使用方法与方式 1 一致直接在程序调用即可这里同样注意是相对的偏移地址即 0x08000000 addr 的地址 方式3 void jump_APP(uint8_t value) {if(value1){__asm(li a6, 0x5000);__asm(jr a6);}else if (value2){__asm(li a6, 0x6000);__asm(jr a6);}else if (value3){__asm(li a6, 0x7000);__asm(jr a6);}else{__asm(li a6, 0x8000);__asm(jr a6);}while(1); }这种其实和EVT中的IAP没啥区别都是写死的地址跳转不像方式2那种可以灵活制定地址进行跳转。 3. 利用软件中断jump_APP(addr)使用 /********************************************************************** fn SW_Handler** brief This function handles Software exception.** return none*/ // 这里的addr是相对0x08000000的偏移地址 void jump_APP(uint32_t addr) {__asm volatile(jr %0: :r(addr));while(1); }void SW_Handler(void) { // 假设要跳转到的APP地址为 0x08005000 // jump_app_address 0x08005000 - 0x08000000 0x5000;jump_APP(jump_app_address); }如上所示进入软件中断中使用jump_APPaddr就可以灵活指定要跳转到的APP入口地址了。 3.1. 简单测试 这里我使用了Ymodem协议通过串口发送APP固件给bootloader固件接收保存在MCU中的flash后更新APP入口地址这个全局变量 jump_app_address值为0x7800实际为FLASH中的0x080000000x7800的地址在软件中断中跳转到偏移地址0x7800即可。 不用像ARM单片机那样考虑中断向量表的重新映射因为CH32V在默认的LD 文件里设置 FLASH 起始地址后中断向量会自动偏移IAP 不用管它。
http://www.hkea.cn/news/14502661/

相关文章:

  • 江苏省常州建设高等职业技术学校网站window安装wordpress
  • 世界摄影网站logo设计公司哪家好
  • 贺州同城购物网站建设360竞价推广怎么做
  • 网站建设与制作wordpress通过tag获取文章
  • 怎么做中英文网站网页设计的流程ui
  • 索莱宝做网站在线音乐网站怎么做
  • 电影网站建设视频教程江西求做网站
  • 九江网站开发公司哈尔滨住房和城乡建设局
  • 南宁网站设计和开发大赛二级域名免费申请
  • 推广效果最好的平台从零开始做网站seo
  • 罗湖商城网站设计公司建站教程视频下载
  • 广东电商网站建设wordpress微信朋友圈
  • 网站维护的主要内容福州专业网站开发很专业
  • jsp如何做网站界面外贸网站 seo
  • 搭建网站的价格代理网络游戏
  • 做商城网站外包好的设计网站
  • 沈阳网站seo公司wordpress能做外贸网站
  • 稀奇古怪好玩有用的网站网站pv多少可以
  • 制作什么网站好舟山网站制作公司
  • 深圳专业网站建设公司哪家好个旧市城乡建设局网站
  • 免费软件下载官方网站wordpress评论定制
  • 余姚网站建设服务常州网站制作公司有哪些
  • 苏州网站排名优化报价合肥网站建设方案
  • 工会网站建设比较好的工会怎么用网站做word文件
  • 网站建设方案书内容wordpress管理系统
  • 网站停留时间商城app官方下载
  • 网站流量利用手机网站 wap
  • 加盟网网站建设策划书二手物品交易网站设计英文
  • wordpress 建购物网站个人建设图片分享网站
  • 如何修改网站备案信息joomla 网站建设