From 387d1ffc16ce9e050403baee0ed07f3d9accf632 Mon Sep 17 00:00:00 2001 From: chen <15335560115@163.com> Date: 星期五, 04 七月 2025 14:55:15 +0800 Subject: [PATCH] 初步移植完成0.6.8SDK,但发送有len太长未找到原因 --- keil/include/drivers/mk_efuse.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/keil/include/drivers/mk_efuse.c b/keil/include/drivers/mk_efuse.c index 3c4c20a..44bd340 100644 --- a/keil/include/drivers/mk_efuse.c +++ b/keil/include/drivers/mk_efuse.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Beijing Hanwei Innovation Technology Ltd. Co. and + * Copyright (c) 2019-2025 Beijing Hanwei Innovation Technology Ltd. Co. and * its subsidiaries and affiliates (collectly called MKSEMI). * * All rights reserved. @@ -107,11 +107,11 @@ void efuse_read_block(uint16_t byte_addr_start, uint16_t byte_len, uint8_t *buf) { - ASSERT(byte_addr_start + byte_len < 128, "The operation address is over range"); + ASSERT(byte_addr_start + byte_len <= 128, "The operation address is over range"); ASSERT(buf != NULL, "The read buffer pointer is null"); EFUSE_CTRL->ADDR = EFUSE_ADDR_BYTE_ADDR(byte_addr_start); - EFUSE_CTRL->LENGTH = byte_len; + EFUSE_CTRL->LENGTH = byte_len - 1; EFUSE_CTRL->CTRL = EFUSE_CTRL_ACCESS_EN_MSK | EFUSE_CTRL_ACCESS_MODE(EFUSE_LOAD_BLOCK); while (EFUSE_CTRL->SEQUENCE_CNT & EFUSE_SEQUENCE_CNT_BUSY_MSK) { @@ -181,7 +181,7 @@ uint8_t val = REG_READ_BYTE(EFUSE_SHADOW_BASE | byte_addr); REG_WRITE_BYTE(EFUSE_SHADOW_BASE | byte_addr, (uint8_t)(val | (1 << (bit_offset & 0x7)))); EFUSE_CTRL->ADDR = EFUSE_ADDR_BYTE_ADDR(byte_addr) | EFUSE_ADDR_BIT_OFFSET(bit_offset); - EFUSE_CTRL->LENGTH = 1; + EFUSE_CTRL->LENGTH = 0; EFUSE_CTRL->CTRL = EFUSE_CTRL_ACCESS_EN_MSK | EFUSE_CTRL_ACCESS_MODE(EFUSE_PROGRAM_BLOCK); } while (EFUSE_CTRL->SEQUENCE_CNT & EFUSE_SEQUENCE_CNT_BUSY_MSK) -- Gitblit v1.9.3