about program flash

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

We will start a project with WICED SDK,but we known this sdk a little.especially,how to flash program into device.which tool used to flash?what will be flashed?is only the app?what is stored in  DCT.what can be stored in DCT.

I am sorry for so many questions.

0 Likes
1 Solution
user_2177781
Level 5
Level 5
25 likes received 10 likes received 5 likes given

how to flash program into device

I guess you have a few possibilities here, on some of the evaluations boards there is a USB "JTAG simulator", if you plan to design a custom board you will peoperly use the JTAG directly to program the MCU. (You can do this on most of the EVAL boards aswell). Lastly the MCU misht have additional methods, such as STM providing a USB bootloader stored in ROM to flash the MCU using DFU mode.

which tool used to flash?

During development, the best solution would properly be to get OpenOCD running within WICED and then be able to flash directly from WICED. You could generate DFU files every time and use DfuSe from ST but that is quite slow during development.

what will be flashed? is only the app?

Basically you can flash the whole internal flash and even external flash with the correct setup. So it kind of depends on the method used to program the device, but let's assume you use JTAG and OpenOCD within WICED to program the device. Then it will program the bootloader, DCT and Application. (You can skip the DCT using no_dct make target and you can write to the external flash if you use the built-in factory reset methods)

what is stored in DCT and what can be stored in DCT.

The DCT contains boot information, configuration for WiFI connection , etc. the last section is designed to be defined by the specific application, so here you can store what ever data you want, as long as you are within the avaliable flash.

I hope this helps

View solution in original post

5 Replies
user_2177781
Level 5
Level 5
25 likes received 10 likes received 5 likes given

how to flash program into device

I guess you have a few possibilities here, on some of the evaluations boards there is a USB "JTAG simulator", if you plan to design a custom board you will peoperly use the JTAG directly to program the MCU. (You can do this on most of the EVAL boards aswell). Lastly the MCU misht have additional methods, such as STM providing a USB bootloader stored in ROM to flash the MCU using DFU mode.

which tool used to flash?

During development, the best solution would properly be to get OpenOCD running within WICED and then be able to flash directly from WICED. You could generate DFU files every time and use DfuSe from ST but that is quite slow during development.

what will be flashed? is only the app?

Basically you can flash the whole internal flash and even external flash with the correct setup. So it kind of depends on the method used to program the device, but let's assume you use JTAG and OpenOCD within WICED to program the device. Then it will program the bootloader, DCT and Application. (You can skip the DCT using no_dct make target and you can write to the external flash if you use the built-in factory reset methods)

what is stored in DCT and what can be stored in DCT.

The DCT contains boot information, configuration for WiFI connection , etc. the last section is designed to be defined by the specific application, so here you can store what ever data you want, as long as you are within the avaliable flash.

I hope this helps

Anonymous
Not applicable

It is greate help for me.

I want understand flowing question:

is there only one application flash into device?  Is it can not support multi app?

the application is started by waf bootloader?

0 Likes

WICED in it self is quite flexible, but in general you have the bootloader, DCT1, DCT2 and then the application. WICED has possibility to hold additional applications in the external flash, but I have not played with this functionallity.

0 Likes
Anonymous
Not applicable

why there are DCT1 and DCT2?I think only one DCT is enough.

0 Likes

The is a few post describing this in depth, ex. see here

The purpose of having two DCT tables (DCT1 and DCT2)