目需要编写了STM32的bootloader,其实编写bootloader主要事项有以下:
1、为你的bootloader程序选择存储器地址,因为STM32的存储器FLASH存储程序代码空间为512K,需要进行划分。
2、如果需要使用JTAG在线调试,则需要配置区域:
3、为您的用户程序选择合适的存储空间:
同时配置在线调试区域:
4、bootloader程序编写基本流程如下:
1)检测有无需要更新的标志,用户可自定义。比如说读取flash某位置存储的字节作为标志位。
2)如需更新,则调用STM32的FLASH程序擦鞋用户代码部分。
3)将新的bin文件(即2进制文件直接烧写进去,需要将keil生成的hex文件转换为bin文件,然后存储到外扩展的flash中)写入到STM32自带的FLASH中去,记住需要与上述设置的用户代码存储区一致。
4)更新成功后再跳转至用户程序。
5、用户程序需要注意一点,需要在程序运行前重新设置中断向量表,即:NVIC_SetVectorTable()。
6、用STM32自带的烧录软件进行烧录时,需要修改项目如下:
1)打开安装后目标文件中的map文件夹,我们所用的STM32为512Kflash,所以选取STM32_High-density_512KSTmap,将其分解为两个STmap文件(此文件可用记事本 打开)
STmap文件中,扇区是以每2K为一page来显示的,所以boot区我们只需要到page7,用户区我们需要page8到最后。
修改完成后再次打开此软件会发现多出了两个flash选项,可以根据此处来选择需要存储的代码区。
bootload类似电脑主板上的BIOS。一般针对含有 *** 作系统的系统。
在启动前,bootload进行一些系统硬件的检测,以及各个入口点的配置,完成后将控制权交给 *** 作系统的引导区,由 *** 作系统控制整个系统。如果没有此时无 *** 作系统,BIOS亦可以作为此系统的 *** 作系统,包含一些配置参数,如下载程序入口地址,内存入口地址等。
单片机初始化是指将单片机的所有系统清除 复位
常见bootloader介绍
1.U-BOOT介绍
uboot是一个庞大的公开源码的软件。他支持一些系列的arm体系,包含常见的外设的驱动,是一个功能强大的板极支持包。其代码可以从>
以上就是关于stm32bootload有什么作用全部的内容,包括:stm32bootload有什么作用、bootload与单片机初始化程序的区别、当前在嵌入式系统开发中有哪些常用的bootloader等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)