Skip to content

Using customised EC firmware for the FW16 laptop

jcdutton edited this page Apr 27, 2025 · 7 revisions

This page will contain instructions for how to experiment with you own EC source code on the FW16 laptop.

Note: These instructions are work in progress. They are still TODO and not yet complete.

All the areas covered are done on the Linux operating system. Not Windows. The areas covered:

1) download, compile and install "ectool"

This is a tool that helps examine the EC firmware while it is running. It is a command line Linux tool.

https://github.com/jcdutton/EmbeddedController/wiki/ectool

2) download, compile and install the "EmbeddedFirmware"

This step involves pulling in parts for about 5 different repos. This is the actual EC source code for the EC firmware. This is the bit you might be editing to experiment with.

https://github.com/jcdutton/EmbeddedController/wiki/EC-firmware

3) download, compile and install a safe EC firmware flash program

There are 2 areas of the EC firmware flash referred to as RO and RW. The default, fallback area in the RO area. If you power off the laptop, remove the PSU for 2 minutes, the laptop will boot up from the RO area. One can use the "ectool sysjump rw" to get it to switch to the RW area. Any bug or fault with the RW area will make the firmware automatically fallback to the RO area. Note: although it is called the "RO area", it is easy to overwrite it. The concept behind the "safe" EC firmware flash program is that it only ever writes to the RW area. You can test run the RW area with "ectool sysjump rw", and there are easy fallback mechanisms to the RO area if the change you make to the source code don't work. Also, a very important first step is taking a backup for your current EC firmware, because it contains serial numbers etc. specific to your FW laptop.

https://github.com/jcdutton/EmbeddedController/wiki/EC-firmware-flash

Clone this wiki locally