PIC18F66K80 Bootloader程序

发布者:TechGuru123最新更新时间:2020-09-03 来源: eefocus关键字:PIC18F66K80  Bootloader  地址分配 手机看文章 扫描二维码
随时随地手机看文章

下面对PIC BootLoader的关键技术进行回顾:

1、地址分配:

BootLoader在ROM的前端,APP在ROM的后端,因为Bootloader要接管中断向量

 

 

在APP中将BootLoader部分保留

2、中断重映射

Bootloader中中断向量要重映射,判断是否在Bootloader中执行,然后执行不同的中断服务函数。

Boot中中断执行标志设置

App中中断执行标志设置

3、注意事项

注意PIC单片机的指针区分ROM指针和RAM指针。

U8 * 和 const rom U8 *

const U8 TestData[16]默认编译器放在RAM区。const rom U8 TestData[16]则放在ROM区。

调试时,FLASH编程后,数据区并不自动更新,必须回读才能更新。

参考文档:

 

 

历时三周终于搞定了四个程序,一个Bootloader,两个APP,一个上位机升级程序。(上位机==》主MCU ==》PIC,通过CAN升级从PIC单片机)

关键字:PIC18F66K80  Bootloader  地址分配 引用地址:PIC18F66K80 Bootloader程序

上一篇:PIC24 通过USB在线升级 -- USB HID bootloader
下一篇:A FLASH Bootloader for PIC16 and PIC18 Devices--硬译(一)

推荐阅读最新更新时间:2024-11-05 16:01

如何在STM32F407单片机上使用通用的BootLoader经验分析
因为在使用RT-Thread RTOS的时候发现官方提出了一种通用的BootLoader方案,支持F1和F4系列的芯片,正好手头有板子便试着用了下,顺便给大家分享一下经验总结吧。 硬件资源 正点原子stm32f407zgt6探索者开发板,片上Flash(ROM)大小为1024KB,RAM大小为192KB,板载一个SPI Flash W25Q128。 BootLoader配置 根据官方文档:https://www.rt-thread.org/document/site/application-note/system/rtboot/an0028-rtboot/,(因为微信无法插入外部链接,请复制至外部浏览器打开)BootLoa
[单片机]
如何在STM32F407单片机上使用通用的<font color='red'>BootLoader</font>经验分析
bootloader和RO,RW,ZI在ARMC语言中
Bootloader 即引导加载程序,是系统加电后运行的第一段软件代码。简单的说它们都是bootloader,所完成的任务也大同小异。 熟悉x86体系结构的朋友肯定知道,x86平台上bootloader 是由 BIOS和位于硬盘MBR中的OS Bootloader(比如Lilo 和 Grub)组成的。BIOS完成硬件的检测和资源的分配后,将硬盘MBR中的bootloader读到系统RAM中,之后此bootloader 就会开始进行主导,将内核搬到内存中以及进行一些必要的初始化工作,之后跳到内核的入口地址来执行,这样内核就开始启动,也就是系统就启动起来了。 这里不得不插入一个话题,通过上面的介绍,细心的朋友就会产生一个疑问:为什么要有
[单片机]
STM32学习笔记(一)之存储器的地址分配
首先我们需要知道存储器地址映射定义:ARM Cortex-M3系列的处理器,采用存储器与I/O设备(外设)统一编址的方式,将部分存储器地址范围用于外设,这种通过存储器地址访问外设的方式,称之为存储器地址映射 对于32位处理器,可寻址范围是2的32次,即4GB寻址范围;ARM将这4G空间从低地址到高地址依次划分为代码区( Code)、 片上SRAM区( SRAM)、片上外设( Peripheral) 、片外RAM( External RAM)、片外外设( External Device)和系统级( System level) ARM公司只是大概的规定了存储器空间的映射,允许各芯片厂商在指定范围内自行定义和使用这些存储空间,未
[单片机]
STM32学习笔记(一)之存储器的<font color='red'>地址</font><font color='red'>分配</font>
stm32 bootloader更新固件重启 IWDG独立看门狗
问题现象:直接从固件soft reset到bootloader更新中途,pcb板子会重启 问题原因:固件程序中开启了IWDG(独立看门狗),在进行固件更新的时候没有喂狗,导致 计数计到0,看门狗重进行reset。 问题解决: 1、因为独立看门狗一旦开启是不能关闭的,所以要么在bootloader中喂狗要么不启动。 2、改用窗口看门狗,在soft reset之前将看门狗关闭。
[单片机]
ARM裸机开发bootloader汇编语言
一、汇编语言概述 1、为什么要使用汇编 一般情况下我们不会用到汇编,但有两种情况下,我们要用到汇编。 1、启动代码。编写bootloader和内核时使用,主要是对cpu和内存进行初始化时使用,因为这个时候还没有c语言的环境(堆栈还没有建立),所以不能用c语言。 2、高效率的特殊需求。因为汇编语言的执行效率要高于c语言,所以对某些对效率要求高的程序要用到汇编,可以是汇编与c语言的混合编程。 2、汇编分类 1、ARM标准汇编,适用于windows平台下ARM公司开发的汇编器ADS。 2、GNU汇编,linux平台下GNU交叉编译工具链中的汇编器。它与ARM标准的一点不同是GNU汇编要在段标记符前加点,例如 .text。而AR
[单片机]
BootLoader_BootLoader是什么
一.简介   回忆一下 PC 的体系结构我们可以知道,PC 机中的引导加载程序由 BIOS(其本质就是一段固件程序)和位于硬盘 MBR 中的OS Boot Loader(比如,LILO 和GRUB 等)一起组成。BIOS 在完成硬件检测和资源分配后,将硬盘 MBR 中的 Boot Loader 读到系统的 RAM 中,然后将控制权交给 OS Boot Loader。Boot Loader 的主要运行任务就是将内核映象从硬盘上读到 RAM 中,然后跳转到内核的入口点去运行,也即开始启动操作系统。而在嵌入式系统中,通常并没有像 BIOS 那样的固件程序(注,有的嵌入式 CPU 也会内嵌一段短小的启动程序),因此整个系统的加载启动任务
[模拟电子]
理解温度传感器的多点地址分配
传统上,大多数采用Philips I2C I/O协议的IC具有固定(工厂设置)的从机地址用于通信。然而,许多温度应用中,可能希望在不同的位置使用多个温度传感器,在系统预定义的”区域”内监视工作温度。为支持这种应用,同时将用于通信功能的CPU资源降至最低,许多温度传感器提供用户定义从机地址的灵活性。这种用户自定义功能使用一个(或多个)附加引脚,允许将特定传感器映射为电路定义的从机地址。 按照温度传感器的I/O多点能力,用户定义的从机地址可分为三种基本类型: 1) 输入电平定义。地址输入引脚的状态可由简单的硬件(例如安装电阻)或动态CPU资源控制。可将SCL和SDA上使用的标准数字逻辑输入电平(VIH/VIL)应用至地址输入引脚。 图1
[嵌入式]
基于自编程功能的MCU Bootloader设计
Bootloader是在单片机上电启动时执行的一小段程序。也称作固件,通过这段程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用应用程序准备好正确的环境。     Boot代码由MCU启动时执行的指令组成。这里的loader指向MCU的Flash中写入新的应用程序。因此,Bootloader是依赖于特定的硬件而实现的,因此,在众多嵌入式产品中目前还不可能实现通用Bootloader。     Bootloader的最大优点是:在不需要外部编程器的情况下,对嵌入式产品的应用代码进行更新升级。它使得通过局域网或者Intemet远程更新程序成为可能。例如,如果有5 000个基于MCU
[嵌入式]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved