nrf-softdevice
CC65-Advanced-Optimizations
nrf-softdevice | CC65-Advanced-Optimizations | |
---|---|---|
3 | 2 | |
236 | 115 | |
3.4% | - | |
8.7 | 0.6 | |
27 days ago | about 1 year ago | |
Rust | C | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
nrf-softdevice
-
Problems flashing custom firmware to the nice!nano
I'm compiling a very stripped down example from https://github.com/embassy-rs/nrf-softdevice that should just loop forever and turn an LED on and off. I convert from a binary to the uf2 using this script linked in the adafruit bootloader repository. The command I run is uf2conv.py -c -b 0x26000 -f 0xADA52840. When running file on my binary the output is UF2 firmware image, family Nordic NRF52840, address 0x026000, 42 total blocks, exactly the same as on the ZMK image that works without a problem.
- Rust on the MOS 6502: Beyond Fibonacci
-
First steps with Embedded Rust: Selecting a board
The Embassy project provides an async wrapper for the Nordic BLE soft device: https://github.com/embassy-rs/nrf-softdevice
CC65-Advanced-Optimizations
-
Assembly programming on the Commodore 64
I'd like to suggest trying C, using cc65. Assembly knowledge is useful, but working in C is much easier and fast enough most of the time. Here's a nice guide on how to write C code that runs fast on a C64: https://github.com/ilmenit/CC65-Advanced-Optimizations
-
Rust on the MOS 6502: Beyond Fibonacci
The cool thing about LLVM-MOS specifically it that by using the zero page as virtual registers you sort-of get the same output with 'regular' code as opposed to this 'global variables' style of programming.
I recall a tutorial for 'cc65 optimizations'[0] which basically destroys a well-structured C program in order to do all of these optimizations (like making everything global) and it was absolutely terrible, code-wise. Well, the end result was probably fine, but it's just a shame these 'optimizations' were needed.
[0] I think it was this one: https://github.com/ilmenit/CC65-Advanced-Optimizations
What are some alternatives?
embassy - Modern embedded framework, using Rust and async.
llvm-mos-ferris-demo
microbit - A Rust crate for BBC micro:bit development
rust-mos - Empowering everyone to build reliable and efficient software.
nrf-hal - A Rust HAL for the nRF family of devices
atsamd - Target atsamd microcontrollers using Rust
riscv-rust-quickstart - A template for building Rust applications for HiFive1 boards
a800-rust-test
chirp8-engine