Compare commits
9 Commits
46d6aefc9b
...
100_rfid
| Author | SHA1 | Date | |
|---|---|---|---|
| b28f1aade7 | |||
| 09f8e06e09 | |||
| 60b8520267 | |||
| 6b8d9ea6a0 | |||
| 8089cf5b3a | |||
| 51788e4b88 | |||
| fb12a84d2c | |||
| 0405cfe2a7 | |||
| 8f94aaaa17 |
32
.gitignore
vendored
Normal file
32
.gitignore
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
# 编译生成的目标文件
|
||||
*.o
|
||||
*.so
|
||||
*.d
|
||||
|
||||
# 编译生成的最终产物
|
||||
*.elf
|
||||
*.bin
|
||||
*.fw
|
||||
*.ufw
|
||||
*.map
|
||||
*.lst
|
||||
*.bc
|
||||
|
||||
# 编译产物目录
|
||||
# 看起来你所有的编译结果都在 objs/ 目录下,直接忽略整个目录更方便
|
||||
/objs/
|
||||
|
||||
# 工具链和构建产物
|
||||
# 根据你的路径,这些文件也应该被忽略
|
||||
/cpu/br28/tools/app.bin
|
||||
/cpu/br28/tools/data_code.bin
|
||||
/cpu/br28/tools/download/
|
||||
/cpu/br28/tools/isd_config.ini
|
||||
/cpu/br28/tools/sdk.elf*
|
||||
/cpu/br28/tools/sdk.lst
|
||||
/cpu/br28/tools/sdk.map
|
||||
/cpu/br28/sdk_used_list.used
|
||||
|
||||
# VSCode 用户个人设置
|
||||
# 团队协作时,每个人的配置可能不同,通常不建议提交
|
||||
.vscode/settings.json
|
||||
33
.vscode/settings.json
vendored
33
.vscode/settings.json
vendored
@ -1,33 +0,0 @@
|
||||
{
|
||||
"files.associations": {
|
||||
"board_config.h": "c",
|
||||
"board_jl701n_demo_cfg.h": "c",
|
||||
"colorful_lights.h": "c",
|
||||
"board_jl701n_anc_cfg.h": "c",
|
||||
"update_loader_download.h": "c",
|
||||
"iic_soft.h": "c",
|
||||
"circle_buffer.h": "c",
|
||||
"default_event_handler.h": "c",
|
||||
"ui_manage.h": "c",
|
||||
"charge.h": "c",
|
||||
"app_main.h": "c",
|
||||
"app_config.h": "c",
|
||||
"app_action.h": "c",
|
||||
"includes.h": "c",
|
||||
"key_event_deal.h": "c",
|
||||
"app_umidigi_chargestore.h": "c",
|
||||
"hci_lmp.h": "c",
|
||||
"bluetooth.h": "c",
|
||||
"SCU722.C": "cpp",
|
||||
"math.h": "c",
|
||||
"avctp_user.h": "c",
|
||||
"string.h": "c",
|
||||
"dev_manager.h": "c",
|
||||
"bt_tws.h": "c",
|
||||
"skiing_tracker.h": "c",
|
||||
"xtell.h": "c",
|
||||
"debug.h": "c",
|
||||
"ano_protocol.h": "c",
|
||||
"board_jl701n_demo_global_build_cfg.h": "c"
|
||||
}
|
||||
}
|
||||
31
Makefile
31
Makefile
@ -245,14 +245,8 @@ INCLUDES := \
|
||||
-Iinclude_lib/media/aispeech/enc/include \
|
||||
-Icpu/br28/audio_hearing \
|
||||
-Iinclude_lib/media/cvp \
|
||||
-Iapps/earphone/xtell_Sensor/buffer \
|
||||
-Iapps/earphone/xtell_Sensor/sensor \
|
||||
-Iapps/earphone/xtell_Sensor \
|
||||
-Iapps/earphone/xtell_Sensor/calculate \
|
||||
-Iapps/earphone/xtell_Sensor/ano \
|
||||
-Iapps/earphone/xtell_Sensor/sensor/ \
|
||||
-Iapps/earphone/xtell_Sensor/sensor/ \
|
||||
-Iapps/earphone/xtell_Sensor/sensor/ \
|
||||
-Iapps/earphone/remote_control/ \
|
||||
-I$(SYS_INC_DIR) \
|
||||
|
||||
|
||||
@ -619,17 +613,20 @@ c_SRC_FILES := \
|
||||
apps/common/colorful_lights/colorful_lights.c \
|
||||
apps/earphone/xtell_Sensor/xtell_app_main.c \
|
||||
apps/earphone/xtell_Sensor/xtell_handler.c \
|
||||
apps/earphone/xtell_Sensor/send_data.c \
|
||||
apps/earphone/xtell_Sensor/buffer/circle_buffer.c \
|
||||
apps/earphone/xtell_Sensor/sensor/LIS2DH12.c \
|
||||
apps/earphone/xtell_Sensor/sensor/SC7U22.c \
|
||||
apps/earphone/xtell_Sensor/calculate/skiing_tracker.c \
|
||||
apps/earphone/xtell_Sensor/ano/ano_protocol.c \
|
||||
apps/earphone/xtell_Sensor/sensor/MMC56.c \
|
||||
apps/earphone/xtell_Sensor/sensor/BMP280.c \
|
||||
apps/earphone/xtell_Sensor/sensor/AK8963.c \
|
||||
|
||||
|
||||
# 定义需要自动搜索 .c 文件的目录列表
|
||||
C_SRC_DIRS := \
|
||||
apps/earphone/remote_control \
|
||||
|
||||
# 使用 shell 的 find 命令递归查找所有 .c 文件
|
||||
# foreach 遍历 C_SRC_DIRS 中的每一个目录
|
||||
# $(shell find $(dir) -name "*.c") 对每个目录执行 find 命令
|
||||
AUTO_C_SRC_FILES := $(foreach dir,$(C_SRC_DIRS),$(shell find $(dir) -name "*.c"))
|
||||
|
||||
# 将自动找到的文件列表追加到手动列表中
|
||||
c_SRC_FILES += $(AUTO_C_SRC_FILES)
|
||||
|
||||
# 需要编译的 .S 文件
|
||||
S_SRC_FILES := \
|
||||
apps/earphone/sdk_version.z.S \
|
||||
@ -749,6 +746,8 @@ LFLAGS := \
|
||||
--plugin-opt=-mattr=+fprev1 \
|
||||
|
||||
|
||||
|
||||
|
||||
LIBPATHS := \
|
||||
-L$(SYS_LIB_DIR) \
|
||||
|
||||
|
||||
@ -53,9 +53,9 @@
|
||||
// 硬件SPI 配置 //
|
||||
//*********************************************************************************//
|
||||
#define TCFG_HW_SPI1_ENABLE 1
|
||||
#define TCFG_HW_SPI1_PORT_CLK 0//IO_PORTC_04//IO_PORTA_00 xtellio
|
||||
#define TCFG_HW_SPI1_PORT_CLK IO_PORTC_04//IO_PORTC_04//IO_PORTA_00 xtellio
|
||||
#define TCFG_HW_SPI1_PORT_DO IO_PORTC_05//IO_PORTA_01
|
||||
#define TCFG_HW_SPI1_PORT_DI 0//IO_PORTC_03//IO_PORTA_02 xtellio
|
||||
#define TCFG_HW_SPI1_PORT_DI IO_PORTC_03//IO_PORTC_03//IO_PORTA_02 xtellio
|
||||
#define TCFG_HW_SPI1_BAUD 2400000L
|
||||
#define TCFG_HW_SPI1_MODE SPI_MODE_BIDIR_1BIT
|
||||
#define TCFG_HW_SPI1_ROLE SPI_ROLE_MASTER
|
||||
|
||||
@ -70,6 +70,10 @@
|
||||
#include "bt_background.h"
|
||||
#include "default_event_handler.h"
|
||||
|
||||
#if (JL_EARPHONE_APP_EN)
|
||||
#include "rcsp_adv_user_update.h"
|
||||
#endif
|
||||
|
||||
#define xlog(format, ...) printf("[%s] " format, __func__, ##__VA_ARGS__)
|
||||
|
||||
|
||||
@ -2471,6 +2475,19 @@ static int event_handler(struct application *app, struct sys_event *event)
|
||||
} else if ((u32)event->arg == DEVICE_EVENT_FROM_POWER) {
|
||||
return app_power_event_handler(&event->u.dev);
|
||||
}
|
||||
#if (JL_EARPHONE_APP_EN)
|
||||
// else if ((u32)event->arg == DEVICE_EVENT_FROM_RCSP) {
|
||||
// log_info("DEVICE_EVENT_FROM_RCSP: %d", event->u.rcsp.event);
|
||||
// switch (event->u.rcsp.event) {
|
||||
// case MSG_JL_UPDATE_START:
|
||||
// log_info(">>> EARPHONE APP: MSG_JL_UPDATE_START\n");
|
||||
// // You can add UI notifications here, like LED blinking or a tone.
|
||||
// break;
|
||||
// default:
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
#endif
|
||||
#if TCFG_CHARGESTORE_ENABLE
|
||||
else if ((u32)event->arg == DEVICE_EVENT_CHARGE_STORE) {
|
||||
app_chargestore_event_handler(&event->u.chargestore);
|
||||
@ -2790,3 +2807,4 @@ static int state_machine(struct application *app, enum app_state state, struct i
|
||||
// .ops = &app_earphone_ops,
|
||||
// .state = APP_STA_DESTROY,
|
||||
// };
|
||||
|
||||
|
||||
@ -612,11 +612,17 @@ unsigned char ReaderV_Inventory(struct picc_v_struct *picc_v)
|
||||
SetCommand(CMD_TRANSCEIVE);
|
||||
rfid_delay_ms(10);
|
||||
GetReg(REG_ERROR, ®_data);
|
||||
if ((reg_data & 0x0F) != 0)
|
||||
if ((reg_data & 0x0F) != 0){
|
||||
xlog("(reg_data & 0x0F) != 0\n");
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
GetReg(REG_FIFOLENGTH, ®_data);
|
||||
if (reg_data != 10)
|
||||
if (reg_data != 10){
|
||||
xlog("reg_data != 10\n");
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
GetReg(REG_FIFODATA, &picc_v->RESPONSE);
|
||||
GetReg(REG_FIFODATA, ®_data); // DSFID
|
||||
for (i = 0; i < 8; i++)
|
||||
|
||||
@ -62,7 +62,7 @@ void TYPE_A_EVENT(void)
|
||||
result = ReaderA_CardActivate(&PICC_A);
|
||||
if (result != SUCCESS)
|
||||
{
|
||||
// xlog("ReaderA_CardActivate_ERROR\r\n");
|
||||
xlog("ReaderA_CardActivate_ERROR\r\n");
|
||||
SetCW(FUN_DISABLE);
|
||||
return;
|
||||
}
|
||||
@ -275,29 +275,29 @@ void rfid_task_fuc(void)
|
||||
// rfid_hal_init();
|
||||
FM176XX_HardInit();
|
||||
// 2. 复位 FM176XX 芯片
|
||||
while (1)
|
||||
|
||||
result = FM176XX_SoftReset();
|
||||
if (result != SUCCESS)
|
||||
{
|
||||
result = FM176XX_SoftReset();
|
||||
if (result != SUCCESS)
|
||||
{
|
||||
xlog("FM176XX HardReset FAIL\r\n");
|
||||
rfid_delay_ms(1000); // 延时后重试
|
||||
}
|
||||
else
|
||||
{
|
||||
xlog("FM176XX HardReset SUCCESS\r\n");
|
||||
break;
|
||||
}
|
||||
xlog("FM176XX HardReset FAIL\r\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
xlog("FM176XX HardReset SUCCESS\r\n");
|
||||
}
|
||||
|
||||
rfid_delay_ms(10); // 复位后延时
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
// 3. 读取芯片版本号,确认通信是否正常
|
||||
GetReg(REG_VERSION, ®_data);
|
||||
xlog("REG_VERSION = %02X\r\n", reg_data);
|
||||
|
||||
TYPE_A_EVENT();
|
||||
TYPE_B_EVENT();
|
||||
// TYPE_A_EVENT();
|
||||
// TYPE_B_EVENT();
|
||||
TYPE_V_EVENT();
|
||||
TYPE_F_EVENT();
|
||||
// TYPE_F_EVENT();
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
#include "gSensor/gSensor_manage.h"
|
||||
#include "./include/rfid_main.h"
|
||||
#include "./include/READER_REG.h"
|
||||
#include "asm/spi.h"
|
||||
|
||||
#define FUN_ENABLE_XLOG 1
|
||||
#ifdef xlog
|
||||
@ -13,7 +14,7 @@
|
||||
#define xlog(format, ...) ((void)0)
|
||||
#endif
|
||||
|
||||
#define INTERFACE_TYPE 0
|
||||
#define INTERFACE_TYPE 1
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
@ -26,7 +27,7 @@
|
||||
1 0 0x2A
|
||||
1 1 0x2B
|
||||
*/
|
||||
#define FM176_7BIT_ADDR 0x28 //后两位地址由IF2、IF1决定
|
||||
#define FM176_7BIT_ADDR 0x2A //后两位地址由IF2、IF1决定
|
||||
#define FM176_READ_ADDR (FM176_7BIT_ADDR << 1)
|
||||
#define FM176_WRITE_ADDR ((FM176_7BIT_ADDR << 1) | 0x01)
|
||||
|
||||
@ -81,6 +82,96 @@ unsigned char FM176XX_SoftReset(void){
|
||||
|
||||
#elif INTERFACE_TYPE == 1 //spi
|
||||
|
||||
|
||||
unsigned char FM176XX_HardInit(void){
|
||||
gpio_set_direction(IO_PORTA_05,0); //nss
|
||||
gpio_set_output_value(IO_PORTA_05, 1); //初始设置为高
|
||||
spi_open(SPI1); //初始化spi1:PC3、PC5
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief 从FM176XX芯片读取一个字节的寄存器值。
|
||||
* @param address [in] 目标寄存器的地址。
|
||||
* @param reg_data [out] 指向用于存储读取数据的字节的指针。
|
||||
* @return 操作状态,SUCCESS表示成功。
|
||||
* @details
|
||||
* 接口:SPI
|
||||
*/
|
||||
unsigned char GetReg(unsigned char address, unsigned char *reg_data){
|
||||
unsigned char addr_byte;
|
||||
int err;
|
||||
|
||||
// 准备地址字节:地址左移1位,Bit0置1表示读
|
||||
addr_byte = (address << 1) | 0x01;
|
||||
|
||||
// ---- 开始SPI事务 ----
|
||||
gpio_set_output_value(IO_PORTA_05,0);
|
||||
|
||||
// 1. 发送地址字节,忽略接收到的数据
|
||||
spi_send_byte(SPI1, addr_byte);
|
||||
asm("nop");
|
||||
|
||||
// 2. 接收数据字节 (通过发送一个Dummy Byte 0xFF 来产生时钟)
|
||||
*reg_data = spi_recv_byte(SPI1, &err);
|
||||
asm("nop");
|
||||
|
||||
// ---- 结束SPI事务 ----
|
||||
gpio_set_output_value(IO_PORTA_05,1);
|
||||
os_time_dly(1);
|
||||
|
||||
if (err != 0) {
|
||||
xlog("GetReg error\n");
|
||||
return FAIL;
|
||||
}
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief 向FM176XX芯片写入一个字节的寄存器值。
|
||||
* @param address [in] 目标寄存器的地址。
|
||||
* @param reg_data [in] 要写入的字节数据。
|
||||
* @return 操作状态,SUCCESS表示成功。
|
||||
* @details
|
||||
* 接口:SPI
|
||||
*/
|
||||
unsigned char SetReg(unsigned char address, unsigned char reg_data){
|
||||
|
||||
unsigned char addr_byte = (address << 1) & 0xFE; // Bit0=0 for write
|
||||
int err1, err2;
|
||||
|
||||
gpio_set_output_value(IO_PORTA_05,0); // <<-- CS拉低,开始事务
|
||||
|
||||
err1 = spi_send_byte(SPI1, addr_byte); // 发送地址
|
||||
asm("nop");
|
||||
err2 = spi_send_byte(SPI1, reg_data); // 发送数据
|
||||
asm("nop");
|
||||
|
||||
gpio_set_output_value(IO_PORTA_05,1); // <<-- CS拉高,结束事务
|
||||
|
||||
os_time_dly(1);
|
||||
|
||||
if (err1 != 0 || err2 != 0) {
|
||||
return FAIL;
|
||||
}
|
||||
return SUCCESS;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief 软件复位,命令:0x1F
|
||||
*
|
||||
* @return unsigned char
|
||||
*/
|
||||
unsigned char FM176XX_SoftReset(void){
|
||||
return SetReg(REG_COMMAND, 0x1F);
|
||||
}
|
||||
|
||||
|
||||
|
||||
#elif INTERFACE_TYPE == 2 //uart
|
||||
|
||||
#endif
|
||||
|
||||
113
apps/earphone/remote_control/nvs.c
Normal file
113
apps/earphone/remote_control/nvs.c
Normal file
@ -0,0 +1,113 @@
|
||||
#include "system/includes.h"
|
||||
#include "system/syscfg_id.h"
|
||||
#include "nvs.h"
|
||||
|
||||
// 2. 定义一个唯一的配置项ID (必须在1-49之间)
|
||||
#define CFG_FACTORY_INFO_ID 10
|
||||
|
||||
/**
|
||||
* @brief 将出厂信息写入Flash
|
||||
*
|
||||
* @param info 指向要写入的出厂信息结构体的指针
|
||||
* @return 实际写入的长度, <0: 失败
|
||||
*/
|
||||
int nvs_write_factory_info(const factory_info_t *info)
|
||||
{
|
||||
if (!info) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
printf("--> Writing factory info to flash...\n");
|
||||
int ret = syscfg_write(CFG_FACTORY_INFO_ID, (void*)info, sizeof(factory_info_t));
|
||||
if (ret != sizeof(factory_info_t)) {
|
||||
printf("!!! syscfg_write factory info failed, ret = %d\n", ret);
|
||||
} else {
|
||||
printf("--> syscfg_write factory info success.\n");
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 从Flash读取出厂信息
|
||||
*
|
||||
* @param info 指向用于存储读取数据的出厂信息结构体的指针
|
||||
* @return 实际读取的长度, <0: 失败 (例如尚未写入过)
|
||||
*/
|
||||
int nvs_read_factory_info(factory_info_t *info)
|
||||
{
|
||||
if (!info) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
printf("--> Reading factory info from flash...\n");
|
||||
int ret = syscfg_read(CFG_FACTORY_INFO_ID, (void*)info, sizeof(factory_info_t));
|
||||
if (ret != sizeof(factory_info_t)) {
|
||||
printf("!!! syscfg_read factory info failed, ret = %d. Maybe not set yet.\n", ret);
|
||||
// 如果读取失败,清空结构体以避免使用脏数据
|
||||
memset(info, 0, sizeof(factory_info_t));
|
||||
} else {
|
||||
printf("--> syscfg_read factory info success.\n");
|
||||
// 可以在这里打印读取到的信息以供调试
|
||||
printf(" Product ID: %s\n", info->product_id);
|
||||
printf(" Serial No: %s\n", info->serial_number);
|
||||
printf(" HW Version: 0x%x\n", info->hw_version);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 清空Flash中的出厂信息
|
||||
*
|
||||
* @return 0: 成功, <0: 失败
|
||||
*/
|
||||
int nvs_clear_factory_info(void)
|
||||
{
|
||||
printf("--> Clearing factory info from flash...\n");
|
||||
// 写入长度为0的数据即可实现删除效果
|
||||
int ret = syscfg_write(CFG_FACTORY_INFO_ID, NULL, 0);
|
||||
if (ret != 0) {
|
||||
printf("!!! syscfg_write clear factory info failed, ret = %d\n", ret);
|
||||
} else {
|
||||
printf("--> syscfg_write clear factory info success.\n");
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
// 可以在这里添加一个测试函数
|
||||
void nvs_test_factory_info(void)
|
||||
{
|
||||
factory_info_t write_info = {
|
||||
.product_id = "RC_V2",
|
||||
.serial_number = "SN202511260002",
|
||||
.hw_version = 0x0102, // v1.1
|
||||
.cal_data = 1234,
|
||||
.manufacture_date = 1764080400, // 2025-11-26
|
||||
};
|
||||
factory_info_t read_info;
|
||||
|
||||
printf("\n\n--- NVS WRITE TEST ---\n");
|
||||
nvs_write_factory_info(&write_info);
|
||||
|
||||
os_time_dly(10);
|
||||
|
||||
printf("\n--- NVS READ TEST ---\n");
|
||||
nvs_read_factory_info(&read_info);
|
||||
|
||||
// ASSERT(memcmp(&write_info, &read_info, sizeof(factory_info_t)) == 0, "NVS Read/Write Check Failed!");
|
||||
|
||||
// printf("\n--- NVS CLEAR TEST ---\n");
|
||||
// nvs_clear_factory_info();
|
||||
|
||||
os_time_dly(10);
|
||||
|
||||
printf("\n--- NVS READ AFTER CLEAR TEST ---\n");
|
||||
int ret = nvs_read_factory_info(&read_info);
|
||||
if(ret < 0){
|
||||
printf("--- nvs read error ---\n");
|
||||
}
|
||||
|
||||
printf("\n\n--- NVS TEST COMPLETE ---\n\n");
|
||||
}
|
||||
44
apps/earphone/remote_control/nvs.h
Normal file
44
apps/earphone/remote_control/nvs.h
Normal file
@ -0,0 +1,44 @@
|
||||
#ifndef __NVS_H__
|
||||
#define __NVS_H__
|
||||
|
||||
#include "typedef.h"
|
||||
|
||||
// 定义出厂信息数据结构
|
||||
typedef struct {
|
||||
char product_id[16]; // 产品ID
|
||||
char serial_number[32]; // 序列号
|
||||
u16 hw_version; // 硬件版本
|
||||
u16 cal_data; // 某个校准数据
|
||||
u32 manufacture_date; // 生产日期 (Unix时间戳)
|
||||
} factory_info_t;
|
||||
|
||||
/**
|
||||
* @brief 将出厂信息写入Flash
|
||||
*
|
||||
* @param info 指向要写入的出厂信息结构体的指针
|
||||
* @return 实际写入的长度, <0: 失败
|
||||
*/
|
||||
int nvs_write_factory_info(const factory_info_t *info);
|
||||
|
||||
/**
|
||||
* @brief 从Flash读取出厂信息
|
||||
*
|
||||
* @param info 指向用于存储读取数据的出厂信息结构体的指针
|
||||
* @return 实际读取的长度, <0: 失败 (例如尚未写入过)
|
||||
*/
|
||||
int nvs_read_factory_info(factory_info_t *info);
|
||||
|
||||
/**
|
||||
* @brief 清空Flash中的出厂信息
|
||||
*
|
||||
* @return 0: 成功, <0: 失败
|
||||
*/
|
||||
int nvs_clear_factory_info(void);
|
||||
|
||||
/**
|
||||
* @brief 用于测试NVS读写功能的函数
|
||||
*
|
||||
*/
|
||||
void nvs_test_factory_info(void);
|
||||
|
||||
#endif // __NVS_H__
|
||||
@ -45,6 +45,7 @@
|
||||
#include "default_event_handler.h"
|
||||
#include "debug.h"
|
||||
#include "system/event.h"
|
||||
#include "../remote_control/nvs.h"
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//宏定义
|
||||
#define LOG_TAG_CONST EARPHONE
|
||||
@ -209,11 +210,18 @@ void le_user_app_event_handler(struct sys_event* event){
|
||||
if (event->u.app.buffer[0] == 0xBE && event->u.app.buffer[1] == 0xBB) {
|
||||
if(event->u.app.buffer[2] == 0x01){ //后面的数据长度 1
|
||||
switch (event->u.app.buffer[3]){
|
||||
case 0x01:
|
||||
nvs_test_factory_info();
|
||||
break;
|
||||
case 0x02:
|
||||
factory_info_t read_info;;
|
||||
nvs_read_factory_info(&read_info);
|
||||
break;
|
||||
case 0xff: //测试
|
||||
extern void i2c_scanner_probe(void);
|
||||
// i2c_scanner_probe();
|
||||
extern void rfid_task_fuc(void);
|
||||
create_process(&rfid_fuc_id,"rfid",NULL,rfid_task_fuc,1000);
|
||||
create_process(&rfid_fuc_id,"rfid",NULL,rfid_task_fuc,4000);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@ -253,6 +253,7 @@
|
||||
_MASK_MEM_BEGIN = ABSOLUTE(0x19fc00);
|
||||
_MASK_MEM_SIZE = ABSOLUTE(0x1a4);
|
||||
|
||||
|
||||
EXTERN(
|
||||
_start
|
||||
|
||||
@ -293,6 +294,7 @@ cvsd_encoder
|
||||
|
||||
msbc_encoder
|
||||
audio_dac_driver
|
||||
|
||||
);
|
||||
|
||||
UPDATA_SIZE = 0x80;
|
||||
@ -428,7 +430,8 @@ SECTIONS
|
||||
battery_notify_begin = .;
|
||||
*(.battery_notify)
|
||||
battery_notify_end = .;
|
||||
. = ALIGN(4);
|
||||
|
||||
. = ALIGN(4);
|
||||
__VERSION_BEGIN = .;
|
||||
KEEP(*(.sys.version))
|
||||
__VERSION_END = .;
|
||||
@ -518,6 +521,7 @@ SECTIONS
|
||||
*(.audio_track_data)
|
||||
*(.audio_adc_data)
|
||||
|
||||
|
||||
. = ALIGN(4);
|
||||
*(.data*)
|
||||
|
||||
@ -726,6 +730,7 @@ SECTIONS
|
||||
|
||||
} > ram0
|
||||
|
||||
|
||||
data_code_pc_limit_end = .;
|
||||
__report_overlay_end = .;
|
||||
|
||||
@ -815,6 +820,7 @@ SECTIONS
|
||||
}
|
||||
|
||||
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
.data : ALIGN(4)
|
||||
@ -846,6 +852,7 @@ SECTIONS
|
||||
|
||||
UPDATE_CODE_TOTAL_SIZE = update_code_end - update_code_start;
|
||||
}
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
.data : ALIGN(4)
|
||||
@ -948,6 +955,7 @@ BTSTACK_LE_HOST_MESH_RAM_TOTAL = BTSTACK_LE_HOST_MESH_DATA_SIZE + BTSTACK_LE_HOS
|
||||
BTSTACK_LE_HOST_MESH_FLASH_TOTAL = BTSTACK_LE_HOST_MESH_CODE_SIZE;
|
||||
|
||||
BTSTACK_CODE_SIZE = (btstack_code_end - btstack_code_start) + (btstack_data_end - btstack_data_start);
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
.data : ALIGN(4)
|
||||
@ -1241,6 +1249,7 @@ SECTIONS
|
||||
*(.os_code)
|
||||
} > ram0
|
||||
}
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
.data : ALIGN(4)
|
||||
@ -1450,6 +1459,7 @@ SECTIONS
|
||||
BTCTLER_RAM_TOTAL = (btctler_data_end - btctler_data_start) + (btctler_bss_end - btctler_bss_start);
|
||||
BTCTLER_CODE_TOTAL = (btctler_code_end - btctler_code_start);
|
||||
}
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
.data : ALIGN(4)
|
||||
@ -1567,7 +1577,8 @@ SECTIONS
|
||||
*(.timer.text.cache.L1)
|
||||
*(.gpio.text.cache.L1)
|
||||
*(.iic_hw.text.cache.L1)
|
||||
driver_data_code_end = .;
|
||||
|
||||
driver_data_code_end = .;
|
||||
. = ALIGN(4);
|
||||
} > ram0
|
||||
|
||||
@ -1577,6 +1588,7 @@ SECTIONS
|
||||
DRIVER_DATA_CODE_TOTAL = (driver_data_code_end - driver_data_code_start);
|
||||
|
||||
}
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
.data : ALIGN(4)
|
||||
@ -2016,6 +2028,7 @@ SECTIONS
|
||||
} > ram0
|
||||
}
|
||||
|
||||
|
||||
text_begin = ADDR(.text);
|
||||
text_size = SIZEOF(.text);
|
||||
text_end = text_begin + text_size;
|
||||
|
||||
@ -1,54 +0,0 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
sdfile_vfs_ops
|
||||
sbc_decoder
|
||||
|
||||
|
||||
|
||||
msbc_decoder
|
||||
|
||||
|
||||
|
||||
sbc_hwaccel
|
||||
|
||||
|
||||
|
||||
cvsd_decoder
|
||||
|
||||
|
||||
|
||||
pcm_decoder
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
mp3_decoder
|
||||
wtgv2_decoder
|
||||
|
||||
|
||||
|
||||
aac_decoder
|
||||
cvsd_encoder
|
||||
|
||||
|
||||
|
||||
msbc_encoder
|
||||
audio_dac_driver
|
||||
@ -416,10 +416,11 @@ int spi_open(spi_dev spi)
|
||||
} else if (role == SPI_ROLE_SLAVE) {
|
||||
spi_role_slave(spi_regs[id]);
|
||||
}
|
||||
spi_smp_edge_rise(spi_regs[id]);
|
||||
spi_ud_edge_fall(spi_regs[id]);
|
||||
spi_smp_edge_rise(spi_regs[id]); // 采样边沿:上升沿 (Sample edge: Rise) --lmx
|
||||
spi_ud_edge_fall(spi_regs[id]); // 更新边沿:下降沿 (Update edge: Fall)
|
||||
// spi_ud_edge_rise(spi_regs[id]); // 更新边沿:上升沿 (Update edge: Fall)
|
||||
spi_clk_idle_l(spi_regs[id]); // 时钟空闲:低电平 (Clock idle: Low)
|
||||
spi_cs_idle_h(spi_regs[id]);
|
||||
spi_clk_idle_l(spi_regs[id]);
|
||||
spi_clr_pnd(spi_regs[id]);
|
||||
if ((err = spi_set_baud(spi, clock))) {
|
||||
log_error("invalid spi baudrate");
|
||||
@ -432,15 +433,15 @@ int spi_open(spi_dev spi)
|
||||
}
|
||||
spi_enable(spi_regs[id]);
|
||||
|
||||
#if 0
|
||||
#if 1
|
||||
printf("spi%d clk = %d\n", id, clock);
|
||||
printf("spi%d mode = %d\n", id, mode);
|
||||
printf("spi%d role = %d\n", id, role);
|
||||
printf("spi%d clk_pin = %d\n", id, port[0]);
|
||||
printf("spi%d do_pin = %d\n", id, port[1]);
|
||||
printf("spi%d di_pin = %d\n", id, port[2]);
|
||||
printf("spi%d clk_pin = %d\n", id, spi1_p_data.port[0]);
|
||||
printf("spi%d do_pin = %d\n", id, spi1_p_data.port[1]);
|
||||
printf("spi%d di_pin = %d\n", id, spi1_p_data.port[2]);
|
||||
printf("spi%d CON = %04x\n", id, spi_r_reg_con(spi_regs[id]));
|
||||
printf("spi%d IOMC1 = %08x\n", id, JL_IOMAP->CON1);
|
||||
// printf("spi%d IOMC1 = %08x\n", id, JL_IOMAP->CON1);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +0,0 @@
|
||||
64F3350FE2590FAF79755623B7E159CE83FAD97C34014E5EB2B528F6D6C2DABAB3B7C88C
|
||||
@ -1 +0,0 @@
|
||||
1cfdc466ec927dbedd4d12447b6bbff1da1bd6ddb6b375ecda1bd6ddb6b375ec950b1206
|
||||
@ -1 +0,0 @@
|
||||
39209e0c95b837ce6cd626f6b1d566a6a5fed6fa11cd451ba5fed6fa11cd451b9a3f2514
|
||||
@ -1,49 +0,0 @@
|
||||
@echo off
|
||||
|
||||
cd %~dp0
|
||||
|
||||
copy ..\..\script.ver .
|
||||
copy ..\..\tone.cfg .
|
||||
copy ..\..\p11_code.bin .
|
||||
copy ..\..\br28loader.bin .
|
||||
copy ..\..\ota.bin .
|
||||
copy ..\..\anc_coeff.bin .
|
||||
copy ..\..\anc_gains.bin .
|
||||
|
||||
..\..\isd_download.exe ..\..\isd_config.ini -tonorflash -dev br28 -boot 0x120000 -div8 -wait 300 -uboot ..\..\uboot.boot -app ..\..\app.bin -res ..\..\cfg_tool.bin tone.cfg p11_code.bin ..\..\eq_cfg_hw.bin -uboot_compress -key AC69.key -format all -key 646-AC690X-7603.key
|
||||
|
||||
@REM..\..\isd_download.exe ..\..\isd_config.ini -tonorflash -dev br34 -boot 0x20000 -div8 -wait 300 -uboot ..\..\uboot.boot -app ..\..\app.bin ..\..\cfg_tool.bin -res tone.cfg kws_command.bin p11_code.bin -uboot_compress
|
||||
|
||||
:: -format all
|
||||
::-reboot 2500
|
||||
|
||||
@rem ɾ<><C9BE><EFBFBD><EFBFBD>ʱ<EFBFBD>ļ<EFBFBD>-format all
|
||||
if exist *.mp3 del *.mp3
|
||||
if exist *.PIX del *.PIX
|
||||
if exist *.TAB del *.TAB
|
||||
if exist *.res del *.res
|
||||
if exist *.sty del *.sty
|
||||
|
||||
..\..\ufw_maker.exe -fw_to_ufw jl_isd.fw
|
||||
copy jl_isd.ufw update.ufw
|
||||
del jl_isd.ufw
|
||||
|
||||
@REM <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||
::ufw_maker.exe -chip AC800X %ADD_KEY% -output config.ufw -res bt_cfg.cfg
|
||||
|
||||
::IF EXIST jl_696x.bin del jl_696x.bin
|
||||
|
||||
if exist script.ver del script.ver
|
||||
if exist tone.cfg del tone.cfg
|
||||
if exist p11_code.bin del p11_code.bin
|
||||
if exist br28loader.bin del br28loader.bin
|
||||
if exist anc_coeff.bin del anc_coeff.bin
|
||||
if exist anc_gains.bin del anc_gains.bin
|
||||
|
||||
@rem <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>
|
||||
@rem -format vm //<2F><><EFBFBD><EFBFBD>VM <20><><EFBFBD><EFBFBD>
|
||||
@rem -format cfg //<2F><><EFBFBD><EFBFBD>BT CFG <20><><EFBFBD><EFBFBD>
|
||||
@rem -format 0x3f0-2 //<2F><>ʾ<EFBFBD>ӵ<EFBFBD> 0x3f0 <20><> sector <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2 <20><> sector(<28><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ16<31><36><EFBFBD>ƻ<EFBFBD>10<31><30><EFBFBD>ƶ<EFBFBD><C6B6>ɣ<EFBFBD><C9A3>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>10<31><30><EFBFBD><EFBFBD>)
|
||||
|
||||
ping /n 2 127.1>null
|
||||
IF EXIST null del null
|
||||
@ -1,49 +0,0 @@
|
||||
@echo off
|
||||
|
||||
cd %~dp0
|
||||
|
||||
copy ..\..\script.ver .
|
||||
copy ..\..\tone.cfg .
|
||||
copy ..\..\p11_code.bin .
|
||||
copy ..\..\br28loader.bin .
|
||||
copy ..\..\ota.bin .
|
||||
copy ..\..\anc_coeff.bin .
|
||||
copy ..\..\anc_gains.bin .
|
||||
|
||||
..\..\isd_download.exe ..\..\isd_config.ini -tonorflash -dev br28 -boot 0x120000 -div8 -wait 300 -uboot ..\..\uboot.boot -app ..\..\app.bin -res ..\..\cfg_tool.bin tone.cfg p11_code.bin ..\..\eq_cfg_hw.bin -uboot_compress -key 646-AC690X-7603.key
|
||||
|
||||
@REM..\..\isd_download.exe ..\..\isd_config.ini -tonorflash -dev br34 -boot 0x20000 -div8 -wait 300 -uboot ..\..\uboot.boot -app ..\..\app.bin ..\..\cfg_tool.bin -res tone.cfg kws_command.bin p11_code.bin -uboot_compress
|
||||
|
||||
:: -format all
|
||||
::-reboot 2500
|
||||
|
||||
@rem ɾ<><C9BE><EFBFBD><EFBFBD>ʱ<EFBFBD>ļ<EFBFBD>-format all
|
||||
if exist *.mp3 del *.mp3
|
||||
if exist *.PIX del *.PIX
|
||||
if exist *.TAB del *.TAB
|
||||
if exist *.res del *.res
|
||||
if exist *.sty del *.sty
|
||||
|
||||
..\..\ufw_maker.exe -fw_to_ufw jl_isd.fw
|
||||
copy jl_isd.ufw update.ufw
|
||||
del jl_isd.ufw
|
||||
|
||||
@REM <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||
::ufw_maker.exe -chip AC800X %ADD_KEY% -output config.ufw -res bt_cfg.cfg
|
||||
|
||||
::IF EXIST jl_696x.bin del jl_696x.bin
|
||||
|
||||
if exist script.ver del script.ver
|
||||
if exist tone.cfg del tone.cfg
|
||||
if exist p11_code.bin del p11_code.bin
|
||||
if exist br28loader.bin del br28loader.bin
|
||||
if exist anc_coeff.bin del anc_coeff.bin
|
||||
if exist anc_gains.bin del anc_gains.bin
|
||||
|
||||
@rem <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>
|
||||
@rem -format vm //<2F><><EFBFBD><EFBFBD>VM <20><><EFBFBD><EFBFBD>
|
||||
@rem -format cfg //<2F><><EFBFBD><EFBFBD>BT CFG <20><><EFBFBD><EFBFBD>
|
||||
@rem -format 0x3f0-2 //<2F><>ʾ<EFBFBD>ӵ<EFBFBD> 0x3f0 <20><> sector <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2 <20><> sector(<28><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ16<31><36><EFBFBD>ƻ<EFBFBD>10<31><30><EFBFBD>ƶ<EFBFBD><C6B6>ɣ<EFBFBD><C9A3>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>10<31><30><EFBFBD><EFBFBD>)
|
||||
|
||||
ping /n 2 127.1>null
|
||||
IF EXIST null del null
|
||||
@ -1,49 +0,0 @@
|
||||
@echo off
|
||||
|
||||
cd %~dp0
|
||||
|
||||
copy ..\..\script.ver .
|
||||
copy ..\..\tone.cfg .
|
||||
copy ..\..\p11_code.bin .
|
||||
copy ..\..\br28loader.bin .
|
||||
copy ..\..\ota.bin .
|
||||
copy ..\..\anc_coeff.bin .
|
||||
copy ..\..\anc_gains.bin .
|
||||
|
||||
:: -format all -key AC690X-8029.key
|
||||
..\..\isd_download.exe ..\..\isd_config.ini -tonorflash -dev br28 -boot 0x120000 -div8 -wait 300 -uboot ..\..\uboot.boot -app ..\..\app.bin -res ..\..\cfg_tool.bin tone.cfg p11_code.bin ..\..\eq_cfg_hw.bin -uboot_compress
|
||||
@REM..\..\isd_download.exe ..\..\isd_config.ini -tonorflash -dev br34 -boot 0x20000 -div8 -wait 300 -uboot ..\..\uboot.boot -app ..\..\app.bin ..\..\cfg_tool.bin -res tone.cfg kws_command.bin p11_code.bin -uboot_compress
|
||||
|
||||
:: -format all
|
||||
::-reboot 2500
|
||||
|
||||
@rem ɾ ʱ ļ -format all
|
||||
if exist *.mp3 del *.mp3
|
||||
if exist *.PIX del *.PIX
|
||||
if exist *.TAB del *.TAB
|
||||
if exist *.res del *.res
|
||||
if exist *.sty del *.sty
|
||||
|
||||
..\..\ufw_maker.exe -fw_to_ufw jl_isd.fw
|
||||
copy jl_isd.ufw update.ufw
|
||||
del jl_isd.ufw
|
||||
|
||||
@REM ļ ļ
|
||||
::ufw_maker.exe -chip AC800X %ADD_KEY% -output config.ufw -res bt_cfg.cfg
|
||||
|
||||
::IF EXIST jl_696x.bin del jl_696x.bin
|
||||
|
||||
if exist script.ver del script.ver
|
||||
if exist tone.cfg del tone.cfg
|
||||
if exist p11_code.bin del p11_code.bin
|
||||
if exist br28loader.bin del br28loader.bin
|
||||
if exist anc_coeff.bin del anc_coeff.bin
|
||||
if exist anc_gains.bin del anc_gains.bin
|
||||
|
||||
@rem ˵
|
||||
@rem -format vm // VM
|
||||
@rem -format cfg // BT CFG
|
||||
@rem -format 0x3f0-2 // ʾ ӵ 0x3f0 sector ʼ 2 sector( һ Ϊ16 ƻ 10 ƶ ɣ ڶ 10 )
|
||||
|
||||
ping /n 2 127.1>null
|
||||
IF EXIST null del null
|
||||
@ -1,50 +0,0 @@
|
||||
@echo off
|
||||
|
||||
cd %~dp0
|
||||
|
||||
copy ..\..\script.ver .
|
||||
copy ..\..\tone.cfg .
|
||||
copy ..\..\p11_code.bin .
|
||||
copy ..\..\br28loader.bin .
|
||||
copy ..\..\ota.bin .
|
||||
copy ..\..\anc_coeff.bin .
|
||||
copy ..\..\anc_gains.bin .
|
||||
|
||||
:: -format all -key AC690X-8029.key
|
||||
..\..\isd_download.exe ..\..\isd_config.ini -tonorflash -dev br28 -boot 0x120000 -div8 -wait 300 -uboot ..\..\uboot.boot -app ..\..\app.bin -res ..\..\cfg_tool.bin tone.cfg p11_code.bin ..\..\eq_cfg_hw.bin -uboot_compress -key AC690X-8029.key
|
||||
|
||||
@REM..\..\isd_download.exe ..\..\isd_config.ini -tonorflash -dev br34 -boot 0x20000 -div8 -wait 300 -uboot ..\..\uboot.boot -app ..\..\app.bin ..\..\cfg_tool.bin -res tone.cfg kws_command.bin p11_code.bin -uboot_compress
|
||||
|
||||
:: -format all
|
||||
::-reboot 2500
|
||||
|
||||
@rem ɾ ʱ ļ -format all
|
||||
if exist *.mp3 del *.mp3
|
||||
if exist *.PIX del *.PIX
|
||||
if exist *.TAB del *.TAB
|
||||
if exist *.res del *.res
|
||||
if exist *.sty del *.sty
|
||||
|
||||
..\..\ufw_maker.exe -fw_to_ufw jl_isd.fw
|
||||
copy jl_isd.ufw update.ufw
|
||||
del jl_isd.ufw
|
||||
|
||||
@REM ļ ļ
|
||||
::ufw_maker.exe -chip AC800X %ADD_KEY% -output config.ufw -res bt_cfg.cfg
|
||||
|
||||
::IF EXIST jl_696x.bin del jl_696x.bin
|
||||
|
||||
if exist script.ver del script.ver
|
||||
if exist tone.cfg del tone.cfg
|
||||
if exist p11_code.bin del p11_code.bin
|
||||
if exist br28loader.bin del br28loader.bin
|
||||
if exist anc_coeff.bin del anc_coeff.bin
|
||||
if exist anc_gains.bin del anc_gains.bin
|
||||
|
||||
@rem ˵
|
||||
@rem -format vm // VM
|
||||
@rem -format cfg // BT CFG
|
||||
@rem -format 0x3f0-2 // ʾ ӵ 0x3f0 sector ʼ 2 sector( һ Ϊ16 ƻ 10 ƶ ɣ ڶ 10 )
|
||||
|
||||
ping /n 2 127.1>null
|
||||
IF EXIST null del null
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,47 +0,0 @@
|
||||
@echo off
|
||||
|
||||
cd %~dp0
|
||||
|
||||
copy ..\..\script.ver .
|
||||
copy ..\..\tone.cfg .
|
||||
copy ..\..\p11_code.bin .
|
||||
copy ..\..\br28loader.bin .
|
||||
|
||||
..\..\isd_download.exe ..\..\isd_config.ini -tonorflash -dev br28 -boot 0x120000 -div8 -wait 300 -uboot ..\..\uboot.boot -app ..\..\app.bin -res tone.cfg ..\..\cfg_tool.bin ..\..\eq_cfg_hw.bin p11_code.bin -uboot_compress
|
||||
|
||||
:: -format all
|
||||
::-reboot 2500
|
||||
|
||||
@rem ɾ<><C9BE><EFBFBD><EFBFBD>ʱ<EFBFBD>ļ<EFBFBD>-format all
|
||||
if exist *.mp3 del *.mp3
|
||||
if exist *.PIX del *.PIX
|
||||
if exist *.TAB del *.TAB
|
||||
if exist *.res del *.res
|
||||
if exist *.sty del *.sty
|
||||
|
||||
@rem <20><><EFBFBD>ɹ̼<C9B9><CCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||
..\..\fw_add.exe -noenc -fw jl_isd.fw -add ..\..\ota.bin -type 100 -out jl_isd.fw
|
||||
@rem <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ýű<C3BD><C5B1>İ汾<C4B0><E6B1BE>Ϣ<EFBFBD><CFA2> FW <20>ļ<EFBFBD><C4BC><EFBFBD>
|
||||
..\..\fw_add.exe -noenc -fw jl_isd.fw -add script.ver -out jl_isd.fw
|
||||
|
||||
..\..\ufw_maker.exe -fw_to_ufw jl_isd.fw
|
||||
copy jl_isd.ufw update.ufw
|
||||
del jl_isd.ufw
|
||||
|
||||
@REM <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||
::ufw_maker.exe -chip AC800X %ADD_KEY% -output config.ufw -res bt_cfg.cfg
|
||||
|
||||
::IF EXIST jl_696x.bin del jl_696x.bin
|
||||
|
||||
if exist script.ver del script.ver
|
||||
if exist tone.cfg del tone.cfg
|
||||
if exist p11_code.bin del p11_code.bin
|
||||
if exist br28loader.bin del br28loader.bin
|
||||
|
||||
@rem <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>
|
||||
@rem -format vm //<2F><><EFBFBD><EFBFBD>VM <20><><EFBFBD><EFBFBD>
|
||||
@rem -format cfg //<2F><><EFBFBD><EFBFBD>BT CFG <20><><EFBFBD><EFBFBD>
|
||||
@rem -format 0x3f0-2 //<2F><>ʾ<EFBFBD>ӵ<EFBFBD> 0x3f0 <20><> sector <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2 <20><> sector(<28><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ16<31><36><EFBFBD>ƻ<EFBFBD>10<31><30><EFBFBD>ƶ<EFBFBD><C6B6>ɣ<EFBFBD><C9A3>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>10<31><30><EFBFBD><EFBFBD>)
|
||||
|
||||
ping /n 2 127.1>null
|
||||
IF EXIST null del null
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,82 +0,0 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
[EXTRA_CFG_PARAM]
|
||||
NEW_FLASH_FS = YES;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
CHIP_NAME = AC701N;
|
||||
ENTRY = 0x6000100;
|
||||
PID = AC701N;
|
||||
VID = 0.01;
|
||||
|
||||
SDK_VERSION = JL701N_V1.6.1;
|
||||
|
||||
RESERVED_OPT = 0;
|
||||
|
||||
UFW_ELEMENT = 0x10 - 0x0, 0x1 - 0x0;
|
||||
|
||||
DOWNLOAD_MODEL = USB;
|
||||
SERIAL_DEVICE_NAME = JlVirtualJtagSerial;
|
||||
SERIAL_BARD_RATE = 1000000;
|
||||
SERIAL_CMD_OPT = 2;
|
||||
SERIAL_CMD_RATE = 100;
|
||||
SERIAL_CMD_RES = 0;
|
||||
SERIAL_INIT_BAUD_RATE = 9600;
|
||||
LOADER_BAUD_RATE = 1000000;
|
||||
LOADER_ASK_BAUD_RATE = 1000000;
|
||||
BEFORE_LOADER_WAIT_TIME = 150;
|
||||
SERIAL_SEND_KEY = YES;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
[CHIP_VERSION]
|
||||
SUPPORTED_LIST = P, B;
|
||||
|
||||
[SYS_CFG_PARAM]
|
||||
SPI = 2_3_0_0;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
UTTX = PB02;
|
||||
UTBD = 1000000;
|
||||
UTRX = PP00;
|
||||
[FW_ADDITIONAL]
|
||||
FILE_LIST = (file = ota.bin: type = 100);
|
||||
[RESERVED_CONFIG]
|
||||
BTIF_ADR = AUTO;
|
||||
BTIF_LEN = 0x1000;
|
||||
BTIF_OPT = 1;
|
||||
PRCT_ADR = 0;
|
||||
PRCT_LEN = CODE_LEN;
|
||||
PRCT_OPT = 2;
|
||||
|
||||
|
||||
|
||||
VM_ADR = 0;
|
||||
VM_LEN = 8K;
|
||||
VM_OPT = 1;
|
||||
[BURNER_CONFIG]
|
||||
SIZE = 32;
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
36858
cpu/br28/tools/rom.lst
36858
cpu/br28/tools/rom.lst
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
194542
cpu/br28/tools/sdk.lst
194542
cpu/br28/tools/sdk.lst
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user