Message ID | 20230428074117.33246-1-heinrich.schuchardt@canonical.com |
---|---|
State | Superseded, archived |
Delegated to: | Heinrich Schuchardt |
Headers | show |
Series | [1/1] doc: man-page for cp | expand |
Hi Heinrich, On Fri, 28 Apr 2023 at 01:41, Heinrich Schuchardt <heinrich.schuchardt@canonical.com> wrote: > > Add a man-page for the cp command. > > Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> > --- > doc/usage/cmd/cp.rst | 83 ++++++++++++++++++++++++++++++++++++++++++++ > doc/usage/index.rst | 1 + > 2 files changed, 84 insertions(+) > create mode 100644 doc/usage/cmd/cp.rst > > diff --git a/doc/usage/cmd/cp.rst b/doc/usage/cmd/cp.rst > new file mode 100644 > index 0000000000..897c0bb7df > --- /dev/null > +++ b/doc/usage/cmd/cp.rst > @@ -0,0 +1,83 @@ > +.. SPDX-License-Identifier: GPL-2.0+: > + > +cp command > +========== > + > +Synopsis > +-------- > + > +:: > + > + mm source target count > + mm.b source target count > + mm.w source target count > + mm.l source target count > + mm.q source target count Is this the cp or the mm command? I think it is better to do: mm.<size> or something like that, to avoid repetition > + > +Description > +----------- > + > +The cp command is used to copy *count* words of memory from the *source* To me it is confusing to use the term 'words' here. A word typically means a machine word in a computer, e.g. 32- or 64-bits. How about just referring to 'transfer size' or 'access size'? > +address to the *target* address. If the *target* address points to NOR flash, > +the flash is programmed. > + > +The word size is defined by the suffix defaulting to 32 bits: > + > +====== ============ > +suffix word size > +====== ============ > +.b 8 bit words > +.w 16 bit words > +.l 32 bit words > +.q 64 bit words > +<none> 32 bit words > +====== ============ > + > +source > + source address, hexadecimal > + > +target > + target address, hexadecimal > + > +count > + number of words to be copied, hexadecimal > + > +Examples > +-------- > + > +The example device has a NOR flash where the lower part of the flash is > +protected. We first copy to RAM, then to unprotected flash. Last we try to > +write to protectd flash. > + > +:: > + > + => mtd list > + List of MTD devices: > + * nor0 > + - device: flash@0 > + - parent: root_driver > + - driver: cfi_flash > + - path: /flash@0 > + - type: NOR flash > + - block size: 0x20000 bytes > + - min I/O: 0x1 bytes > + - 0x000000000000-0x000002000000 : "nor0" > + => cp.b 4020000 5000000 200000 > + => cp.b 4020000 1e00000 20000 > + Copy to Flash... done > + => cp.b 4020000 0 20000 > + Copy to Flash... Can't write to protected Flash sectors > + => > + > +Configuration > +------------- > + > +The cp command is available if CONFIG_CMD_MEMORY=y. Support for 64 bit words > +(cp.q) depends on CONFIG_MEM_SUPPORT_64BIT_DATA=y. Copying to flash depends on > +CONFIG_MTD_NOR_FLASH=y. > + > +Return value > +------------ > + > +The return value $? is set to 0 (true) if the command was successfully, > +1 (false) otherwise. > diff --git a/doc/usage/index.rst b/doc/usage/index.rst > index cdf710919a..0fde130a54 100644 > --- a/doc/usage/index.rst > +++ b/doc/usage/index.rst > @@ -41,6 +41,7 @@ Shell commands > cmd/cmp > cmd/coninfo > cmd/conitrace > + cmd/cp > cmd/cyclic > cmd/dm > cmd/ebtupdate > -- > 2.39.2 > Regards, Simon
On 4/28/23 21:21, Simon Glass wrote: > Hi Heinrich, > > On Fri, 28 Apr 2023 at 01:41, Heinrich Schuchardt > <heinrich.schuchardt@canonical.com> wrote: >> >> Add a man-page for the cp command. >> >> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> >> --- >> doc/usage/cmd/cp.rst | 83 ++++++++++++++++++++++++++++++++++++++++++++ >> doc/usage/index.rst | 1 + >> 2 files changed, 84 insertions(+) >> create mode 100644 doc/usage/cmd/cp.rst >> >> diff --git a/doc/usage/cmd/cp.rst b/doc/usage/cmd/cp.rst >> new file mode 100644 >> index 0000000000..897c0bb7df >> --- /dev/null >> +++ b/doc/usage/cmd/cp.rst >> @@ -0,0 +1,83 @@ >> +.. SPDX-License-Identifier: GPL-2.0+: >> + >> +cp command >> +========== >> + >> +Synopsis >> +-------- >> + >> +:: >> + >> + mm source target count >> + mm.b source target count >> + mm.w source target count >> + mm.l source target count >> + mm.q source target count > > Is this the cp or the mm command? Thanks for reviewing. It must be cp. > > I think it is better to do: > > mm.<size> > > or something like that, to avoid repetition We cannot completely avoid repetition as 'cp' without postfix exists. With size I would associate a number. Having to look into multiple places to find out that there is a cp.q form is not helpful. I think the current format is the easiest way to see at a glance how to use the command. > >> + >> +Description >> +----------- >> + >> +The cp command is used to copy *count* words of memory from the *source* > > To me it is confusing to use the term 'words' here. A word typically > means a machine word in a computer, e.g. 32- or 64-bits. > > How about just referring to 'transfer size' or 'access size'? When hearing 'transfer size' I would think of the total number of bytes being transferred. How about 'chunk'? Best regards Heinrich > >> +address to the *target* address. If the *target* address points to NOR flash, >> +the flash is programmed. >> + >> +The word size is defined by the suffix defaulting to 32 bits: >> + >> +====== ============ >> +suffix word size >> +====== ============ >> +.b 8 bit words >> +.w 16 bit words >> +.l 32 bit words >> +.q 64 bit words >> +<none> 32 bit words >> +====== ============ >> + >> +source >> + source address, hexadecimal >> + >> +target >> + target address, hexadecimal >> + >> +count >> + number of words to be copied, hexadecimal >> + >> +Examples >> +-------- >> + >> +The example device has a NOR flash where the lower part of the flash is >> +protected. We first copy to RAM, then to unprotected flash. Last we try to >> +write to protectd flash. >> + >> +:: >> + >> + => mtd list >> + List of MTD devices: >> + * nor0 >> + - device: flash@0 >> + - parent: root_driver >> + - driver: cfi_flash >> + - path: /flash@0 >> + - type: NOR flash >> + - block size: 0x20000 bytes >> + - min I/O: 0x1 bytes >> + - 0x000000000000-0x000002000000 : "nor0" >> + => cp.b 4020000 5000000 200000 >> + => cp.b 4020000 1e00000 20000 >> + Copy to Flash... done >> + => cp.b 4020000 0 20000 >> + Copy to Flash... Can't write to protected Flash sectors >> + => >> + >> +Configuration >> +------------- >> + >> +The cp command is available if CONFIG_CMD_MEMORY=y. Support for 64 bit words >> +(cp.q) depends on CONFIG_MEM_SUPPORT_64BIT_DATA=y. Copying to flash depends on >> +CONFIG_MTD_NOR_FLASH=y. >> + >> +Return value >> +------------ >> + >> +The return value $? is set to 0 (true) if the command was successfully, >> +1 (false) otherwise. >> diff --git a/doc/usage/index.rst b/doc/usage/index.rst >> index cdf710919a..0fde130a54 100644 >> --- a/doc/usage/index.rst >> +++ b/doc/usage/index.rst >> @@ -41,6 +41,7 @@ Shell commands >> cmd/cmp >> cmd/coninfo >> cmd/conitrace >> + cmd/cp >> cmd/cyclic >> cmd/dm >> cmd/ebtupdate >> -- >> 2.39.2 >> > > Regards, > Simon
Hi Heinrich, On Fri, 28 Apr 2023 at 13:43, Heinrich Schuchardt <heinrich.schuchardt@canonical.com> wrote: > > > > On 4/28/23 21:21, Simon Glass wrote: > > Hi Heinrich, > > > > On Fri, 28 Apr 2023 at 01:41, Heinrich Schuchardt > > <heinrich.schuchardt@canonical.com> wrote: > >> > >> Add a man-page for the cp command. > >> > >> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> > >> --- > >> doc/usage/cmd/cp.rst | 83 ++++++++++++++++++++++++++++++++++++++++++++ > >> doc/usage/index.rst | 1 + > >> 2 files changed, 84 insertions(+) > >> create mode 100644 doc/usage/cmd/cp.rst > >> > >> diff --git a/doc/usage/cmd/cp.rst b/doc/usage/cmd/cp.rst > >> new file mode 100644 > >> index 0000000000..897c0bb7df > >> --- /dev/null > >> +++ b/doc/usage/cmd/cp.rst > >> @@ -0,0 +1,83 @@ > >> +.. SPDX-License-Identifier: GPL-2.0+: > >> + > >> +cp command > >> +========== > >> + > >> +Synopsis > >> +-------- > >> + > >> +:: > >> + > >> + mm source target count > >> + mm.b source target count > >> + mm.w source target count > >> + mm.l source target count > >> + mm.q source target count > > > > Is this the cp or the mm command? > > Thanks for reviewing. It must be cp. > > > > > I think it is better to do: > > > > mm.<size> > > > > or something like that, to avoid repetition > > We cannot completely avoid repetition as 'cp' without postfix exists. > With size I would associate a number. > Having to look into multiple places to find out that there is a cp.q > form is not helpful. You could do: cp[.b | w | l | q] I suppose But I agree it is a bit painful cp[.<size>] might be better > > I think the current format is the easiest way to see at a glance how to > use the command. > > > > >> + > >> +Description > >> +----------- > >> + > >> +The cp command is used to copy *count* words of memory from the *source* > > > > To me it is confusing to use the term 'words' here. A word typically > > means a machine word in a computer, e.g. 32- or 64-bits. > > > > How about just referring to 'transfer size' or 'access size'? > > When hearing 'transfer size' I would think of the total number of bytes > being transferred. How about 'chunk'? It is better than word or transfer size, yes. But chunk seems like a group of things and isn't quite right, I think. Do you not like 'access size'? If not, then chunk is OK I suppose. Regards, Simon
diff --git a/doc/usage/cmd/cp.rst b/doc/usage/cmd/cp.rst new file mode 100644 index 0000000000..897c0bb7df --- /dev/null +++ b/doc/usage/cmd/cp.rst @@ -0,0 +1,83 @@ +.. SPDX-License-Identifier: GPL-2.0+: + +cp command +========== + +Synopsis +-------- + +:: + + mm source target count + mm.b source target count + mm.w source target count + mm.l source target count + mm.q source target count + +Description +----------- + +The cp command is used to copy *count* words of memory from the *source* +address to the *target* address. If the *target* address points to NOR flash, +the flash is programmed. + +The word size is defined by the suffix defaulting to 32 bits: + +====== ============ +suffix word size +====== ============ +.b 8 bit words +.w 16 bit words +.l 32 bit words +.q 64 bit words +<none> 32 bit words +====== ============ + +source + source address, hexadecimal + +target + target address, hexadecimal + +count + number of words to be copied, hexadecimal + +Examples +-------- + +The example device has a NOR flash where the lower part of the flash is +protected. We first copy to RAM, then to unprotected flash. Last we try to +write to protectd flash. + +:: + + => mtd list + List of MTD devices: + * nor0 + - device: flash@0 + - parent: root_driver + - driver: cfi_flash + - path: /flash@0 + - type: NOR flash + - block size: 0x20000 bytes + - min I/O: 0x1 bytes + - 0x000000000000-0x000002000000 : "nor0" + => cp.b 4020000 5000000 200000 + => cp.b 4020000 1e00000 20000 + Copy to Flash... done + => cp.b 4020000 0 20000 + Copy to Flash... Can't write to protected Flash sectors + => + +Configuration +------------- + +The cp command is available if CONFIG_CMD_MEMORY=y. Support for 64 bit words +(cp.q) depends on CONFIG_MEM_SUPPORT_64BIT_DATA=y. Copying to flash depends on +CONFIG_MTD_NOR_FLASH=y. + +Return value +------------ + +The return value $? is set to 0 (true) if the command was successfully, +1 (false) otherwise. diff --git a/doc/usage/index.rst b/doc/usage/index.rst index cdf710919a..0fde130a54 100644 --- a/doc/usage/index.rst +++ b/doc/usage/index.rst @@ -41,6 +41,7 @@ Shell commands cmd/cmp cmd/coninfo cmd/conitrace + cmd/cp cmd/cyclic cmd/dm cmd/ebtupdate
Add a man-page for the cp command. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> --- doc/usage/cmd/cp.rst | 83 ++++++++++++++++++++++++++++++++++++++++++++ doc/usage/index.rst | 1 + 2 files changed, 84 insertions(+) create mode 100644 doc/usage/cmd/cp.rst