[Solved] OFFLINE VSC is unable to flash ROS Core 2.0

Hi All,

I am using Visual Studio code(VSC) offline development tool to flash ROS core 2.0 instead of the Husarion Cloud due to registration issues.

I followed the VSC installation guide as detailed in this tutorial.

The process I follows to flash ros core 2.0 is as follows
I disable Husarion cloud using

sudo systemctl disable husarnet-configurator
sudo reboot

Then I open my VSC and flash my program using the required command

ninja flash

I do it by pressing ctrl+shift+p, then selecting Flash to Core option

then enable husarion cloud so the device can synchronize using

sudo systemctl enable husarnet-configurator
sudo reboot

But even after successfully flashing the program twice, I get the following error

How to resolve this issue ?

Hello Pradeep_BV,

It is not necessary to disable and enable husarnet-configurator with each flashing, it should be enabled all the time. That procedure is necessary only when unlocking bootlaoder.

To solve the issue, we need to check few things:

  1. Are you flashing CORE2 with firmware for ROSbot 2.0 or ROSbot 2.0 PRO?
  2. What is the state of LEDs on ROSbot rear panel after pushing reset button.
  3. What is the output of serial console in VSC (push CTRL + SHIFT + P then choose Open CORE2 serial console)? Does the output change after pushing reset button?

Regards,
Łukasz

Hi Lukasz,

I am Flashing ROSbot PRO 2.0

If i am not disabling husranet-configurator , I am unable to flash the rosbot.

If I am disabling and enabling husranet-configurator I am able to flash the program.

The led’s Power and L1 are blinking during flashing process.
On reboot after flashing LED’s Power,LR1 and LR2 are ON constantly

The output of serial console on presiing reset button is as follows

Please tell me what do next

Hi,
Are you sure you flashed the bootloader as described here? Without it the flashed firmware won’t work. After you do that please send me memory dump. You can obtain it using stm32loader (community topic):

1. Stop services:

$ sudo systemctl disable husarnet-configurator
$ sudo systemctl stop husarnet-configurator
$ sudo systemctl disable husarion-shield
$ sudo reboot

2. On rosbot run:

$ sudo stm32loader -c upboard -r -l 65636 memory_content
$ arm-none-eabi-objcopy -I binary -O ihex memory_content memory_content.hex

Send me memory_content.hex file back.

3. Restart husarnet-configurator

$ sudo systemctl enable husarnet-configurator
$ sudo systemctl restart husarnet-configurator

Hi BYQ77,

I followed instructions but i get the following error

First I updated the firmware of the boot loader in the VSC using

./core2-flasher --unprotect
./core2-flasher bootloader_1_0_0_core2.hex
./core2-flasher --protect

Then I tested gpio program using

sudo systemctl disable husarnet-configurator
sudo systemctl stop husarnet-configurator
sudo systemctl disable husarion-shield
sudo reboot 
cd ~/ && git clone https://github.com/vsergeev/python-periphery.git
cd ~/python-periphery && sudo python setup.py install --record files.txt

The program to test gpio pins was working.
The I tried following command

cd ~/ && git clone GitHub - byq77/stm32loader: Flash firmware to STM32 microcontrollers using Python.
This generated error that stm32loader folder already exists.
I tried the following command it executed successfully
cd ~/stm32loader && sudo python setup.py install --record files.txt

After this the I tried following commands which started generating the error

sudo stm32loader -c upboard -u -W
Can’t init into bootloader. Ensure that BOOT0 is enabled and reset the device.

sudo stm32loader -c upboard -e -w -v firmware.bin
Can’t init into bootloader. Ensure that BOOT0 is enabled and reset the device.

sudo stm32loader -c upboard -r -l 65636 memory_content
Can’t init into bootloader. Ensure that BOOT0 is enabled and reset the device.

Please suggest how to resolve this issue

Hi All,

Husarion Team contacted me personally and we were able to debug the problem.

Thank you for the support.