Questions tagged [firmware]

Firmware is one of the most often used terms to denote the fixed programs and/or data structures that internally control an electronic device.

The wiki page describes firmware as the combination of persistent memory and program code and data stored in it.

Typical examples of devices containing firmware are embedded systems (such as traffic lights, consumer appliances, and digital watches), computers, computer peripherals, mobile phones, and digital cameras. The firmware contained in these devices provides the control program for the device. Firmware is held in non-volatile memory devices such as , , or .

Changing the firmware of a device may rarely or never be done during its economic lifetime; some firmware memory devices are permanently installed and cannot be changed after manufacture. Common reasons for updating firmware include fixing bugs or adding features to the device. This may require physically changing ROM integrated circuits, or reprogramming flash memory with a special procedure.

Firmware such as the ROM of a personal computer may contain only elementary basic functions of a device and may only provide services to higher-level software. Firmware such as the program of an embedded system may be the only program that will run on the system and provide all of its functions.

640 questions
4
votes
2 answers

FOTA : How can i do firmware update over the air?

Here i want to update my device fireware. After downloading the file from somewhere(server) what can i do for update the firmware? Please Tell me the way how can i achieve this and which things i have to keep in my mind to achieve this goal. What is…
user1089679
  • 2,328
  • 8
  • 41
  • 51
4
votes
1 answer

What are the files boot_app0.bin and bootloader_dio_80m.bin for? (ESP32 - Arduino IDE)

The ESP32 flash command, as executed by the Arduino IDE, seems to flash two bootloader files: boot_app0.bin at offset 0xe000 and bootloader_dio_80m.bin at offset 0x1000. I wonder what these two bootloader files actually do, and why there are two of…
K.Mulier
  • 8,069
  • 15
  • 79
  • 141
4
votes
3 answers

What's the escape character in AT-commands?

Im using a BG96 modem to connect to AWS iot over MQTT. I'm trying to set my MQTT Last Will and Testament with the following AT-command: +QMTCFG:"will",(0-5),(0,1),(0-2),(0,1),"willtopic","willmessage" Which works great. But now I'm trying to add a…
Jelmer
  • 41
  • 3
4
votes
2 answers

Why are flash sectors of ROM smaller at the starting address?

Recently been working a lot with flash ROM, and I've found consistently within both within the internal flash of a chip and even with external SPI flash devices, that sectors are usually sized in a pattern like so: I'm curious as to why the…
Capn Jack
  • 1,201
  • 11
  • 28
4
votes
5 answers

How to recognize that CyanogenMod is on a board?

I have checked a lot of fields from http://developer.android.com/reference/android/os/Build.html . However I am not able to get clearly information that specific device use CyanogenMod. this is what I…
noisy
  • 6,495
  • 10
  • 50
  • 92
4
votes
2 answers

qemu-arm running compiled binary

Trying to run a compiled binary I've extracted from a firmware on qemu, however I encounter this error: root@ubuntu14:~# qemu-arm -L /usr/arm-linux-gnueabi ~/x /system/bin/linker: No such file or directory root@ubuntu14:~# file ./x ./x: ELF 32-bit…
Jack
  • 53
  • 1
  • 4
4
votes
2 answers

Accessing a static variable of one compilation unit from others directly, in C

So I'm working on a "quick and dirty" profiler for firmware- I just need to know how long some functions take. Merely printing the time it takes every time will skew the results, as logging is expensive- so I am saving a bunch of results to an array…
Alexander Kondratskiy
  • 4,156
  • 2
  • 30
  • 51
4
votes
6 answers

Programming a Microprocessor using C in Object Oriented Paradigm, is it Advisable?

Since C is commonly used in micro-controllers and it is possible to do object oriented programming in C, is it advisable to implement object oriented micro-controller programming using C? What are the pros and cons?
LEMUEL ADANE
  • 8,336
  • 16
  • 58
  • 72
4
votes
2 answers

Is there any free software alternative to CCS C compiler?

Is there any free software alternative to CCS C compiler? Please also send the links and state the pros and cons if you already had an experience using them.
LEMUEL ADANE
  • 8,336
  • 16
  • 58
  • 72
4
votes
1 answer

Advantage for hex formats like SREC or Intel HEX

I want to ask if someone can explain me the benefit for using hex formats (e.g. by Motorola S-Record or Intel HEX) over using direct binary images like for firmware or memory dumps? I understand that it is useful to have some Meta information about…
Andreas
  • 342
  • 1
  • 10
4
votes
2 answers

AOSP - How to have an executable run with root access?

I am building an "embedded" system, based on Android, and at the moment I'm trying to implement updating the firmware of an audio module. There is a binary which does that, but the catch is that it needs root access to do it ( it can't access GPIOs…
Rick Sanchez
  • 4,528
  • 2
  • 27
  • 53
4
votes
1 answer

USB light sensor (ALS) product or implementation?

I've been looking for a way to retrofit light sensors to my laptops which lack one. The best specification I've found so far is in the ACPI 3b spec, section 9.2, that details how such a sensor would be implemented. I assume Linux would also follow…
brainwash
  • 690
  • 5
  • 19
4
votes
2 answers

What's so special about 0x55AA?

I have encountered 0x55AA in 2 scenarios: the final 2 bytes of boot sector in the legacy booting process contains 0x55AA. the first 2 bytes of the Option ROM must be 0x55AA So what's special about 0x55AA? The binary version of 0x55AA is…
smwikipedia
  • 61,609
  • 92
  • 309
  • 482
4
votes
2 answers

It is possible to combine Linux (one core) and bare-bone firmware (second core) on one dual core computer?

I was checking project Embedded ECG data acquisition system from instructables and there is mension a TODO: Combining the OS and bare-bone firmware UNDER CONSTRUCTION ** Since the bootloader only loads one firmware to the Core, I need to modify…
Tomas Kubes
  • 23,880
  • 18
  • 111
  • 148
4
votes
1 answer

How to Use 10-Sector Track Format On A USB Floppy Drive

I'm programming a floppy disk-extractor/manager for an old synthesizer/keyboard instrument (made in 1980's). My Problem: This software should support USB-Floppy drives. It needs to read and write images to a 10-sector track formats. But USB…
Narek
  • 41
  • 3