You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am trying to run the sample code on my LPCXpresso55S69 board. My goal is just to print "in main" on my terminal through main function. I am using following jlink.gdb
# source .gdb-dashboard
set history save on
set confirm off
set pagination off
define rebootloop
while (1)
run
end
end
target extended-remote :2331
load
monitor reset
monitor semihosting enable
monitor semihosting IOClient 3
continue
My main.rs code is:
#![no_std]
#![no_main]
#[macro_use]
extern crate delog;
generate_macros!();
// pick a panicking behavior
use panic_halt as _; // you can put a breakpoint on `rust_begin_unwind` to catch panics
// use panic_abort as _; // requires nightly
// use panic_itm as _; // logs messages over ITM; requires ITM support
// use panic_semihosting as _; // logs messages to the host stderr; requires a debugger
use cortex_m::asm;
use cortex_m_rt::entry;
#[entry]
fn main() -> ! {
// asm::nop(); // To not have main optimize to abort in release mode, remove when you add code
info_now!("In main");
loop {
// your code goes here
}
}
When I run code, it does not print anything and goes in the forever loop. I tried to add a breakpoint at "info_now!("In main");" but even after breakpoint, it always goes to loop. I am assuming my memory.x might be messed up.
memory.x
MEMORY
{
/* NOTE 1 K = 1 KiBi = 1024 bytes */
/* TODO Adjust these memory regions to match your device memory layout */
/* These values correspond to the LM3S6965, one of the few devices QEMU can emulate */
FLASH : ORIGIN = 0x00000000, LENGTH = 512K
FILESYSTEM: ORIGIN = 0x00080000, LENGTH = 118K
/* for use with standard link.x */
RAM : ORIGIN = 0x20000000, LENGTH = 256K
}
terminal output:
cargo run --release --features log-all,log-info,log-semihosting
warning: unused import: `cortex_m::asm`
--> src/main.rs:14:5
|
14 | use cortex_m::asm;
| ^^^^^^^^^^^^^
|
= note: `#[warn(unused_imports)]` on by default
warning: `test-rust-cortex-app` (bin "test-rust-cortex-app") generated 1 warning (run `cargo fix --bin "test-rust-cortex-app"` to apply 1 suggestion)
Finished release [optimized + debuginfo] target(s) in 0.08s
Running `arm-none-eabi-gdb -q -x jlink.gdb target/thumbv8m.main-none-eabi/release/test-rust-cortex-app`
Reading symbols from target/thumbv8m.main-none-eabi/release/test-rust-cortex-app...
test_rust_cortex_app::__cortex_m_rt_main () at /Users/tarun.yadav/Desktop/test-rust-cortex-app/src/main.rs:22
22 loop {
Loading section .vector_table, size 0x400 lma 0x0
Loading section .text, size 0x27c lma 0x400
Start address 0x00000400, load size 1660
Transfer rate: 13280 bits in <1 sec, 830 bytes/write.
Resetting target
Semi-hosting enabled (Handle on breakpoint instruction hit)
Semihosting I/O set to TELNET and GDB Client
^C
Program received signal SIGTRAP, Trace/breakpoint trap.
cortex_m_rt::Reset () at src/lib.rs:526
526 () => main(),
(gdb) break main.rs:18
Breakpoint 1 at 0x3c (2 locations)
(gdb) run
Starting program: /Users/tarun.yadav/Desktop/test-rust-cortex-app/target/thumbv8m.main-none-eabi/release/test-rust-cortex-app
[New Thread 57005]
[Switching to Thread 57005]
Thread 2 hit Breakpoint 1, test_rust_cortex_app::__cortex_m_rt_main () at /Users/tarun.yadav/Desktop/test-rust-cortex-app/src/main.rs:22
22 loop {
The text was updated successfully, but these errors were encountered:
I am trying to run the sample code on my LPCXpresso55S69 board. My goal is just to print "in main" on my terminal through main function. I am using following
jlink.gdb
My
main.rs
code is:When I run code, it does not print anything and goes in the forever loop. I tried to add a breakpoint at "info_now!("In main");" but even after breakpoint, it always goes to
loop
. I am assuming mymemory.x
might be messed up.memory.x
terminal output:
The text was updated successfully, but these errors were encountered: