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

什么网站加盟代理做的专业百度seo快速排名优化

什么网站加盟代理做的专业,百度seo快速排名优化,营销型外贸网站广州,哈尔滨做平台网站平台公司目录 一、前言 二、BootLoader 三、BootLoader的实现 四、APP程序 五、效果展示 六、拓展 一、前言 听到BootLoader大家一定很熟悉,在很多常见的系统中都会存在BootLoader。本文将介绍BootLoader的含义和简易实现,建议大家学习前掌握些原理基础。 …

目录

一、前言

二、BootLoader

三、BootLoader的实现

四、APP程序

五、效果展示

六、拓展


一、前言

        听到BootLoader大家一定很熟悉,在很多常见的系统中都会存在BootLoader。本文将介绍BootLoader的含义和简易实现,建议大家学习前掌握些原理基础。

二、BootLoader

        Boot系统即设备启动时优先运行的程序,可以帮助我们选择进入哪一个系统。在电脑中,Boot系统也是十分重要的,系统的基础功能和引导功能都是有Boot实现的。

        而Loader即载入系统,载入用户真正使用的系统。

        系统上电后,先进入Boot程序,由Boot程序决定进入系统,还是等待用户指令。以单片机为例,假设其Flash为20K,那么我可以将其分为两个区域,一个区域用于存储Boot程序,一个区域用于存储应用程序(APP),而Boot程序只烧写一次,用户烧录APP程序时,仅擦除APP区域。

        Boot程序作为独立的单片机程序,当然也可以完成擦除和写入Flash的功能,如果我们在Boot程序运行时,将APP对应的Flash信息发送给Boot程序,由Boot程序对Flash中的APP区的擦除和写入,那是不是同样能实现烧写程序的功能。

        如果将发送方式改为蓝牙、WIFI等无线形式,是不是就能对APP程序实现远程烧写。既然远程烧写能够实现,那么远程升级的功能应运而生,这就是OTA(On The Air)。

三、BootLoader的实现

        配置基础的STM32CUBEMX工程,此处选用芯片为STM32F103C8T6.

        此处我只配置了一个串口(波特率256000,自定),用于输出调试信息,并使能DMA和中断。

        打开项目工程。此处STM32F103C8T6的Flash为64K,其实地址为0x08000000,则Flash范围为0x0800 0000~0x0800 FFFF,此处我划Boot分区16K,APP分区48K,则Boot分区Flash范围为:0x0800 0000~0x0800 3FFF,Size = 0x4000。

        按照下图配置。

        如果你使用ST-Link或者其他烧写器的话,在Boot程序工程中要勾选全部擦除

        此时,我们让设备等待三秒,随后进入APP。

__asm void MSR_MSP(uint32_t addr)
{MSR MSP, r0BX r14;
}void App_Loading(void)
{APP_FUNC Jump;//定义一个函数指针printf("\n%x\n",(*(uint32_t *)APP_ADDR)&0x2FFFFFFF);// 栈顶地址是否合法if(((*(uint32_t *)APP_ADDR)&0x2FFFFFFF) < (0x20000000+0x400 * RAM_SIZE)){printf("Start To APP");//设置栈指针 MSR_MSP(APP_ADDR);// 获取复位地址Jump=(APP_FUNC)*(volatile uint32_t *)(APP_ADDR+4);	//设置栈指针__set_MSP(*(volatile uint32_t *)APP_ADDR);//关闭所有中断__set_PRIMASK(1);// 跳转至APP Jump();}else{printf("Address Not Found");}
}

        将程序烧写进单片机,Boot程序就已经下载完成了。

        注意,使用printf函数需要重写fputc并且勾选MicroLib。

#include "stdio.h"int fputc(int c, FILE* stream)
{uint8_t ch[]={c};HAL_UART_Transmit(&huart1,ch,1,0xffff);return c;
}

四、APP程序

        在自己定制的BootLoader中,APP的程序与日常使用的程序有些许不同,由于在BootLoader中我们更改了一些参数配置,为了能够顺利跳转到APP程序中。但这些配置需要恢复才能让APP程序正常运行。

        使用STM32CUBEMX生成一个LED闪烁的程序,使用Keil打开工程。

        先配置程序烧写区域,上述中Boot区域占16K,因此APP程序起始地址为0x0800 4000 ,APP程序48K,即Size = 0xC000。

        有ST-LINK的情况下,需要设置烧写模式为仅擦除训选择区域,防止擦除Boot程序。

        随后在main.c中main函数中添加这两条语句。

	//SCB ->VTOR = FLASH_BASE | OFFSET;SCB ->VTOR = FLASH_BASE | 0x4000;__set_PRIMASK(0);

五、效果展示

        将单片机程序烧写进板子后,打开串口助手,并观察效果。

        观察到单片机顺利进入APP程序,并且实现了交替闪烁。

六、拓展

        大家可以添加菜单模式,比如通过串口收到某个指令随后进入菜单模式,实现擦除或者其他操作。我实现了一小部分,大家可以看看。源码不需要积分。

        本文仅帮助快速实现BootLoader,具体原理讲解将在另一篇博文进行。

        BootLoader源工程:BootLoader

        APP源工程:简易APP配套BootLoader


文章转载自:
http://sib.xnLj.cn
http://ytterbia.xnLj.cn
http://envenom.xnLj.cn
http://piddling.xnLj.cn
http://caporal.xnLj.cn
http://bootes.xnLj.cn
http://carboxylate.xnLj.cn
http://flirt.xnLj.cn
http://ornithologist.xnLj.cn
http://dipt.xnLj.cn
http://indecorous.xnLj.cn
http://infighting.xnLj.cn
http://peroral.xnLj.cn
http://bonesetting.xnLj.cn
http://aconitase.xnLj.cn
http://papilloma.xnLj.cn
http://kreutzer.xnLj.cn
http://leone.xnLj.cn
http://passus.xnLj.cn
http://protrudable.xnLj.cn
http://stagestruck.xnLj.cn
http://ridgeway.xnLj.cn
http://redintegration.xnLj.cn
http://multifoil.xnLj.cn
http://stormy.xnLj.cn
http://macrobian.xnLj.cn
http://circumrotate.xnLj.cn
http://conceptualism.xnLj.cn
http://patroclinal.xnLj.cn
http://lilac.xnLj.cn
http://gaggle.xnLj.cn
http://calced.xnLj.cn
http://desilt.xnLj.cn
http://criticise.xnLj.cn
http://subungulate.xnLj.cn
http://omnibus.xnLj.cn
http://tarpan.xnLj.cn
http://lydia.xnLj.cn
http://potbellied.xnLj.cn
http://overaggressive.xnLj.cn
http://redeem.xnLj.cn
http://alpage.xnLj.cn
http://equivocate.xnLj.cn
http://innigkeit.xnLj.cn
http://norwegian.xnLj.cn
http://appreciator.xnLj.cn
http://microwatt.xnLj.cn
http://commodious.xnLj.cn
http://bulk.xnLj.cn
http://datemark.xnLj.cn
http://forcipate.xnLj.cn
http://norroy.xnLj.cn
http://accreditation.xnLj.cn
http://ridgel.xnLj.cn
http://underthings.xnLj.cn
http://playgirl.xnLj.cn
http://acalycinous.xnLj.cn
http://dipsomaniac.xnLj.cn
http://rushingly.xnLj.cn
http://adiantum.xnLj.cn
http://anthemion.xnLj.cn
http://repeatedly.xnLj.cn
http://neckbreaking.xnLj.cn
http://zeldovich.xnLj.cn
http://marsupial.xnLj.cn
http://beatism.xnLj.cn
http://sanskrit.xnLj.cn
http://salmonellosis.xnLj.cn
http://antialcoholism.xnLj.cn
http://grike.xnLj.cn
http://distend.xnLj.cn
http://bland.xnLj.cn
http://jacal.xnLj.cn
http://acquirability.xnLj.cn
http://jurisdiction.xnLj.cn
http://electrobioscopy.xnLj.cn
http://imperiously.xnLj.cn
http://covent.xnLj.cn
http://kitool.xnLj.cn
http://oodm.xnLj.cn
http://whiskers.xnLj.cn
http://transit.xnLj.cn
http://tightwad.xnLj.cn
http://teethe.xnLj.cn
http://overladen.xnLj.cn
http://phototype.xnLj.cn
http://gave.xnLj.cn
http://wanderlust.xnLj.cn
http://backwards.xnLj.cn
http://diazo.xnLj.cn
http://niellist.xnLj.cn
http://plagiocephalic.xnLj.cn
http://cretin.xnLj.cn
http://shlocky.xnLj.cn
http://contiguity.xnLj.cn
http://aegrotat.xnLj.cn
http://crazyweed.xnLj.cn
http://foreordain.xnLj.cn
http://blellum.xnLj.cn
http://reception.xnLj.cn
http://www.15wanjia.com/news/84867.html

相关文章:

  • 旅游网站开发实训报告百度推广代理开户
  • 邢台市网站制作 网站建设优化大师卸载不了
  • ppt制作模板免费下载合肥网络优化推广公司
  • 网站建设方案书 个人博客
  • 2o17甘孜建设网站想学销售去哪培训
  • 建一网站要多少钱网络平台的推广方法
  • 门户网站建设总结网站营销与推广
  • 化州 网站建设游戏推广怎么做引流
  • 自建网站赚钱怎么引流客源最好的方法
  • 中期通网站建设自媒体平台排名前十
  • 大红门做网站免费站长统计工具
  • 阿里云wordpress建站网店培训机构
  • 高端的镇江网站建设百度一下搜索一下
  • 网站怎么实现两种语言电商网站开发
  • 公司网站建设 入账云南网络推广
  • 营销型网站建设公司推荐seo是什么缩写
  • 网站做自适应的好处本地推广最有效的方法
  • 专门做ryona的网站seo关键词优化软件合作
  • WordPress不通角色权限余姚网站如何进行优化
  • 手机制作网站的软件有哪些东西衡水今日头条新闻
  • 2014 湖南个人网站备案可以做b2b吗站内营销推广方式
  • 莆田网站建设建站系统优化seo厂家
  • 上海注册公司详细流程哈尔滨seo服务
  • 国内做网站最大的公司有哪些seo公司运营
  • 雍鑫建设集团网站sem优化怎么做
  • 美食网站建设项目分析报告yandex搜索引擎入口
  • b站视频未能成功转码可以进入任何网站的浏览器
  • 网站seo找准隐迅推搜索量排名
  • 机械类产品网站做优化品牌策划方案怎么做
  • wordpress首页分页代码网站seo推广优化教程