📄 bootloader.h
字号:
/*H******************************************************************************
* FILE_NAME : bootloader.h
*----------------------------------------------------------------------------
* FILE_CREATED_BY : BERTHY JS
* FILE_CREATION_DATE: 1/06/00
*----------------------------------------------------------------------------
* FILE_PURPOSE:
*
******************************************************************************/
#include "can_lib.h"
#define BOOTLOADER_VERSION 0x20
#define DEVICE_BOOT_ID1 0x01
#define DEVICE_BOOT_ID2 0x00
#define SIZE_COLUMN_LATCH 0x10
#define ERASE_SYMBOL 0xFF
/********* LEVEL of SOFTWARE SECURITY BITS */
#define NO_SECURITY 0xFF
#define WRITE_SECURITY 0xFE
#define RD_WR_SECURITY 0xFC
#define MAX_OFFSET_ID 0x7F0
#define BSB_ADD 0x00
#define SBV_ADD 0x01
#define SSB_ADD 0x05
#define XEB_ADD 0x06
#define BT1_ADD 0x1C
#define BT2_ADD 0x1D
#define BT3_ADD 0x1E
#define NNB_ADD 0x1F
#define CRIS_ADD 0x20
/********** COMMAND FOR PROTOCOL */
#define CAN_ID_SELECT_NODE 0x00
#define CAN_ID_PROG_START 0x01
#define CAN_ID_PROG_DATA 0x02
#define CAN_ID_DISPLAY_DATA 0x03
#define CAN_ID_WRITE_FUNCTION 0x04
#define CAN_ID_READ_FUNCTION 0x05
#define CAN_ID_ERROR 0x06
// return value
//---------------
#define COMMAND_OK 0x00
#define COMMAND_FAIL 0x01
#define COMMAND_NEW_DATA 0x02 // for program flash command only
#define ERROR_SECURITY 0x00
/********** COMMAND FOR BOOTLOADER */
#define ID_API_ERASE_BLOCK 0
#define ID_API_PROGRAM_DATA 1
#define ID_API_READ_DATA 3
#define ID_API_PROGRAM_XAF 4
#define ID_API_READ_XAF 5
#define ID_API_FULL_CHIP_ERASE 6
#define ID_API_PROGRAM_FUSE_BIT 7
#define ID_API_READ_HW 8
#define ID_API_READ_EEPROM 9
#define ID_API_LAUNCH_EEPROM 10
#define ID_API_LAUNCH_PRG_FLASH 13
#define ID_API_READ_SPECIAL 14
#define WAIT_EEBUSY 21// just for api_management
#define WAIT_COMMAND 22
extern bdata Uchar flag;
extern bit flag_7;
extern bit flag_6;
extern bit flag_5;
extern bit flag_4;
extern bit flag_3;
extern bit flag_2;
extern bit flag_1;
extern bit flag_0;
#define f_frame_to_send flag_7
#define f_new_protoc_command flag_6
#define f_new_conf flag_5
#define f_communication_open flag_4
#define f_command_ongoing flag_3
#define f_timeout flag_2
#define f_timing_ok flag_1
#define f_flash_eeprom_area flag_0
#define f_start_from_appli f_timing_ok
extern Uint16 can_id;
extern Uchar can_rx[];
extern Uchar can_tx[];
extern Uchar can_ctrl;
extern Uchar ssb_copy;
extern Uint16 offset_id_copy;
extern Uint16 address_start;
extern Uchar api_command;
extern Uchar api_value;
extern Uchar api_dpl;
extern Uchar api_dph;
extern Uint16 api_nb_trame;
extern Uint16 api_nb_octet;
extern Uchar api_nb_data;
extern Uchar* api_pt_data;
/* function prototype */
extern void protocol_task (void);
extern void protocol_task_init (void);
extern void api_task (void);
extern void api_task_init (void);
extern void boot_task (void);
extern void API_RD_XAF (void);
extern void API_RD_FLASH(void);
extern void API_RD_HW (void);
extern void API_LAUNCH_PRG_XAF (void);
extern void API_LAUNCH_PRG_FLASH(void);
extern void API_LAUNCH_PRG_FUSE (void);
extern void API_ERASE_BLOC_8K (void);
extern void API_ERASE_BLOC_16K(void);
extern void API_FULL_CHIP_ERASE(void);
extern void API_WR_FLASH_CL(void);
extern void API_LAUNCH_PRG_EEPROM(void);
extern void ASM_CAN_AUTOBAUD(void);
extern void API_RD_EEPROM(void) ;
extern void API_WR_EEPROM_CL(void);
extern void ASM_JMP_DPTR(void);
extern void ASM_XRAM_FLASH(void);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -