From: 彭磊 <1624952103@qq.com> Date: Wed, 4 Sep 2024 13:18:16 +0000 (+0000) Subject: Merge #868 into sdk602patch0626 from refs/changes/868/head X-Git-Tag: release_V1.2.70_20241020_135402~529^2~12^2~5 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=acbb5513afd395e6f392525fef5c62e066bcecec;p=mirrors%2FFD230.git Merge #868 into sdk602patch0626 from refs/changes/868/head Code review from 彭磊 * refs/changes/868/head: (6 commits squashed) - 修复BUG #551 "运动,放桌子上不动,卡路里会增加" - Merge branch 'sdk602patch0626' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0626 - Merge branch 'sdk602patch0626' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0626 - 修复BUG "天气 JSON解析错误 导致系统开机死机" - Merge branch 'sdk602patch0626' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0626 - 适配 DS_ZB25LQ128C_HRT NORFLASH Signed-off-by: aliyun6865282430 <1624952103@qq.com> Reviewed-by: snickersun@163.com Merged-by: snickersun@163.com CR-link: https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230/change/868 --- diff --git a/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c b/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c index 429c88922..2a929dac9 100644 --- a/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c +++ b/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c @@ -2161,7 +2161,11 @@ uint8_t parse_jsonCheck_weather(uint8_t *buf,uint8_t *check)//json 格式解析 } printf("开始解析天气 JSON\n"); cJSON *now_cjson = cJSON_GetObjectItem(root, "now"); - + if(now_cjson == NULL) + { + printf("天气 JSON解析错误\n"); + return 0; + } int humidity = cJSON_GetObjectItem(now_cjson, "humidity")->valueint; char * windScale = cJSON_GetObjectItem(now_cjson, "windScale")->valuestring; char *textNight = cJSON_GetObjectItem(now_cjson, "textNight")->valuestring; diff --git a/code/sdk/include/driver/flash/flash_common_config.h b/code/sdk/include/driver/flash/flash_common_config.h index d541fa469..9671895da 100755 --- a/code/sdk/include/driver/flash/flash_common_config.h +++ b/code/sdk/include/driver/flash/flash_common_config.h @@ -117,6 +117,8 @@ #define FLASH_MANUFACTURER_PUYA_PY25Q128LA 0x186585 +#define FLASH_MANUFACTURER_HRT_ZB25LQ128C 0x18505E + #define FLASH_CMD_LEN_MAX 4 #define addr_unalign(Addr, Boundary) ((Addr) & ((Boundary) - 1)) @@ -183,6 +185,7 @@ typedef enum flash_support_manufacturer { FLASH_PUYA_P25Q64SL, FLASH_MXIC_MX25U256, FLASH_PUYA_PY25Q128LA, + FLASH_HRT_ZB25LQ128C, FLASH_MANUFACTURER_MAX } flash_support_manufacturer_t; diff --git a/code/sdk/include/driver/flash/flash_config_info.h b/code/sdk/include/driver/flash/flash_config_info.h index 2b7293a52..542a210d4 100755 --- a/code/sdk/include/driver/flash/flash_config_info.h +++ b/code/sdk/include/driver/flash/flash_config_info.h @@ -125,10 +125,11 @@ static const flash_device_parameter_t g_flash_device_parameter[FLASH_MANUFACTURE g_puya_p25q32lc_enter_qspi_mode_cmd, NULL, &g_puya_p25q32lc_config }, { FLASH_MANUFACTURER_MXIC_MX25U256, FLASH_SIZE_32MB, 0xA5, 0xAA, WAIT_CYCLES_4, 0x2B, 0xB0, 0x30, g_mxic_mx25uxx_enter_qspi_mode_cmd, NULL, &g_mxic_mx25uxx_config }, - // { FLASH_MANUFACTURER_PUYA_PY25Q128LA, FLASH_SIZE_16MB, 0x38, 0xFF, WAIT_CYCLES_6, 0x48, 0x75, 0x7A, - // g_puya_py25q128la_enter_qspi_mode_cmd, NULL, &g_puya_py25q128la_config }, { FLASH_MANUFACTURER_PUYA_PY25Q128LA, FLASH_SIZE_16MB, 0x20, 0xFF, WAIT_CYCLES_4, 0x05, 0x75, 0x7A, g_puya_py25q128la_enter_qspi_mode_cmd, NULL, &g_puya_py25q128la_config }, + { FLASH_MANUFACTURER_HRT_ZB25LQ128C, FLASH_SIZE_16MB, 0x20, 0x0, WAIT_CYCLES_4, 0x05, 0x75, 0x7A, + g_hrt_zb25lq128c_enter_qspi_mode_cmd, NULL, &g_hrt_zb25lq128c_config }, + }; static const uint32_t g_xip_use_cmd_mode[] = { @@ -147,6 +148,7 @@ static const uint32_t g_xip_use_cmd_mode[] = { FLASH_MANUFACTURER_DOSILICON_DS25M4AB, FLASH_MANUFACTURER_PUYA_P25Q64SL, FLASH_MANUFACTURER_PUYA_PY25Q128LA, + FLASH_MANUFACTURER_HRT_ZB25LQ128C, }; static flash_cmd_exe_t g_winbond_w25qxx_set_qe_cmd[] = { @@ -224,6 +226,20 @@ static flash_cmd_exe_t g_puya_py25q128la_set_qe_cmd[] = { { FLASH_CMD_TYPE_END, HAL_SPI_FRAME_FORMAT_MAX_NUM, 0, { 0 } } }; +static flash_cmd_exe_t g_hrt_zb25lq128c_set_qe_cmd[] = { + /* Check QE bit. */ + { FLASH_CMD_TYPE_CHECK, HAL_SPI_FRAME_FORMAT_STANDARD, 3, { FLASH_RDSR2_CMD, 0x1, 0x2 } }, + /* Write enable. */ + { FLASH_CMD_TYPE_CMD, HAL_SPI_FRAME_FORMAT_STANDARD, 1, { FLASH_WREN_CMD } }, + /* Write status register-2 to 0x2, set QE bit. */ + { FLASH_CMD_TYPE_CMD, HAL_SPI_FRAME_FORMAT_STANDARD, 2, { 0x31, 0x02 } }, + /* Waite config done. */ + { FLASH_CMD_TYPE_PROCESSING, HAL_SPI_FRAME_FORMAT_STANDARD, 3, { FLASH_RDSR1_CMD, 0, 0 } }, + /* Check QE bit. */ + { FLASH_CMD_TYPE_PROCESSING, HAL_SPI_FRAME_FORMAT_STANDARD, 3, { FLASH_RDSR2_CMD, 0x1, 0x2 } }, + /* End cmd, will not execute and need return. */ + { FLASH_CMD_TYPE_END, HAL_SPI_FRAME_FORMAT_MAX_NUM, 0, { 0 } } +}; static const flash_qe_config_t g_flash_need_set_qe[] = { {FLASH_MANUFACTURER_WINBOND_W25Q32, g_winbond_w25qxx_set_qe_cmd}, @@ -235,7 +251,8 @@ static const flash_qe_config_t g_flash_need_set_qe[] = { {FLASH_MANUFACTURER_DOSILICON_DS25M4AB, g_winbond_w25qxx_set_qe_cmd}, {FLASH_MANUFACTURER_ELITE_EN25SX128A, g_winbond_en25sx128a_set_qe_cmd}, {FLASH_MANUFACTURER_XTX_XT25Q128D, g_xtx_xt25q128d_set_qe_cmd}, - {FLASH_MANUFACTURER_PUYA_PY25Q128LA, g_puya_py25q128la_set_qe_cmd} + {FLASH_MANUFACTURER_PUYA_PY25Q128LA, g_puya_py25q128la_set_qe_cmd}, + {FLASH_MANUFACTURER_HRT_ZB25LQ128C, g_hrt_zb25lq128c_set_qe_cmd} }; #define FLASH_WIP (bit(0)) diff --git a/code/sdk/include/driver/flash/flash_others_config.h b/code/sdk/include/driver/flash/flash_others_config.h index a95513dab..5528897f1 100755 --- a/code/sdk/include/driver/flash/flash_others_config.h +++ b/code/sdk/include/driver/flash/flash_others_config.h @@ -168,6 +168,21 @@ static flash_cmd_exe_t g_puya_py25q128la_enter_qspi_mode_cmd[] = { { FLASH_CMD_TYPE_END, HAL_SPI_FRAME_FORMAT_MAX_NUM, 0, { 0 } } }; +/* HRT config. */ +/* PY25Q128LA PUYA flash config. */ +static flash_cmd_exe_t g_hrt_zb25lq128c_enter_qspi_mode_cmd[] = { + /* Write enable for Volatils status register. */ + { FLASH_CMD_TYPE_CMD, HAL_SPI_FRAME_FORMAT_STANDARD, 1, { 0x50 } }, + /* Write volatile configuration register,config XIP disable. */ + { FLASH_CMD_TYPE_CMD, HAL_SPI_FRAME_FORMAT_STANDARD, 3, { 0x01, 0x00, 0x02 } }, + /* Enable QPI. */ + { FLASH_CMD_TYPE_CMD, HAL_SPI_FRAME_FORMAT_STANDARD, 1, { 0x38 } }, + /* Set dummy 6, maxinum read freq 108MHZ. */ + { FLASH_CMD_TYPE_CMD, HAL_SPI_FRAME_FORMAT_QUAD, 2, { 0xC0, 0x10} }, + /* End cmd, will not execute and need return. */ + { FLASH_CMD_TYPE_END, HAL_SPI_FRAME_FORMAT_MAX_NUM, 0, { 0 } } +}; + /* OTHERS enter xip mode config. */ /* Micro config. */ /* MT25QU128 Micro flash config. */ @@ -293,6 +308,24 @@ static flash_qspi_xip_config_t g_puya_py25q128la_config = { false, false, }; + +/* HRT config. */ +/* ZB25LQ128C HRT flash config. */ +static flash_qspi_xip_config_t g_hrt_zb25lq128c_config = { + /* The config that before enter XIP mode. */ + WAIT_CYCLES_6, + HAL_SPI_INST_LEN_8, + HAL_SPI_ADDR_LEN_24, + HAL_SPI_TRANS_TYPE_INST_Q_ADDR_Q, + /* The config that after enter XIP mode. */ + WAIT_CYCLES_6, + HAL_SPI_INST_LEN_8, + HAL_SPI_ADDR_LEN_24, + HAL_SPI_TRANS_TYPE_INST_Q_ADDR_Q, + /* XIP 32bit addr & wrap config. */ + false, + false, +}; /** * @} */