From d6a640dc20b35fee83693056fd6471b5c7389454 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chic=20Ye=28=E5=8F=B6=E6=99=BA=E5=BC=BA=29?= Date: Thu, 8 Jul 2021 15:46:13 +0800 Subject: [PATCH] =?UTF-8?q?Chic=EF=BC=9A=E5=A2=9E=E5=8A=A0EC200U=EF=BC=9B?= =?UTF-8?q?=E4=BA=A4=E4=BA=92=E4=BF=9D=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/Mass_production/zh/CodeEncryption.md | 7 +++ .../zh/media/20210708153532854.png | Bin 0 -> 36693 bytes .../zh/Qp_Product_intro/Hardware_Support.md | 43 +++++++++++++----- 3 files changed, 38 insertions(+), 12 deletions(-) create mode 100644 docs/Mass_production/zh/media/20210708153532854.png diff --git a/docs/Mass_production/zh/CodeEncryption.md b/docs/Mass_production/zh/CodeEncryption.md index c75ba35..ad6d602 100644 --- a/docs/Mass_production/zh/CodeEncryption.md +++ b/docs/Mass_production/zh/CodeEncryption.md @@ -5,6 +5,7 @@ | **版本** | **日期** | **作者** | **变更表述** | | -------- | ---------- | -------- | ------------ | | 1.0 | 2021-04-07 | Chic | 初始版本 | +| 1.1 | 2021-07-08 | Chic | 增加交互保护 | @@ -59,6 +60,12 @@ user.py加密后,就会变成user.mpy,我们可以直接用user.mpy代替原 +## 文件读出保护 + +![image-20210708153532854](media\20210708153532854.png) + + + ## 更多mpy-cross资料 mpy-cross官方资料 diff --git a/docs/Mass_production/zh/media/20210708153532854.png b/docs/Mass_production/zh/media/20210708153532854.png new file mode 100644 index 0000000000000000000000000000000000000000..40af642b60bbd3acb8514c91183a10926e7b2be7 GIT binary patch literal 36693 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 B34/B38/B39/B40/B41 | 624MHz | 3M | 3M | 14 | 3 | 1 | 1 | 1 | 4 | * | * | * | * | * | * | N | Y | 3.4 to 4.3 | -40 to +105 | -| EC600SCNLB | FDD B1/B3/B5/B8
TDD B34/B38/B39/B40/B41 | 624MHz | 3M | 0.5M | 14 | 3 | 1 | 1 | 1 | 4 | N | N | N | N | N | * | N | Y | 3.4 to 4.3 | -40 to +105 | -| EC600UCNLB | FDD B1/B3/B5/B8
TDD B34/B38/B39/B40/B41 | 624MHz | 3M | 0.5M | 14 | 3 | 1 | 1 | 1 | 4 | * | N | N | N | N | * | * | Y | 3.4 to 4.3 | -40 to +105 | -| EC600UEUAB | FDD B1/B3/B5/B7/B8/B20/B28
TDD B38/B40/B41
GSM B2/B3/B5/B8 | 624MHz | 3M | 0.5M | 14 | 3 | 1 | 1 | 1 | 4 | | | | | | * | * | Y | 3.4 to 4.3 | -40 to +105 | -| EC600NCNLA | FDD B1/B3/B5/B8
TDD B34/B38/B39/B40/B41 | 624MHz | 3M | 0.5M | 14 | 3 | 1 | 1 | 1 | 4 | N | N | N | N | N | * | N | Y | 3.4 to 4.3 | -40 to +105 | -| EC600NCNLC | FDD B1/B3/B5/B8
TDD B34/B38/B39/B40/B41 | 624MHz | 3M | 3M | 14 | 3 | 1 | 1 | 1 | 4 | * | * | * | * | * | * | N | Y | 3.4 to 4.3 | -40 to +105 | +| **Part number** | 频段 | CPU | Flash size (Kbytes) | **RAM size** (Kbytes) | GPIO | UART | SPI | IIC | ADC | Timer | Volte | LCD | Camera | POC | SD | WIFI | BT | FOTA | Supply voltage (V) | Maximum operating temperature range (°C) | +| :-------------- | ------------------------------------------------------------ | ------ | ------------------------- | --------------------- | ---- | ---- | ---- | ---- | ---- | ----- | ----- | ---- | ------ | ---- | ---- | ---- | ---- | ---- | ------------------ | ---------------------------------------- | +| EC200UCNLB | LTE-FDD: B1/B3/B5/B8
LTE-TDD: B34/B38/B39/B40/B41
| 624MHz | total:8M free:≈0.3M | free:≈450K | 16 | 3 | 1 | 1 | 3 | 4 | * | * | * | * | * | * | Y | Y | 3.4 to 4.3 | -40 to +105 | +| EC200UEUAB | LTE-FDD: B1/B3/B5/B8
LTE-TDD: B34/B38/B39/B40/B41
GSM: 900/1800 MHz | 624MHz | total:8M free:≈0.3M | free:≈450K | 16 | 3 | 1 | 1 | 3 | 4 | * | * | * | * | * | * | Y | Y | 3.4 to 4.3 | -40 to +105 | +| EC600UCNLB | FDD B1/B3/B5/B8
TDD B34/B38/B39/B40/B41 | 624MHz | total:8M free:≈0.3M | free:≈450K | 16 | 3 | 1 | 1 | 4 | 4 | * | N | N | N | N | * | Y | Y | 3.4 to 4.3 | -40 to +105 | +| EC600UEUAB | FDD B1/B3/B5/B7/B8/B20/B28
TDD B38/B40/B41
GSM B2/B3/B5/B8 | 624MHz | total:8M free:≈0.3M | free:≈450K | 16 | 3 | 1 | 1 | 4 | 4 | | | | | | * | Y | Y | 3.4 to 4.3 | -40 to +105 | +| EC600NCNLC | FDD B1/B3/B5/B8
TDD B34/B38/B39/B40/B41 | 624MHz | total:16M free:≈1M | free:≈450K | 29 | 3 | 1 | 1 | 2 | 4 | * | * | * | * | * | * | N | Y | 3.4 to 4.3 | -40 to +105 | +| EC600NCNLA | FDD B1/B3/B5/B8
TDD B34/B38/B39/B40/B41 | 624MHz | total:8M free:≈0.3M | free:≈450K | 29 | 3 | 1 | 1 | 2 | 4 | N | N | N | N | N | * | N | Y | 3.4 to 4.3 | -40 to +105 | +| EC600SCNLA | FDD B1/B3/B5/B8
TDD B34/B38/B39/B40/B41 | 624MHz | total:16M free:≈1M | free:≈450K | 29 | 3 | 1 | 1 | 2 | 4 | * | * | * | * | * | * | N | Y | 3.4 to 4.3 | -40 to +105 | +| EC600SCNLB | FDD B1/B3/B5/B8
TDD B34/B38/B39/B40/B41 | 624MHz | total:8M free:≈0.3M | free:≈350K | 29 | 3 | 1 | 1 | 2 | 4 | N | N | N | N | N | * | N | Y | 3.4 to 4.3 | -40 to +105 | 标*号表示:正在开发中 -- Gitee