-
大小: 869KB文件类型: .zip金币: 2下载: 1 次发布日期: 2021-03-29
- 语言: 其他
- 标签: bootloader PIC18F25K80
资源简介
写这个程序废了好多事,到处查资料看网上的资料也不多,调试成功了就传上来给大家分享一下。
代码片段和文件信息
#include “mcc_generated_files/mcc.h“
//extern bit keyflag;
extern bit REflag;
//extern bit bootwriteflag;
extern unsigned char temp_D[8];
extern unsigned char temp_DLC;
extern unsigned char BOOTCANHBOOTCANL;
//extern unsigned char cStartFlg;
//extern unsigned long cEndFlg;
unsigned char maxv=0maxv1=0;
unsigned char delay_bootbootloader_flag;
#define BOOTDELAYTIME 30
#define _str(x) #x
#define str(x) _str(x)
void main(void)
{
SYSTEM_Initialize();
// variate_init();
INTCONbits.GIE=1;
INTCONbits.PEIE=1;
// WDTCON=0X09;
RS_SetLow();
// CanSendBuffer(0x7dfCAN_rx_buf8);
T0CON = 0x87;//使能定时器0256分频
//8M/128 *1000 = 62.5 1ms
TMR0H = 0xE7;
TMR0L = 0x95;
delay_boot = 0;
bootloader_flag = 0;
while(delay_boot < BOOTDELAYTIME)
{
// CANincident();
if(INTCONbits.T0IF == 1)
{
INTCONbits.T0IF = 0;
TMR0H = 0xE7;
TMR0L = 0x95;
delay_boot++;
// 等待升级的倒计时
CanSendBuffer(0x7df&delay_bootsizeof(delay_boot));
if ((BOOTDELAYTIME-1)==delay_boot)
{
// 没有升级请求,跳入运行空间执行正常程序。
unsigned char ch[]={‘G‘‘o‘‘t‘‘o‘‘A‘‘p‘‘p‘};
CanSendBuffer(0x7dfchsizeof(ch));
STKPTR = 0x00;
asm (“pagesel “ str(NEW_RESET_VECTOR));
asm (“goto “ str(NEW_RESET_VECTOR));
}
}
if(PIR5bits.RXB0IF == 1)
{
// 在倒计时内收到中断请求,做升级相关工作。
PIR5bits.RXB0IF = 0;
// RXB0CONbits.RXFUL = 0;
RXB0CONbits.RXB0FUL=0;
BOOTCANH = RXB0SIDH;
BOOTCANL = RXB0SIDL;
temp_DLC = RXB0DLC;
temp_D[0] = RXB0D0;
temp_D[1] = RXB0D1;
temp_D[2] = RXB0D2;
temp_D[3] = RXB0D3;
temp_D[4] = RXB0D4;
temp_D[5] = RXB0D5;
temp_D[6] = RXB0D6;
temp_D[7] = RXB0D7;
switch ( temp_D[1])
{
case 0xAA: //擦除0x1600-0xffff地址块
{
// 擦除Flash
Erase_Whole_Flash();
unsigned char ch[]={‘A‘‘c‘‘k‘‘-‘‘-‘‘-‘0xAA};
CanSendBuffer(0x7dfchsizeof(ch));
bootloader_flag = 1;
break;
}
}
delay_boot = 200;
CanSendBuffer(0x7dftemp_D8);
}
}
while(1)
{
// CANincident();
//进入升级程序
if(bootloader_flag == 1)
{
#define ENDFLGDELAYTIME 0xFFFFF
static unsigned char chdata[64];
static unsigned char cStartFlg=0;
static unsigned long cEndFlg=ENDFLGDELAYTIME;
static unsigned char i=0j=0;
static uns
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-07-04 16:23 PIC18F25K80bootloader程序.X\
文件 3381 2017-10-24 09:04 PIC18F25K80bootloader程序.X\Makefile
文件 616063 2017-10-24 09:16 PIC18F25K80bootloader程序.X\MyConfig.mc3
目录 0 2019-07-04 16:23 PIC18F25K80bootloader程序.X\build\
目录 0 2019-07-04 16:23 PIC18F25K80bootloader程序.X\build\default\
目录 0 2019-07-04 16:23 PIC18F25K80bootloader程序.X\build\default\production\
文件 728535 2019-07-04 08:49 PIC18F25K80bootloader程序.X\build\default\production\main.p1
文件 290 2019-07-04 08:49 PIC18F25K80bootloader程序.X\build\default\production\main.p1.d
文件 389573 2019-07-04 08:49 PIC18F25K80bootloader程序.X\build\default\production\main.pre
目录 0 2019-07-04 16:23 PIC18F25K80bootloader程序.X\build\default\production\mcc_generated_files\
文件 723712 2019-07-04 08:49 PIC18F25K80bootloader程序.X\build\default\production\mcc_generated_files\ecan.p1
文件 245 2019-07-04 08:49 PIC18F25K80bootloader程序.X\build\default\production\mcc_generated_files\ecan.p1.d
文件 388605 2019-07-04 08:49 PIC18F25K80bootloader程序.X\build\default\production\mcc_generated_files\ecan.pre
文件 715357 2019-07-04 08:49 PIC18F25K80bootloader程序.X\build\default\production\mcc_generated_files\flash.p1
文件 179 2019-07-04 08:49 PIC18F25K80bootloader程序.X\build\default\production\mcc_generated_files\flash.p1.d
文件 385934 2019-07-04 08:49 PIC18F25K80bootloader程序.X\build\default\production\mcc_generated_files\flash.pre
文件 714834 2019-07-04 08:49 PIC18F25K80bootloader程序.X\build\default\production\mcc_generated_files\mcc.p1
文件 347 2019-07-04 08:49 PIC18F25K80bootloader程序.X\build\default\production\mcc_generated_files\mcc.p1.d
文件 388310 2019-07-04 08:49 PIC18F25K80bootloader程序.X\build\default\production\mcc_generated_files\mcc.pre
文件 709496 2019-07-04 08:49 PIC18F25K80bootloader程序.X\build\default\production\mcc_generated_files\pin_manager.p1
文件 203 2019-07-04 08:49 PIC18F25K80bootloader程序.X\build\default\production\mcc_generated_files\pin_manager.p1.d
文件 383511 2019-07-04 08:49 PIC18F25K80bootloader程序.X\build\default\production\mcc_generated_files\pin_manager.pre
目录 0 2019-07-04 16:23 PIC18F25K80bootloader程序.X\debug\
目录 0 2019-07-04 16:24 PIC18F25K80bootloader程序.X\debug\default\
目录 0 2019-07-04 16:23 PIC18F25K80bootloader程序.X\dist\
目录 0 2019-07-04 16:23 PIC18F25K80bootloader程序.X\dist\default\
目录 0 2019-07-04 16:23 PIC18F25K80bootloader程序.X\dist\default\production\
文件 3144718 2019-07-03 16:07 PIC18F25K80bootloader程序.X\dist\default\production\V6812MCfutianbootloader20190703-5-nointerrupt.X.production.bin
文件 88847 2019-07-03 16:07 PIC18F25K80bootloader程序.X\dist\default\production\V6812MCfutianbootloader20190703-5-nointerrupt.X.production.cmf
文件 21677 2019-07-03 16:07 PIC18F25K80bootloader程序.X\dist\default\production\V6812MCfutianbootloader20190703-5-nointerrupt.X.production.elf
文件 4479 2019-07-03 16:07 PIC18F25K80bootloader程序.X\dist\default\production\V6812MCfutianbootloader20190703-5-nointerrupt.X.production.hex
............此处省略52个文件信息
相关资源
- 基于S32K144的CANbootloader
- ARM7TDMI-S在嵌入式系统中的Bootloader代码
- STM32的IAP-Bootloader程序
- STM32例程之Bootloader
- segger j-flash
- S32K144的boot可修改普通CAN
- STM32F105RC_U盘升级bootloader.7z
- 任意串口BootLoader程序升级
- S32KCANbootloader上位机及下位机源码
- 6416bootloader.rar
- STM32 BOOTLOADER IAP 自动跳转
- STM32网络升级BootLoader
- TMS320VC5509A(LQFP)Bootloader测试程序
- MPC5744P CAN Bootloader上位机源码
- MPC5744P CAN Bootloader下位机及用户APP
- TI Cortex-M3 BootLoader资料
- 基于ARM嵌入式系统的通用Bootloader的设
- STM32L151_IAP_Bootloader.rar
- DSP28335串口二阶BOOT源码
- rtthread stm32f1xx hal bsp 偏移地址0x4000
- IAP的BootLoader和app都在里面
- stm32 BootLoader简单跳转
- stm32f103_IAPbootloader-1.0及用户app修改好
- freescale S12 S12X Bootloader
- 英飞凌 XC2000系列CAN BOOTLOADER 开发代码
- 基于CAN诊断汽车控制器刷新软件的设
- 基于CAPL的CAN控制器Bootloader上位机系统
- PMON工作原理分析
- 整理的学习龙芯PMON龙芯bios相关资料
- PIC18F25K83单片机例程
评论
共有 条评论