Raspberry Pi Pico: What is this obfuscated code(?) doing in its boot ROM?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • pico-bootrom

  • A trampoline in code is something you jump off of - essentially, a redirection snippet. You jump into it and it bounces you somewhere else.

    In this case, the use is documented where it's implemented: https://github.com/raspberrypi/pico-bootrom/blob/master/boot... . It's a custom wrapper to call ROM functions. When the ROM function returns, the trampoline executes a debugger breakpoint. This is done so that the debugger can call into ROM easily without needing to set a hardware breakpoint.

  • abi-aa

    Application Binary Interface for the ArmĀ® Architecture

  • Normally you'd save more than just PC as AAPCS (https://github.com/ARM-software/abi-aa/blob/main/aapcs32/aap...) mandates stack to be aligned to 8 bytes for "public interface" functions. But this is is not a "public" function so it's fine to only save lr here.

    "bx lr" is only used on it's own when the function doesn't call another function (altering lr), and doesn't need to save any registers.

    If you see pop {lr}; bx lr then that's code that's being compiled to explicitly support Armv4 (e.g. Arm7TDMI)

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • DeepRacer-for-Cloud v5.2.2 now available with new real-time training metrics

    2 projects | dev.to | 3 May 2024
  • Melhorando e configurando seu novo Shell linux. Pt-2

    5 projects | dev.to | 2 May 2024
  • Neofetch: A command-line system information tool written in bash 3.2

    1 project | news.ycombinator.com | 2 May 2024
  • What is Odevio? Exploring iOS Deployment on Windows & Linux

    1 project | dev.to | 2 May 2024
  • Debugging production CDK Node.js app with AWS Fargate

    2 projects | dev.to | 2 May 2024