mechazoidal + arm   47

GitHub - ARMmbed/littlefs: A little fail-safe filesystem designed for microcontrollers
"originally built as an experiment to learn about filesystem design in the context of microcontrollers. The question was: How would you build a filesystem that is resilient to power-loss and flash wear without using unbounded memory?"
arm  mbed  embedded  filesystems  library  repo:github  pmz 
7 weeks ago by mechazoidal · GitHub
"This document was originally written several years ago. At the time I was working as an execution core verification engineer at Arm. The following points are coloured heavily by working in and around the execution cores of various processors. Apply a pinch of salt; points contain varying degrees of opinion."
Some refutation here:

The overall feel from the discussions is that RISC-V attracts a lot of armchair discussion, and real silicon is going to have to prove out.
gist  arm  risc-v  2019 
11 weeks ago by mechazoidal
Fix Bugs and Secure Firmware with the MPU | Interrupt
"Many ARM MCUs implement an optional unit, known as the Memory Protection Unit (MPU), which lets you control how regions of memory are accessed. In this article, we will deep dive into the unit and walk through a few practical examples of how it can be used to prevent bad memory accesses and security exploits on Cortex-M devices."
security  assembly  programming  pmz  arm  embedded  reference 
july 2019 by mechazoidal
Dmitry.GR: rePalm
The long and tortuous path of running old palm os+apps on newer hardware
reverse_engineering  palm  arm  assembly  programming 
april 2019 by mechazoidal
Blue Pill - STM32duino wiki
Super cheap(it's a STM32F102), capable of running Rust. Get an ST-Link though, don't depend on the on-board bootloader
hardware  reference  pmz  arm 
april 2019 by mechazoidal
[] [#1] Hello, world!
"In this series we will cover the fundamentals of virtualization in the 64-bit Arm architecture and develop an accompanying hypervisor step-by-step, beginning with simple examples hosting trivial virtual machines and working up to hosting fully-fledged operating system kernels such as Linux. Topics discussed will include device tree spoofing & stage 2 address translations, CPU feature spoofing & instruction emulation, device emulation, virtual interrupts, firmware interactions, and more."
arm  hypervisor  tutorial  multipart  assembly  programming  osdev  pmz 
february 2019 by mechazoidal
iMX233-OLinuXino-NANO - Open Source Hardware Board
Comment: "I like that board because it runs Linux, is proper Open Hardware, has an ADC and is breadboard compatible"
(ARM926J equiv)
arm  hardware  gear  pmz 
september 2018 by mechazoidal
Hacking an assault tank… A Nerf one | Pen Test Partners
Note the tips on checking for ARM or Thumb code, and for using STM32 boards for prototyping
security  hardware  reverse_engineering  arm  archive_it 
september 2018 by mechazoidal
Compile Metal shader Bitcode to x86 and ARM assembly | Worth Doing Badly
"Here’s how I reverse engineered Apple’s metallib archive format to extract the LLVM Bitcode for compiled Metal shaders. I proved that normal LLVM can read the Bitcode and compile it to x86-64 and ARM64 assembly. [...] Without parallelism or a software renderer, compiling a Metal shader to ARM/x86 assembly code is mostly a curiousity, to demonstrate that LLVM can process bitcode from Metal shaders."
llvm  arm  x86  compilers  shaders 
august 2018 by mechazoidal
Zero cost stack overflow protection for ARM Cortex-M devices | Embedded in Rust
Using a linker script to swap position of the stack, so an overflow will hit a ram barrier instead of smashing static data.

Caveat: "The approach described here doesn’t help if you are using threads, where each one has its own stack. In that scenario the thread stacks are laid out contiguously in memory and no amount of shuffling around will prevent one from overflowing into the other. There pretty much your only choice is to use a MPU (Memory Protection Unit) – assuming your microcontroller has one – to create stack boundaries on demand. "
arm  programming  embedded  rust  reference 
august 2018 by mechazoidal
Preface - The Embedonomicon
Everything you ever wanted to know about embedded Rust usage
arm  rust  programming  reference  embedded 
april 2018 by mechazoidal
Clkscrew: Exposing the perils of security-oblivious energy management | lobsters
note nickpsecurity's comment. Of course all of this happens because they stick the power-management CPU into the SoC.
lobsters  arm  security  vuln  discussion  hardware 
september 2017 by mechazoidal
Fearless concurrency in your microcontroller | Embedded in Rust
"We just did totally memory safe multitasking. No unsafe, no deadlocks, and the compiler detected data races at compile time. All this on a single core microcontroller without relying on a garbage collector, dynamic memory collector or operating system. The best part: this is just the beginning of the RTFM framework."
pmz  embedded  arm  rust  programming  concurrency  rtfm 
may 2017 by mechazoidal
L3: A Specification Language for Instruction Set Architectures
" implemented in Poly/ML [...] ARM, MIPS and x86 models are available"
hardware  isa  arm  mips  x86  risc-v  language  programming 
may 2017 by mechazoidal
Rust your ARM microcontroller! | Embedded in Rust
Note usage of crates, along with svd2rust, compared to
rust  embedded  arm  pmz  programming 
april 2017 by mechazoidal
Functional IoT - Connect things by well-typed bridge.
"a wrestling mat that strongly typed languages fight on, to become the champion of system programming language.", possibly a Japanese project? ATS, Haskell, and Rust are the competitors, using MSP430, AVR, and Cortex-M as target platforms, no winners picked yet as of 2017/03
( )
iot  pmz  programming  ats  haskell  rust  arm  embedded 
march 2017 by mechazoidal
NO EXECUTE! A regular look at personal computer technology issues.
by Darek Mihocka, founder, Also includes good write up of how vx32 works.
x86  programming  assembly  emulators  computers  arm  blog 
january 2017 by mechazoidal
EFM32 | From Wikipedia, the free encyclopedia
"EFM32 microcontrollers have a majority of their functionality available down to their deep sleep modes, at sub-microamp current consumption, enabling energy efficient, autonomous behavior while the CPU is sleeping. EFM32 combines this with quick wakeups and efficient processing to reduce the impact of the CPU when code needs to be executed."
electronics  arm  wikipedia  reference 
january 2017 by mechazoidal
Acid your ARM - Lsub
"We have developed jtagfs, a protocol stack and filesystem which enables live debugging of an ARM machine using acid." They use the MPSSE on the Sheevaplug to interact with TAP, but note that this should work on any ARM with Embedded-ICE.
Interesting points:
- "Assembling on the fly has proved to be a very good approach for debugging and testing, providing a low level sniffing interface. "
- "Just by writing some acid code, we were able to to disable and reenable the watchdog as needed."
- "Another interesting experience was debugging some code for traps that had failed to work for a long time and we did not understand why. It turned out that in the end we were using an instruction which was not supported in the machine, but what had stalled us for days was debugged in a couple of hours using jtagfs."
plan9  arm  hardware  pdf  inferno  jtag 
december 2016 by mechazoidal
i.MX6 ARM Development Board
previously known as the "SABRE lite", now "BD-SL-i.MX6 board". Meant for prototyping Android/Linux embedded apps:"the original i.MX6 reference platform. Because of that, there is significant software support in the community including Yocto, Buildroot, Ubuntu, Debian, Android 5.0, QNX, CE7/CE2013, Mentor Graphics, Wind River, Green Hills, Arch Linux. "
arm  programming  hardware  gear  pmz 
december 2016 by mechazoidal
Get C.H.I.P. and C.H.I.P. Pro - The Smarter Way to Build Smart Things
The big brother to the CHIP and PocketCHIP: based around the "GR8", a Allwinner R8 with lots of extras, and all open-source, including the datasheet!
hardware  embedded  arm  electronics  store 
december 2016 by mechazoidal
ARM-ELF Topics and Tutorial: Embedded ARM Ada Project
"GNAT for bareboard ARM supports processors from the ARMv7 architecture family, specifically the Cortex-M3, Cortex-M4, Cortex-R4 and Cortex-A9 series."
arm  ada  embedded  programming  reference 
november 2016 by mechazoidal
"a library of IEEE 754 single-precision floating-point arithmetic routines for microcontrollers based on the ARM Cortex-M3 core (ARMv7-M architecture). It will also run on Cortex-M4 microcontrollers but is not optimised for these devices. Unlike Qfplib-M0, the optimisation goals for Qfplib-M3 are speed and accuracy, while keeping code size within reasonable bounds."
library  math  ieee754  arm  embedded  programming 
april 2016 by mechazoidal
Dash Hacking: Bare-Metal STM32 Programming
"The Dash is great at what it's designed to do, but did you know inside the Dash is a powerful ARM Cortex-M3 processor and WiFi module that are very similar to wireless development boards like the Particle Photon? You'll even find there are easily accessible test pads on the Dash which allow you to reprogram its CPU and turn it into your own $5 internet button! "
adafruit  hack  embedded  arm  programming  tutorial 
february 2016 by mechazoidal
Links to a very Phrack-styled PDF containing humor, old-timey ads, and several marvelous reverse-engineering hacks:
- how the Pokemon Plays Twitch setup was constructed(hacking GB Z80 opcodes+memory)
- using ARM SWD as a weird interconnect, enabling doing things like exposing a ESP8266's memory map as a web page
- hacking the embedded electronics in a home-pregnancy test
- Apple II copy-protection hacking
- hacking into a Tytera MD380 hand-held radio transceiver
lobsters  hack  humor  reverse_engineering  apple  arm  radio  esp8266 
january 2016 by mechazoidal
Raspberry Pi Bare Metal Programming with Rust
Mostly for the rustlib compilation and linking info
rust  programming  arm  pmz 
january 2016 by mechazoidal
"This repository seeks to provide value to devlopers targetting ARM platforms in two main ways:
- Provide a convenient place to access and aggregate CMSIS-SVD hardware descriptions from multiple sources.
- Provide parsers that make code generation and tooling based on SVD easier to build. Most parsers simply parse a provided SVD file and turn it into a data structure more easily used in that language."
repo:github  pmz  arm  reference  hardware  embedded 
january 2016 by mechazoidal
Ringing in 2016 with 64 open-spec, hacker friendly SBCs ·
"Community backed, open-spec SBCs vary wildly, from sub-$10 minimalists to octa-core powerhouses. Here we present 64 Linux- and Android-friendly models."
computers  hardware  arm  MIPS  linux  list 
january 2016 by mechazoidal
Building Bare-Metal ARM Systems with GNU: Part 1 - Getting Started
Covers the Atmel AT91SAM7S board, so this is good for learning about pre-Cortex ARMs (ARM7TDMI, for example)
hardware  embedded  tutorial  reference  resource  osdev  programming  arm 
april 2015 by mechazoidal
The Lightning Digital AV Adapter Surprise
Everything including AV adapters are becoming SoCs. However, note the anonymous comment linked at the end of the text: this may have been done to get around Lightning's lack of true AV capabilities in a system-independent manner.
video  apple  arm  hardware 
january 2015 by mechazoidal
SolidRun | Simple Robust Computing Solutions
"World's smallest mini computers for XBMC, Android TV & Linux"
gear  hardware  store  arm  x86  computers 
september 2014 by mechazoidal
All about the Device Tree specification, for hardware-description language use in bootloaders.
arm  wiki  programming  hardware  linux  devicetree  pmz 
september 2014 by mechazoidal
"Zinc is an experimental attempt to write an ARM stack that would be similar to CMSIS or mbed in capabilities but would show rust’s best safety features applied to embedded development. Zinc is mostly assembly-free and completely C-free at the moment"
rtos  rust  programming  embedded  osdev  arm 
july 2014 by mechazoidal
systemcall dot org » Trashing Chromebooks
Most ARM boards at this point are unreliable under heavy load, but some clever hacking makes a Chromebook into a reliable build slave.
chromebook  linux  arm  hardware  testing 
june 2014 by mechazoidal
ODROID | Hardkernel
ARM Exynos single board computer suitable for server or desktop use.
hardware  arm  computer 
june 2014 by mechazoidal
A Scheme Interpreter for ARM Microcontrollers
"It may be thought of as turning the MCU into a rudimentary Scheme machine. "
arm  embedded  programming  scheme 
march 2014 by mechazoidal
Build Bare-Metal ARM Programs with the GNU Toolchain
Covers the Atmel AT91SAM7S board, so this is good for learning about pre-Cortex ARMs (ARM7TDMI, for example)
pdf  gnu  arm  hardware  embedded  tutorial  reference  resource  osdev  programming 
february 2014 by mechazoidal
A ARM-based mainboard, from the makers of Gumstix.
arm  electronics  hardware  embedded  diy 
april 2009 by mechazoidal

Copy this bookmark: