@@ -84,34 +84,48 @@ nanoff [command] [args]
8484nanoff --help
8585```
8686
87- ## ESP32 用法示例
87+ 各平台的使用示例和常用选项列表:
8888
89- 有多个ESP32固件可用,一些是专门为一个设备构建的。 请参阅 [ 列表] ( https://github.com/nanoframework/nf-interpreter#firmware-for-reference-boards ) .
89+ - [ ESP32] ( #esp32-使用示例 )
90+ - [ STM32] ( #stm32-使用示例 )
91+ - [ TI CC13x2] ( #ti-cc13x2-使用示例 )
92+ - [ Silabs Giant Gecko] ( #silabs-giant-gecko-使用示例 )
93+ - [ 普通连接使用示例] ( #普通连接使用示例 )
94+ - [ 常用选项] ( #常用选项 )
9095
91- ESP32_PSRAM_REV0固件将只适用于ESP32系列的任何变体,带或不带pram,以及所有silicon版。
92- 你可以阅读更多关于不同固件之间的差异 [ 链接] ( https://docs.nanoframework.NET/content/reference-targets/esp32.html ) .
96+ 请注意,如果平台支持这些操作,可以组合多个选项,例如在同一次执行中更新 CLR 并部署托管应用程序。
9397
94- FEATHER_S2固件将适用于几乎所有的ESP32-S2系列的变体,暴露嵌入式USB CDC引脚。
98+ ## ESP32 使用示例
9599
96- 你可以阅读更多关于不同固件之间的差异 [ 链接 ] ( https://docs. nanoframework.NET/content/ reference-targets/esp32.html ) .
100+ 有多种可用的 ESP32 映像,有些是专门为特定目标构建的。请查看 [ 列表 ] ( https://github.com/ nanoframework/nf-interpreter#firmware-for- reference-boards ) 。您还需要知道设备使用的 COM 端口。请查看 [ 如何在 Windows 上找到设备的 COM 端口 ] ( #finding-the-device-com-port-on-windows ) 。或者,您也可以列出可用的 COM 端口。如果先在没有设备的情况下列出端口,然后插入设备,显示的新增端口就是要刷写的设备的端口。此方法适用于所有操作系统:
97101
98- 当使用'nanoff'时,你可以添加'——target MY_TARGET_NAME_HERE'来使用特定的固件。 如果,相反,您只指定平台与'——platform esp32' 'nanoff'将自动选择最合适的固件,这取决于所连接的设备的功能。 类似于这个的输出将会显示出什么固件将要被使用:
102+ ``` console
103+ nanoff --listports
104+ ```
99105
100- ``` shell
101- No target name was provided! Using ' ESP32_REV0' based on the device characteristics.
106+ ESP32_PSRAM_REV0 映像适用于任何变体的 ESP32 系列,无论是否带有 PSRAM,并且适用于所有硅片版本。
107+ 您可以在[ 这里] ( https://docs.nanoframework.net/content/reference-targets/esp32.html ) 阅读有关各种映像之间差异的更多信息。
108+
109+ FEATHER_S2 映像适用于几乎所有暴露嵌入式 USB CDC 引脚的 ESP32-S2 系列变体。
110+ 您可以在[ 这里] ( https://docs.nanoframework.net/content/reference-targets/esp32.html ) 阅读有关各种映像之间差异的更多信息。
111+
112+ 使用 ` nanoff ` 时,您可以添加 ` --target MY_TARGET_NAME_HERE ` 以使用特定映像。或者,您只需指定平台 ` --platform esp32 ` ,` nanoff ` 将根据连接设备的功能选择最合适的映像。输出将类似于以下内容,以告知即将使用的映像:
113+
114+ ``` console
115+ 未提供目标名称!根据设备特性使用 'ESP32_REV0'。
102116```
103117
104- > 注意: 请注意,对于ESP32 -S2,不可能安全地确定使用什么是最好的固件。 由于这个原因,它必须提供适当的设备名称与'—— target MY_TARGET_NAME_HERE'。
118+ > 注意: 请注意,对于 ESP32 -S2 目标,无法安全地确定最佳映像。因此,必须提供适当的目标名称 ` -- target MY_TARGET_NAME_HERE` 。
105119
106- 部分ESP32单板进入引导加载模式存在问题。 这通常可以通过按住BOOT/FLASH按钮来解决。
107- 如果' nanoff ' 检测到这种情况,会显示以下警告:
120+ 一些 ESP32 开发板在进入引导加载程序模式时有问题。通常可以通过按住开发板上的 BOOT/FLASH 按钮来解决此问题。
121+ 如果 ` nanoff ` 检测到这种情况,将显示以下警告:
108122
109- ``` shell
110- *** Hold down the BOOT/FLASH button in ESP32 board ***
123+ ``` console
124+ *** 按住 ESP32 开发板上的 BOOT/FLASH 按钮 ***
111125```
112126
113- > [ !WARNING ]
114- > 要更新FeatherS2、TinyS2和一些S3模块,您需要将开发板置于下载模式。具体操作方法是按住 [ BOOT] 按钮,单击 [ RESET] 按钮,然后松开 [ BOOT] 按钮 。
127+ > ** 警告: **
128+ > 要更新 FeatherS2、TinyS2 和一些 S3 模块,开发板需要通过按住 [ BOOT] 、点击 [ RESET] 然后释放 [ BOOT] 进入下载模式 。
115129
116130### 更新ESP32版本的设备器固件
117131
@@ -249,6 +263,94 @@ nanoff --update --target TI_CC1352R1_LAUNCHXL --preview
249263nanoff --installxdsdrivers
250264```
251265
266+ ## Silabs Giant Gecko 使用示例
267+
268+ ### 更新特定 Silabs 目标的固件
269+
270+ 将 SL_STK3701A 目标的固件更新到最新版本。
271+
272+ ``` console
273+ nanoff --update --target SL_STK3701A
274+ ```
275+
276+ ### 从本地文件更新 Silabs 目标的固件
277+
278+ 使用本地固件文件(例如从构建中生成的文件)更新 Silabs 目标的固件。
279+ 该文件必须是包含有效 Booter 和 CLR 的二进制文件。不会对文件内容进行任何检查或验证。
280+
281+ ``` console
282+ nanoff --update --platform efm32 --binfile "C:\nf-interpreter\build\nanobooter-nanoclr.bin" --address 0x0
283+ ```
284+
285+ ### 向 SL_STK3701A 目标部署托管应用程序
286+
287+ 向 SL_STK3701A 目标部署托管应用程序,该目标的部署区域位于 0x000EE000 闪存地址,并在刷写后重置 MCU。
288+
289+ > 注意:部署映像的二进制文件可以在 Visual Studio 项目成功构建后的 Release 或 Debug 文件夹中找到。该文件包含部署托管应用程序到目标所需的一切(即应用程序可执行文件和所有引用的库和程序集)。
290+
291+ ``` console
292+ nanoff --target SL_STK3701A --deploy --image "E:\GitHub\nf-Samples\samples\Blinky\Blinky\bin\Debug\Blinky.bin" --address 0x000EE000
293+ ```
294+
295+ ### 更新 SL_STK3701A 的固件并部署托管应用程序
296+
297+ 使用 J-Link 连接将 SL_STK3701A 目标的固件更新到最新可用版本,并部署托管应用程序。
298+ 您必须指定托管应用程序的路径。
299+ 此示例使用 Visual Studio 构建任何 nanoFramework C# 应用程序时生成的二进制格式文件。由于它是二进制文件,您还必须指定部署区域的闪存地址(此处为 0x000EE000,请注意十六进制格式)。
300+
301+ ``` console
302+ nanoff --update --target SL_STK3701A --binfile "c:\dev\my awesome app\bin\debug\my_awesome_app.bin" --address 0x000EE000
303+ ```
304+
305+ ### 列出所有通过 J-Link 连接的 Silabs 设备
306+
307+ 这对于列出所有通过 J-Link 连接的 Silabs 设备非常有用。
308+
309+ ``` console
310+ nanoff --listjlink
311+ ```
312+
313+ ## 普通连接使用示例
314+
315+ 可以使用与 Visual Studio 连接相同的连接来更新 nano 设备,这意味着不需要专门的连接(如 JTAG 或 JLink)。这仅在设备之前已刷写了工作 nanoFramework 固件的情况下才可能。
316+
317+ ### 更新 nano 设备的 CLR
318+
319+ 将连接到串行端口的 nano 设备的 CLR 更新到最新可用版本。
320+ 这将找到连接设备的最新可用固件并更新 CLR。
321+
322+ ``` console
323+ nanoff --nanodevice --update --serialport COM9
324+ ```
325+
326+ ### 部署托管应用程序
327+
328+ 要部署(或更新)托管应用程序,必须提供托管应用程序的路径。
329+ 此示例使用 Visual Studio 构建任何 nanoFramework C# 应用程序时生成的二进制格式文件。由于可以从连接的设备中检索所有必需的详细信息,因此不需要其他配置。
330+
331+ ``` console
332+ nanoff --nanodevice --deploy --serialport COM9 --image "c:\dev\my awesome app\bin\debug\my_awesome_app.bin"
333+ ```
334+
335+ ### 从本地文件更新 nano 设备的 CLR
336+
337+ 使用本地固件文件(例如从构建中生成的文件)更新 nano 设备的固件。
338+ 该文件必须是包含有效 nanoCLR 的二进制文件。不会对文件内容进行任何检查或验证。
339+
340+ ``` console
341+ nanoff --nanodevice --update --serialport COM9 --clrfile "C:\nf-interpreter\build\nanoclr.bin"
342+ ```
343+
344+ ### 获取 nano 设备的详细信息
345+
346+ 获取连接到串行端口的 nano 设备的详细信息。
347+
348+ ``` console
349+ nanoff --nanodevice --devicedetails --serialport COM9
350+ ```
351+
352+ ## 常用选项
353+
252354### 预先检查设备是否与连接的设备相匹配
253355
254356该工具会尽最大努力检查所请求的设备是否符合已连接的设备。
0 commit comments