Files
checker_gen1/source/dev/dev_flash.h
2023-06-15 18:11:28 +08:00

106 lines
2.0 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef dev_flash_h__
#define dev_flash_h__
#include "stdint.h"
__packed
typedef struct{
uint32_t file_size;//文件长度,不包括文件名
char name[120];
int used; // 初始值为0xffffffff每使用一次添加一个0
}flash_file;
#define FLASH_FILE_HEAD_SIZE 128
int flash_erase_param(void);
int flash_erase_app1(void);
int flash_erase_app2(void);
int flash_erase_slave(void);
int flash_erase_scheme(void);
int flash_erase_lua(void);
uint32_t *flash_get_param(void);
//uint32_t *flash_get_app1(void);
uint32_t *flash_get_app2(void);
uint32_t *flash_get_slave(void);
uint32_t *flash_get_scheme(void);
uint32_t *flash_get_lua(void);
int flash_write(uint8_t *addr,const uint8_t *data,int len);
int flash_operate_end(void);
__packed
typedef struct{
uint32_t size;
char pack_time[20];
uint32_t crc;
uint8_t local_ip[4];
uint8_t host_ip[4];
int host_port;
char host_if[8];
}rom_head;
#define ROM_HEAD_SIZE 128
uint8_t *flash_get_rom(rom_head **head);
int flash_updata_app(uint8_t *rom,uint32_t size);
// 系统参数
__packed
typedef struct{
char pack_time[20];// 打包时间
char host_if[8];// 主机接口
char device_type[12];// 设备类型 ,批检仪还是赋码仪
uint8_t mac[8];// mac地址
uint8_t local_ip[4];// 本机ip地址
uint8_t host_ip[4];// 主机ip地址
int host_port;// 主机端口
int local_cmd_port;// 本机命令端口
int host_log_port;// 主机log端口
int local_id;// 本机识别号
uint8_t host_log_ip[4];// 主机logip
int uartbsp;// 串口4的波特率
int coder_ret_mode;// 注码指令返回格式
int slave_addr_start;// 小板起始地址
}sys_param_def;
int flash_save_param(sys_param_def *par);
const sys_param_def *sys_param(void);
// 方案参数
__packed
typedef struct{
uint8_t slave_data[2048];
uint32_t plan_id;
uint32_t timeout_m;
uint32_t range_num;
__packed
struct{
uint32_t max;
uint32_t min;
}range[0];
}scheme_def;
const scheme_def *check_scheme(void);
#endif