Flash and Authorize CB Modules

Last Updated on : 2023-11-21 03:44:27download

After embedded firmware development, you need to flash the firmware to the module and authorize the module to connect to the cloud.

This topic describes three options to flash the firmware and authorize the module.

  • Custom development: applies to the product release step in the custom development solution.

  • Sandwich development board: flashes firmware to and authorizes the Sandwich development board.

  • Flashing tool from the chip vendor: applies to the development step. You can flash firmware to the module unlimited times with authorizing the module once.

    In this topic, a credential, a license, and a token mean the same thing.

Applicability

This topic applies to CBX series modules with the BK7231N built in.

Preparation

Before you flash the firmware and authorize the module, you need to have the following items ready:

  • An account of the Smart PMS
  • Production Toolkit software installed on your computer
  • Beken Writer from the chip vendor installed on your computer
  • A USB to UART converter

Register with the PMS

Open Smart PMS and sign up. Select Personal developer in Type and enter the registration information. Then, you will receive an email after registration.

Flash and Authorize CB Modules

Download and install Production Toolkit

Download Production Toolkit

  1. Log in to the Smart PMS.

  2. Choose Knowledge Base Management > Software Download. Find Production Toolkit and download it.

    Flash and Authorize CB Modules

Install Production Toolkit

  1. Open the installer. When you are prompted with the following window, click More info.

    Flash and Authorize CB Modules
  2. Click Run anyway.

  3. Follow the onscreen instructions to begin installing. You can specify an installation directory as needed.

  4. After installation, open the software and log in with your Smart PMS account and password.

  5. Click TYMZ.

    Flash and Authorize CB Modules
  6. Check the installation result.

    Flash and Authorize CB Modules
    • If you have a yellow screen, it means the installation is successful. You can then download the Beken Writer.

    • If you have a white blank screen, you need to set the software to make it run correctly.

      1. Choose File > Set Up.

        Flash and Authorize CB Modules
      2. In Basic Setting, change 1*1 for Multi Selection to 1*2 and click OK. You will have two yellow screen sections.

        Flash and Authorize CB Modules
      3. Then, change 1*2 back to 1*1. This software will work fine.

Download Beken Writer

Click bk_writer_gui_V1.6.3 to download the Beken Writer flashing tool.

Flash firmware

The flashing process varies, depending on different development boards or modules. If you develop with the Sandwich development board, we recommend that you use the Cloud Module Burning Authorization Platform software to flash the firmware.

Custom development

This method applies to the product release step in the custom development solution. Specifically, upload the compiled firmware to the Tuya IoT Development Platform, get the token, and then use the Cloud Module Burning Authorization Platform software to flash the firmware and authorize the module.

Only the authorized module can be connected to the Tuya IoT Development Platform. You can use the Beken Writer to flash existing or updated firmware to an authorized module.

Upload firmware

  1. Log in to the Tuya IoT Development Platform, click the target product, and then go to the Hardware Development step.

  2. Click Add custom firmware and complete the required information.

    Parameter name Description
    Firmware identifier The Firmware Identifier must be identical to the name of the project folder under the apps directory. Assume that the firmware identifier is wifi_one_light. You should upload the production file of the project wifi_one_light under the apps directory.
    Flash Size The Flash Size is 16 Mbit, equal to 2 MB. See the datasheet for the flash size of the network module you use.
    Note: 1 byte = 8 bits. 16 Mbit ÷ 8 = 2 MB.
    Parameters not framed in red Use the default settings.
    Flash and Authorize CB Modules
  3. Click Upload Firmware to upload the firmware in the next step. Set the following parameters and click Save.

    Parameter name Description
    Firmware version The Firmware Version must be identical to the one used for compilation.
    Firmware for production Upload the binary file with the suffix QIO.
    User area firmware Upload the binary file with the suffix UA.
    Firmware updates Upload the binary file with the suffix UG.
    Operation mode Select the QIO option.
    Flash and Authorize CB Modules
  4. Click Enable Firmware.

    Flash and Authorize CB Modules
  5. Choose General availability for deployment scope and click Save and Enable.

    General availability is selected to facilitate product management for you as an individual developer. If your product is built for mass production, proceed with caution when choosing the development scope.

    Flash and Authorize CB Modules

Get production credentials

After the firmware is uploaded to and enabled on the Tuya IoT Development Platform, you can get free licenses. They are required when you flash the firmware and authorize the module by using the Cloud Module Burning Authorization Platform software.

  1. Click Get 2 Free Licenses.

    Flash and Authorize CB Modules
  2. For Delivery Mode, choose Credential and click Submit.

    • Credential: The flashing and authorization software writes a unique credential to a device. It can read the specified numbers of credentials and write them to devices in bulk. To use credentials, make sure you have uploaded the production firmware to the Tuya IoT Development Platform.

    • License List: A list provides license information in plain text, which must be written to devices manually one by one.

    • Credential (Authorization Only): The flashing and authorization software writes a unique credential to a device for the purpose of authorization only without the need for firmware.

      Flash and Authorize CB Modules

  3. Find your product by PID and click Download Credential.

    Flash and Authorize CB Modules

  4. Extract the downloaded file and open the Token_information.txt file. Copy the credential.

  5. Open the Cloud Module Burning Authorization Platform software, enter your credential in the token input box, and select Burning Authorization for the work station.

    If you get an error message saying Failed to get token, no permissions for actions, follow the instructions in the FAQs section to troubleshoot the problem.

    Flash and Authorize CB Modules

Flashing and Authorization

  1. Open the Cloud Module Burning Authorization Platform software, click Enter Token, enter your credential, select Burning Authorization for the work station, and click OK.

    Flash and Authorize CB Modules

  2. Connect your board to your computer by using a USB to UART converter. The pin connection table is as below:

    USB to UART converter pins Sandwich SoC board pins
    VCC VCC
    GND GND
    TX RX
    RX TX
  3. Select the correct COM Port and click Run. Immediately power off the board and power on it again. Alternatively, you can directly press the reset button to restart the board.

    • To restart the board, do not directly disconnect the USB to UART converter from your computer. Otherwise, flashing will fail. You should disconnect the VCC and GND jumper wires between the board and the USB to UART converter and connect them again.
    • The CBU board comes with a USB to serial CH340 chip. After you click Run on the software, press the reset button on the board to restart it.

    Flash and Authorize CB Modules

  4. (Optional) If you failed to enter the production test, it might be because the board has been connected to the network for more than 15 minutes and the testing channel has been shut down. For more information about this issue, see Failed to enter production test.

Sandwich Development Board

This method applies only when you flash the firmware to and authorize the Sandwich development board.

For the products created based on the no-code development solution on the Tuya IoT Development Platform, they must be bound with the Sandwich SoC microcontroller board. This way, you can request licenses as the credentials (tokens) from the Tuya Sandwich Evaluation Kit. Otherwise, if your account is not bound with a Sandwich SoC microcontroller board, the network module cannot be granted a token for the product in the no-code development solution. Thus, flashing and authorization cannot be implemented for the module.

Sandwich development board

Go to Tuya IoT Development Platform > Product > IoT Lab > Evaluation Kit, and click Add Development Board. In the dialog box that appears, enter the ID and password of the board.

Flash and Authorize CB Modules

Get the token

After the board is bound, click Request a new authorization code for the board, and in the dialog box that appears, select the target product to get the token.

Flash and Authorize CB Modules

Flashing and Authorization

  1. Copy the token from the Tuya IoT Development Platform and open the Cloud Module Burning Authorization Platform software.

    Flash and Authorize CB Modules

  2. For more information, see Flash firmware and authorize module.

Beken Writer

This method applies to the development step. You can flash firmware to the module unlimited times with authorizing the module once. The module must be authorized before flashing. Select the correct flash partition to ensure writing to the right section. Otherwise, the program cannot run as expected.

During development, flashing and authorization is always required each time the Cloud Module Burning Authorization Platform software is used. To improve efficiency, you can use the flashing tool from the chip vendor to flash firmware to an authorized module unlimited times.

Beken Writer

The Beken Writer tool is used only to flash the firmware to the application zone and is unable to authorize the module. You can use this tool to flash an authorized module. Therefore, you do not need to upload firmware to the Tuya IoT Development Platform for flashing and authorization with the Cloud Module Burning Authorization Platform software each time the firmware is updated.

  1. Select the chip model of the target module from the Flashing Object drop-down list. For more information, see Datasheets of Network Modules.

  2. Click Browse and select the binary file with the suffix UA.

  3. Set Start Address to 0x00011000 and set Operation Length to 0x00119000.

  4. Select the correct serial port from COM Port and set Baud Rate to the maximum value to accelerate the flashing speed.

  5. Click Run. Immediately power off the board and power on it again to start flashing. The updated firmware will be flashed to the module. There is no need to authorize the module with the Cloud Module Burning Authorization Platform software again.

    Flash and Authorize CB Modules

FAQs

Failed to get token, no permissions for actions

When you enter the credential, an error message saying Failed to get token, no permissions for actions is returned.

Troubleshooting

Log in to the Smart PMS. Choose Production Manage > Work Order Management > Activation Code Verification. Enter your credential with issue and click OK. Go back to the software. Enter your credential again and you should be good to go.

Flash and Authorize CB Modules

Bus contention error

This error occurs possibly because other software occupies the required serial port for flashing.

Troubleshooting

Close all flashing tools, or plug off the USB to TTL converter and plug it into the computer.

Fail to get firmware fingerprint

In the authorization-only scenario, the failure to get the firmware fingerprint might occur. The possible cause is that the flashed firmware name or version number does not match the authorized firmware name or version number.

Troubleshooting

  1. Enter the token that matches the firmware fingerprint and then run authorization.

  2. Try flashing and authorization again. This method does not apply to the production certificate of Authorization Only.

Fail to enter production test

If the module has been connected to the network for more than 15 minutes, the testing channel will be shut down. During flashing and authorization, if the failure of entering the production test occurs and a message saying have activated over 15 min, not enter mf_init is logged, this means the device has disabled the production test mode.

Troubleshooting

You need to erase the flashing data before the authorization is successful.

Flash and Authorize CB Modules

Modify code (generic method)

If the failure of entering the production test occurs, you can call the function mf_test_ignore_close_flag() ; in the function pre_device_init() of the file tuya_device.c to ignore the flag that disables the production test. This avoids the authorization failure caused by the disabled production test.

Flash and Authorize CB Modules

Erase data with chip manufacturer’s tool for Beken series

Open the bk_writer tool provided by the chip vendor and change Flashing Object to the required chip. For more information, see Datasheets of Network Modules.

Settings for development boards with Beken chips:

  • WB3S: Select BK7231 from the Flashing Object drop-down list.
  • CBU: Select BK7231N from the Flashing Object drop-down list.
  • Enter 0x001EE000 in start address and 0x00012000 in operation length.

Select the COM port, click Erase Flash, and then restart the module to start erasing the memory data.

Flash and Authorize CB Modules