stm32最简单的实现BootLoader】的更多相关文章

BootLoader大家应该都知道是干什么的,简单的来说就是程序开始运行前的一段程序. 在成熟的产品中,通常都是采用BootLoader方式来升级产品的程序.也就是IAP升级.在了解完基本的实现原理后,可以做到用上位机升级(一般的产品大多采用这种方式,显得非常专业有专用的升级软件,其实背后原理就是BootLoader升级方式).当然还有一些联网在线升级也是如此. 网上有非常多的文件有介绍过stm32 BootLoader的实现.但是讲的可能比较深入难以理解,实现更是无从下手.今天这里注意介绍最简…
书接上文: 最近在研究用低速.低RAM的单片机来驱动小LCD或TFT彩屏实现动画效果 首先我用一个16MHz晶振的m0内核的8位单片机nRF51822尝试驱动一个1.77寸的4线SPI屏(128X160), 发现,刷一屏大约要0.8s左右的时间, 具体收录在<1.一个简单的nRF51822驱动的天马4线SPI-1.77寸LCD彩屏DEMO>中 觉得,如果用72MHz的STM32也许效果会好很多 于是在stm32上做了个类似的版本, 具体收录在<一个简单的stm32vet6驱动的天马4线S…
书接上文<1.一个简单的nRF51822驱动的天马4线SPI-1.77寸LCD彩屏DEMO> 我们发现用16MHz晶振的nRF51822驱动1.77寸的spi速度达不到要求 本节主要采用72MHz的stm32尝试刷屏效果 效果如下: 工程结构如下: 注:整个工程最重要的部分在USR中,其它是必须! 首先是LCD.c: 1.类似与用nRF51822做的彩屏驱动,这里主要的不同点在于引脚的初始化~ 2.同时,为了使刷屏速度更快点,在39~46行将原来的循环拆成了8行命令~ 3.没写的地方和基于nR…
开发环境keil4,芯片STM32F103C8T6 1.main.c //串口实验 #include "sys.h" #include "delay.h" #include "key.h" #define DC12VDO_ON() GPIO_SetBits (GPIOC, GPIO_Pin_13) #define DC12VDO_OFF() GPIO_ResetBits (GPIOC, GPIO_Pin_13) ; int time1; unsi…
BootLoader工作原理 BootLoader工作原理 BootLoader指系统启动后,在操作系统内核运行之前运行的一段小程序.通过BootLoader,我们可以初始化硬件设备.建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境.通常,BootLoader是严重地依赖于硬件而实现的,特别是在嵌入式世界.因此,在嵌入式世界里建立一个通用的 BootLoader 几乎是不可能的.尽管如此,我们仍然可以对BootLoader归纳出一些通用的…
了解bootloader 的实现,请加QQ: 1273623966 (验证填 bootloader):欢迎咨询或定制bootloader:我的博客主页www.cnblogs.com/geekygeek 最近给我的开发板PIC32MZ EC starter kit写了个USB 在线升级程序--USB CDC bootloader.有了它,我可以很方便的升级我的应用程序.我大概是一个星期前开始决定写这个USB在线升级程序的,USB 有两种类型,USB host和USB device. USB hos…
原理图 启动方式 第一种启动方式是最常用的用户FLASH启动.默认启动方式 第二种启动方式是STM32内嵌的SRAM启动.该模式用于调试 第三种启动方式是系统存储器启动方式,不建议使用这种,速度比较慢.STM32中自带的BootLoader就是在这种启动方式中,如果出现程序硬件错误的话可以切换BOOT0/1到该模式下重新烧写Flash即可恢复正常…
最近一个项目用到了MODBUS协议,就学习了一下,这里做一下记录以免后续忘记. 要用到MODBUS肯定要先知道是MOBUS协议,这里呢我们就又要先理解协议的含义了. 所谓的协议是什么?就是互相之间的约定嘛,如果不让别人知道那就是暗号.现在就来定义一个新的最简单协议. 例如: 协议: “A”--“LED灭” “B”--“报警” “C”--“LED亮” . 单片机接收到“A”控制一个LED灭,单片机接收到“B”控制报警,单片机接收到“A”控制一个LED亮.那么当收到对应的信息就执行相应的动作,这就是…
一.三种BOOT模式介绍 所谓启动,一般来说就是指我们下好程序后,重启芯片时,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存.用户可以通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启动模式. 如图所示,一般情况下如果我们想用用串口下载代码,则必须配置BOOT0为 1, BOOT1为 0,而如果想让 STM32 一按复位键就开始跑代码,则需要配置 BOOT0 为 0,BOOT1 随便设. 1,第一种启动方式是最常用的用户FLASH启动.默认启动方式. 2, 第二种启动方式是STM…
一.μCos-ii _概述 网上关于μCosii的文章多不胜数,本人学习的过程中也参考了很多人的理解和想法,看的是卢有亮老师的<嵌入式实时操作系统-μC/OS原理与实践>(第2版),同时也参考了邵贝贝老师的<嵌入式实时操作系统μCOS-II>,断断续续一个月看了几遍书,也在stm32上简单移植了μCos-ii,这里也谈下自己的理解,如有纰漏,敬请指教. 1.什么是操作系统,为什么要学操作系统? 生活中PC上最常见的无非Windows.Mac OS.Linux等操作系统,移动设备上的…