How to backup NodeMCU firmware? - backup

How do I backup my NodeMCU firmware before upgrading?
Note: I am a completely newbie at this. I have never worked with a NodeMCU before. I have other programming skills, so programming is not new to me.

esptool.py has a (undocumented) read_flash option which you can use to read the firmware from 0x0000 back to a local file.
$ esptool.py read_flash
usage: esptool read_flash [-h] [--no-progress] address size filename
esptool read_flash: error: too few arguments

Related

VxWorks: Why bootline can't be changed?

I am trying to revise the bootline of VxWorks by running the “bootChange” command in shell.
I can successfully see the change right after i run this command by checking “version” command, but when i really try rebooting the VxWork, the changes wasn't applied.
So i am confused and hope i can get some insight of why such change doesn't work.
By the way there does have a flash as the main storage in my equipment, and i believe the bootrom image which contains the booline was burned in that flash.
And i have checked that the flash wasn't mounted in VxWorks by running “devs” command.
Is your system booting with U-Boot or with a VxWorks Bootrom?
You might confirm which VxWorks version is used.
If you have a bootrom, try the to change the boot line parameter from the bootrom context by using the command "c".
You can also pass the full boot line parameter preceded with "$" to tell to the boron to use this boot line instead.
Note: devs in VxWorks would not display the flash/nvram being used for storing the boot line parameter. You might check the file target.nr, target.ref in the BSP directory.

Bin File generation from keil IDE for STM32 MCU

Hello EveryOne,
I am working with STM32 MCU and need to generate the binary(.bin) file from the KEIL-IDE(Development tool chain) So that I can upload the new firmware file to the HTTP/FTP server to do the Firmware over the air(FOTA).
So, Please suggest/guide me that how to generate the binary(.bin) file from the KEIL-IDE.
Thanks
Keil includes a tool to do it called fromelf, which is in the keil/ARM/ARMCC/bin directory
use fromelf.exe --bin AXF_FILE_NAME --output BINARYFILENAME
You can add it in a post build step if you want to automate it.

install proxmox from usb device error

I try to install Proxmox using a USB, and when I click to install, I see the next error:
testing cdrom /dev/sr0
umount: can't umount /mnt: Invalid argument
testing again in 5 seconds
Finally:
no cdrom found - unable to continue (type exit or CTRL-D to reboot)
I prepare the USB using ImageUSB in Windows, and it does have the previous fail, then I try to prepare in Ubuntu using dd if=pve-cd.iso of=/dev/XYZ bs=1M, I don't know where is the problem.
For someone out there still having similar issue, use below method to create the installation media. That should help.
Instructions for Windows
Download Etcher from https://etcher.io , select the ISO and your USB Drive.
If this doesn’t work, alternatively use the OSForensics USB installer from http://www.osforensics.com/portability.html
Instructions for GNU/Linux
You can simply use dd on UNIX like systems. First download the ISO image, then plug in the USB stick. You need to find out what device name gets assigned to the USB stick (see below). Then run:
dd if=proxmox-ve_*.iso of=/dev/XYZ bs=1M
Note: Be sure to replace /dev/XYZ with the correct device name.
Caution: Be very careful, and do not overwrite the hard disk!
Instructions from: https://pve.proxmox.com/wiki/Install_from_USB_Stick

org.bluez.LEAdvertisingManager1 interface disappeared in bluez 5.31

I've been working with bluez 5.30 for a few weeks getting a peripheral working using the DBus APIs. I ran into a bug registering descriptors which I tracked down to an issue in gatt-database.c. When I went to report the bug, I noticed 5.31 had been released, which corrected the issue, so I built and installed the new version.
However, in this new version the LEAdvertisingManager1 has disappeared from the adapter object. Downgrading back to 5.30 corrects the issue. I start bluetoothd with the -E option in both cases.
When I start bluetoothd from the command line with debugging on, I can see the device wishes to create the interface:
bluetoothd[1801]: src/advertising.c:btd_advertising_manager_new() LE Advertising Manager created for adapter: /org/bluez/hci0
The only clue appears to be this line:
bluetoothd[1801]: Failed to read advertising features: Unknown Command (0x01)
Which i tracked down to the call to read MGMT_OP_READ_ADV_FEATURES over hci, which returns 0x01, unknown command. This command was working fine in 5.30, so I'm curious if this is some configuration issue for the new features in 5.31.
Anyone have any tips for correcting this?

Adding new ARM machine to Qemu

I've used buildroot to compile a firmware targetting the LPC EA3250 board, I'm trying to get this to run using qemu so that I can test changes to the firmware on my machine. I've tried commands such as:
qemu-system-arm -M virt -kernel uImage -hda rootfs.ext2 -boot c -m 128M -append "root=/dev/sda rw console=ttyS0,38400n8"
But I keep getting similar errors no matter which -M option I apply. It seems that somehow I need to get a new machine option to pass qemu which will correspond to my board. I've found this config file which seems to be the configuration needed for the board I'm looking at.
What I would like to know is how to insert this config into qemu. Do I have to place this config somewhere and then recompile everything? If I do where do I need to put it?
On further investigation it seems that the config file I found is for something else entirely. The LPC EA3250 is not supported by qemu and adding in support for additional machines is an extensive task.