-
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.
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.
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)
Related posts
-
DeepRacer-for-Cloud v5.2.2 now available with new real-time training metrics
-
Melhorando e configurando seu novo Shell linux. Pt-2
-
Neofetch: A command-line system information tool written in bash 3.2
-
What is Odevio? Exploring iOS Deployment on Windows & Linux
-
Debugging production CDK Node.js app with AWS Fargate