【问题标题】:Erase all contents of cc2650 from contiki using command使用命令从 contiki 中擦除 cc2650 的所有内容
【发布时间】:2019-10-10 08:24:21
【问题描述】:

我可以使用以下命令将编译后的代码上传到 TI cc2650:

make TARGET=srf06-cc26xx BOARD=launchpad/cc2650 savetarget
sudo make PORT=/dev/ttyACM0 BOARD=launchpad/cc2650 hello-world.upload

并能够使用以下命令在终端上查看其输出:

sudo make login PORT=/dev/ttyACM0

但是当我在进行一些编辑后尝试重新上传编译后的代码时,会显示以下错误:

using saved target 'srf06-cc26xx'
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/startup_files/ccfg.c
  CC        ../../../cpu/cc26xx-cc13xx/./ieee-addr.c
  AR        contiki-srf06-cc26xx.a
  CC        ../../../cpu/cc26xx-cc13xx/./fault-handlers.c
  CC        ../../../cpu/cc26xx-cc13xx/lib/cc26xxware/startup_files/startup_gcc.c
  CC        client.c
  LD        client.elf
arm-none-eabi-objcopy -O binary --gap-fill 0xff client.elf client.bin
python ../../../tools/cc2538-bsl/cc2538-bsl.py -e -w -v -p /dev/ttyACM0 client.bin
Opening port /dev/ttyACM0, baud 500000
Reading data from client.bin
Cannot auto-detect firmware filetype: Assuming .bin
Connecting to target...
ERROR: Timeout waiting for ACK/NACK after 'Synch (0x55 0x55)'
make: *** [client.upload] Error 1
rm client.co obj_srf06-cc26xx/fault-handlers.o obj_srf06-cc26xx/startup_gcc.o

如果我使用SmartRF Flash Programmer 软件擦除 TIcc2650 的内容,然后尝试使用上述命令从 contiki 上传代码,这会很好。

有人可以指导我如何直接从某些命令中删除内容,而不是使用SmartRF Flash Programmer 软件吗?

【问题讨论】:

    标签: c contiki texas-instruments


    【解决方案1】:

    您可以将SmartRF_INSTALL_DIR/bin/srfprog 用作命令行可执行文件。你可以查看它的帮助菜单

    Texas Instruments SmartRF Flash Programmer 2 v1.8.0-windows
    -------------------------------------------------------------------------------
    
    The following Command Line Options are supported by the Flash Programmer
    >srfprog [Target] [Actions] [File] [Address]
    
    The order of the parameters is irrelevant.
    
    Description of a specific option can be obtained with:
    >srfprog -h [target | actions | file | address | example | help]
    Only the two first letters are required: E.g.: srfprog -h ta
    
    Help notation:
    []  Square brackets are used for optional parameters.
    %%  Percentage mark used for symbols to be replaced.
    {}  Curly brackets used where one of the options are required.
    |   Vertical bars for choice of items.
    
    -------------------------------------------------------------------------------
    Target: {-t | --target} [soc | lsidx]
    
       soc(%device id%[, %chip id%])  SoC Device
           %device id%: Device ID of connected EB. This parameter is case sensitive.
           %chip id%:   Chip ID. If not given for XDS emulator devices,
                        probing to determine the connected SoC will be
                        performed and this will take longer time.
                        Chip ID is mandatory in combination with COM devices.
    
       lsidx(%index%)  List index
          %index%:     Index of connected device returned from a list command.
    -------------------------------------------------------------------------------
    Actions: [-ls | --list] | [-e | --erase] | [-p | --program] |
             [-v | --verify] | [-r | --read] | [-w | --write] |
             [-k | --keep] | [-c | --change] | [-rs | --reset] |
             [-j4 | --jtag4]
    
      {-ls | --list} [min | all | auto]
        min:  List connected Cebal devices(Default).
        all:  List all connected devices.
        auto: List all connected devices and automatically try to find the chip id
              for ARM based devices.
    
      {-e | --erase} [all | p | pif | epfw | ep | forced]
        all:         Erase all unprotected pages(Default).
        p(%pages%):  Erase given pages.
        pif:         Erase pages in source file.
        forced:      Forced Mass erase. Cannot be combined with
                     other actions.
    
      {-p | --program} [all | epfw | ep]
        all:           Program all pages in source file(Default).
        epfw(%value%): Exclude pages from source file filled with given value.
        ep(%pages%):   Exclude given pages from source file.
    
      {-v | --verify} [crc | rb] [pif | all | epfw | ep]
        crc:           Verify pages using CRC checksum(Default).
        rb:            Verify pages using readback and bytewise comparison.
    
        all:           Verify all pages in source file (Default).
        epfw(%value%): Exclude pages from source file filled with given value.
        ep(%pages%):   Exclude given pages.
    
      {-r | --read} [all | p | addr | macpri | macpri154 | macprible |
                     macsec | macsec154 | macsecble]
        all:           Read all pages(Default). Output to file.
        p(%pages%):    Read given pages. Output to file.
        addr(0x%address%,%length%):
                       Read from given address with given length.
        macpri:        Read Primary IEEE 802.15.4 MAC Address.
        macpri154:     Read Primary IEEE 802.15.4 MAC Address.
        macprible:     Read Primary BLE MAC Address.
        macsec:        Read Secondary IEEE 802.15.4 MAC Address.
        macsec154:     Read Secondary IEEE 802.15.4 MAC Address.
        macsecble:     Read Secondary BLE MAC Address.
    
      {-w | --write} {macpri | macsec | macsec154 | macsecble | ccfg | addr | p}
        macpri=01.02.03.04.05.06.07.08:
                       Program Primary IEEE 802.15.4 MAC address.
                       Write of primary address only supported for CC2538 and
                       only if information page is not locked.
        macsec=01.02.03.04.05.06.07.08 or
        macsec154=01.02.03.04.05.06.07.08:
                      Program Secondary IEEE 802.15.4 MAC Address.
        macsecble=01.02.03.04.05.06:
                      Program Secondary BLE MAC Address.
        ccfg({wpp(%pages%) | ldbg | disbl})
              Combinations of the following options are possible and must be separated
              by a ','
              wpp=%pages%: Program CCFG area with page lock
                            bits for the given pages.
              ldbg:         Program CCFG area with bit for
                            locking debug interface
              disbl:        Program CCFG area with bit for
                            disabling the bootloader interface
        addr(0x%address%,%length%)=0x%value%
              Fill the an address range in flash with the given value.
              The value must be given as a one byte hexadecimal number
        p(%pages%)=0x%value%
              Fill the a page range in flash with the given value.
              The value must be given as a one byte hexadecimal number
    
      {-k | --keep} {mac | macble | mac154&macble | ccfg}
        mac:           Keep(or Retain) IEEE Mac address from Target device.
        macble:        Keep(or Retain) Ble Mac address from Target device.
        mac154&macble: Keep(or Retain) IEE and Ble Mac address from Target device.
        ccfg:          Keep(or Retain) Complete CCFG area from Target device.
    
      {-c | --change} {mac | mac154 | macble | efk | ldbg | wpp | disbl}
        Combinations of options are possible and must be separated
        by a ','
        mac=01.02.03.04.05.06.07.08 or
        mac154=01.02.03.04.05.06.07.08:
                       Change(patch) flash image with IEEE 802.15.4 MAC address.
        macble=01.02.03.04.05.06:
                       Change(patch) flash image with BLE MAC address.
        mac154=01.02.03.04.05.06.07.08 macble=01.02.03.04.05.06:
                       Change(patch) flash image with both addresses.
        ekf(%file%, %address%):
                       Change(patch) flash image with Encryption Key data.
                       A file with the encryption key certificate and the flash
                       address must be given.
        wpp(%pages%):
                       Change(patch) CCFG area in flash image with page lock
                       bits for the given pages.
        ldbg:
                       Change(patch) CCFG area in flash image with bit for
                       locking debug interface
        disbl:
                       Change(patch) CCFG area in flash image with bit for
                       disabling the bootloader interface
    
      {-rs | --reset}  [normal | none | pin | pinHib]
        Pin reset is default.
        Please refer to the help documentation for a detailed
        description of the different reset options.
        The reset action must be combined with the erase or program action.
    
      {-j4 | --jtag4}
        Use 4-pin jtag. 2-pin cJTAG is default.
    
      {-up | --updateEmulator}
        Update firmware on emulator. Option is applicable for XDS110, and cannot be
        combined with other actions. Do not unplug the debug probe during the update.
    -------------------------------------------------------------------------------
    File: {-f | --file} %file%
    
       %file%:  Full or relative path. E.g. C:\myfolder\test.bin.
                Path name with spaces must be enclosed between quote characters.
                E.g. "C:\myfolder\my test.bin"
                or   "C:\Program files\myfolder\test.bin"
    -------------------------------------------------------------------------------
    Address: {-a | --address} [0x]%address%
    
      %address%: Flash address to start programming.
    -------------------------------------------------------------------------------
    Examples:
    
    >srfprog -ls
    >srfprog -ls all
    >srfprog -ls auto
    >srfprog -t lsidx(0) -e all
    >srfprog -t lsidx(0) -r macsec
    >srfprog -t lsidx(0) -r all -f C:\myfolder\readback.bin
    >srfprog -t lsidx(0) -r p(0-4) -f C:\myfolder\readback.bin
    >srfprog -t lsidx(0) -r addr(0x200000,8)
    >srfprog -t lsidx(0) -w macsec=01.02.03.04.05.06.07.08
    >srfprog -t lsidx(0) -e pif -p epfw(0) -f C:\myfolder\test.bin -a 0x200000
    >srfprog -t lsidx(0) -e pif -p epfw(0) -v rb -f C:\myfolder\test.bin -a 0x200000
    >srfprog -t lsidx(0) -e all -p -v rb epfw(0x55) -f C:\myfolder\test.bin -a 0x200000
    >srfprog -t lsidx(0) -e all -p -v rb ep(0-1) -f C:\myfolder\test.bin -a 0x200000
    >srfprog -t lsidx(0) -e pif -p epfw(0) -v crc -f C:\myfolder\test.bin -a 0x200000 -k mac
    >srfprog -t lsidx(0) -e pif -p epfw(0) -v crc -f C:\myfolder\test.bin -a 0x200000 -c mac=01.02.03.04.05.06.07.08        >srfprog -t lsidx(0) -e pif -p epfw(0) -v crc -f C:\myfolder\test.hex -c ekf(C:\myfolder\certificate.txt, 0x27FF6C)     >srfprog -t soc(XDS-06EB12100300A,CC2538) -e -p -v -f c:\test.hex
    >srfprog -t soc(COM1, CC2640) -e -p -v -f c:\test.hex
    

    【讨论】:

    • 我想直接从“contiki”命令中删除内容
    猜你喜欢
    • 1970-01-01
    • 2020-01-18
    • 2012-12-07
    • 1970-01-01
    • 2011-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多