overclock

This commit is contained in:
2025-11-12 14:11:13 -07:00
parent f7a0562625
commit 35d9cd092d
4 changed files with 17 additions and 10 deletions

6
Cargo.lock generated
View File

@@ -137,7 +137,7 @@ version = "0.71.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3"
dependencies = [ dependencies = [
"bitflags 2.9.4", "bitflags 2.10.0",
"cexpr", "cexpr",
"clang-sys", "clang-sys",
"itertools 0.10.5", "itertools 0.10.5",
@@ -148,7 +148,7 @@ dependencies = [
"regex", "regex",
"rustc-hash", "rustc-hash",
"shlex", "shlex",
"syn 2.0.104", "syn 2.0.110",
] ]
[[package]] [[package]]
@@ -2004,7 +2004,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff24dfcda44452b9816fff4cd4227e1bb73ff5a2f1bc1105aa92fb8565ce44d2" checksum = "ff24dfcda44452b9816fff4cd4227e1bb73ff5a2f1bc1105aa92fb8565ce44d2"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"syn 2.0.104", "syn 2.0.110",
] ]
[[package]] [[package]]

View File

@@ -17,6 +17,7 @@ pimoroni2w = ["rp235x", "psram"]
rp235x = ["embassy-rp/rp235xb"] rp235x = ["embassy-rp/rp235xb"]
trouble = ["dep:bt-hci", "dep:cyw43", "dep:cyw43-pio", "dep:trouble-host"] trouble = ["dep:bt-hci", "dep:cyw43", "dep:cyw43-pio", "dep:trouble-host"]
psram = ["dep:embedded-alloc"] psram = ["dep:embedded-alloc"]
overclock = []
fps = [] fps = []
defmt = [ defmt = [
"dep:defmt", "dep:defmt",

View File

@@ -47,6 +47,8 @@ use embassy_executor::{Executor, Spawner};
use embassy_futures::{join::join, select::select}; use embassy_futures::{join::join, select::select};
use embassy_rp::{ use embassy_rp::{
Peri, Peri,
clocks::ClockConfig,
config::Config,
gpio::{Input, Level, Output, Pull}, gpio::{Input, Level, Output, Pull},
i2c::{self, I2c}, i2c::{self, I2c},
multicore::{Stack, spawn_core1}, multicore::{Stack, spawn_core1},
@@ -119,7 +121,13 @@ static UI_CHANGE: Signal<CriticalSectionRawMutex, ()> = Signal::new();
#[embassy_executor::main] #[embassy_executor::main]
async fn main(_spawner: Spawner) { async fn main(_spawner: Spawner) {
let p = embassy_rp::init(Default::default()); let p = if cfg!(feature = "overclock") {
let clocks = ClockConfig::system_freq(192_000_000).unwrap();
let config = Config::new(clocks);
embassy_rp::init(config)
} else {
embassy_rp::init(Default::default())
};
spawn_core1( spawn_core1(
p.CORE1, p.CORE1,
@@ -255,7 +263,7 @@ async fn setup_mcu(mcu: Mcu) {
async fn setup_display(display: Display, spawner: Spawner) { async fn setup_display(display: Display, spawner: Spawner) {
let mut config = spi::Config::default(); let mut config = spi::Config::default();
config.frequency = 64_000_000; config.frequency = 192_000_000;
let spi = Spi::new( let spi = Spi::new(
display.spi, display.spi,
display.clk, display.clk,

View File

@@ -48,13 +48,11 @@ fn bindgen() {
.file("peanut_gb_stub.c") .file("peanut_gb_stub.c")
.include("Peanut-GB") .include("Peanut-GB")
// optimization flags // optimization flags
.flag("-O3") // max optimization .flag("-Ofast")
.flag("-ffast-math") // faster floating point, if any .flag("-fdata-sections")
.flag("-funroll-loops") // unroll small loops .flag("-ffunction-sections")
// CPU/architecture flags (example for ARM Cortex-M33)
.flag("-mcpu=cortex-m33") .flag("-mcpu=cortex-m33")
.flag("-mthumb") .flag("-mthumb")
// optional: strip debug info
.flag("-g0") .flag("-g0")
.compile("peanut_gb"); .compile("peanut_gb");