Initial dev environment setup for ESP32-C3 and ESP32-C6 programming, tailored towards Rust development. Some of this will also apply to the ESP32-C2 as well as the ESP32-H2 and ESP32-P4 when they are released.
- Install ESP tooling:
Initial dev environment setup for ESP32-C3 and ESP32-C6 programming, tailored towards Rust development. Some of this will also apply to the ESP32-C2 as well as the ESP32-H2 and ESP32-P4 when they are released.
(version 1) | |
#Kicad 7 | |
# 2-layer, 1oz copper | |
(rule "Minimum Trace Width (outer layer)" | |
(constraint track_width (min 5mil)) | |
(layer outer) | |
(condition "A.Type == 'track'")) | |
(rule "Minimum Trace Spacing (outer layer)" |
#!/usr/local/bin/python3 | |
# For Gigabyte M27Q KVM connected over USB-C | |
# | |
# Reads brightness value of builtin display from system, adapts it (Lunar-style) and sends over USB command to external display | |
# | |
# You need PyUSB and PyObjC | |
# | |
# Not much testing was done so far, only on MBP A1990 15" 2019 i7 555X | |
# |
Information can be put into dmi tables via some qemu-system hosts (x86_64 and aarch64). That information is exposed in Linux under /sys/class/dmi/id
and can be read with dmidecode
. The names are very annoyingly inconsistent. The point of this doc is to map them.
Example qemu cmdline:
qemu-system-x86_64 -smbios type=<type>,field=value[,...]
qemu-system-x86_64 -smbios type=0,vendor=superco,version=1.2.3
Suppose you need to add a section to an ELF binary to contain information gathered at compile time, but to be used at link time or run time. Here's how to add a section named .okdata
and either populate it with data either after or before emitting the ELF binary.
In this case, you'll add file’s contents to an already existing binary. objcopy
copies and translates object files, such that adding a new section is a matter of writing that new section’s contents into the ELF file.
(Optional) Create a simple program’s object file.